[MAGNOLIA-4427] Magnolia cannot sync when author and public servers are separate and in separate time zones, because of timestamp check in Receive Filter Created: 30/May/12 Updated: 01/Jun/12 Resolved: 01/Jun/12 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | activation |
| Affects Version/s: | 4.5.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Mike Stran | Assignee: | Milan Divilek |
| Resolution: | Not an issue | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Linux/Tomcat6 in both local author and remote public instance |
||
| Attachments: |
|
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
| Date of First Response: |
| Description |
|
I've looked for at least 6 hours and trolled every google search I can think of to find an answer to this and have considered downloading the code just to comment this out because your system does a timestamp check in ReceiveFilter (info.magnolia.module.exchangesimple.ReceiveFilter) and this timestamp check fails for us because our internal author and production public server are in separate time zones. I'm can't imagine that this is not possible to have this deployed that way correct? If So what mechanism exists for setting up the tolerance, if none then this would seem to be a bug. I have an existing instance running like this but from a prior version of Magnolia (4.2) and it does not apparently do this timestamp check because it doesn't fail like this so it must have been added since 4.2? The exception is thrown on line 309 by the way (or it appears from the subversion browse I did) The actual error code, embedded in the software indicates that the server times MUST be synced or the tolerance set high enough to counter the difference but from what I can see after extensive digging is that there is no place to set this "tolerance" value and I can't sync the times on the servers because they're in different time zones. If There is a cure for this (a place or method to set this tolerance) please, this is absolutely stopping us dead in the water but I can find no references to how to overcome this anywhere in your system. |
| Comments |
| Comment by Milan Divilek [ 01/Jun/12 ] |
|
Hello Mike, this timestamp check in ReceiveFilter was introduced in Magnolia 4.5 version. But this doesn't bring issue when author and production public server are in separate time zones, because it uses java.lang.System.currentTimeMillis() and the returned time from this method doesn't depend on time zones (return same time for any time zones). Issue which you faced is most probably caused by not sync time on yours instances. Using Network Time Protocol on both yours servers should resolve your issue. If not you can set bigger tolerance on your public instance in Configuration - modules/exchange-simple/config/activationDelayTolerance (see attached screenshot). By default this tolerance is set to 30000ms. |