[Tickets #7394] persist the syncml state in multiserver environments
bugs at horde.org
bugs at horde.org
Thu Sep 25 19:15:46 UTC 2008
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/7394
------------------------------------------------------------------------------
Ticket | 7394
Created By | adrieder at sbox.tugraz.at
Summary | persist the syncml state in multiserver environments
Queue | SyncML
Type | Enhancement
State | New
Priority | 2. Medium
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
adrieder at sbox.tugraz.at (2008-09-25 15:15) wrote:
I'm not sure if this is a bug therefore I write this feature request:
In a setup which uses multiple loadbalanced servers with a shared
session backend (memcached) it can happen that the loadbalancer
redirects requests which belong to the same sync session to different
servers, e.g. when the database (calendar for e.g.) is large the sync
is divided into more then one request:
Here is a log for such a case:
DEBUG: Backend of class SyncML_Backend_Horde created
DEBUG: Started at 2008-09-25 20:49:48. Packet logged in
/tmp/sync/client_10.wbxml
DEBUG: New session created: 3baf28e3f425a8aa4cb8281f978e16ee
DEBUG: Checking authentication for user riederd
DEBUG: Authenticated: yes; version: 1.2; message ID: 1; source URI:
IMEI:xxxxxxxxxxxxxx; target URI: ....
[....]
DEBUG: Return message completed
DEBUG: Finished at 2008-09-25 20:49:48. Packet logged in
/tmp/sync/server_10.wbxml
DEBUG: Backend of class SyncML_Backend_Horde created
DEBUG: Started at 2008-09-25 20:49:55. Packet logged in
/tmp/sync/client_11.wbxml
DEBUG: Existing session continued: 3baf28e3f425a8aa4cb8281f978e16ee
DEBUG: Authenticated: yes; version: 1.2; message ID: 2; source URI:
IMEI:xxxxxxxxxxxxxx; target URI: ....
DEBUG: Created device class SyncML_Device_Nokia
DEBUG: Created device class SyncML_Device_Nokia
DEBUG: Received <Final> from client.
DEBUG: Handle <Final> for state Sync
DEBUG: Creating <Sync> output for server changes in database ./notes
DEBUG: Created device class SyncML_Device_Nokia
DEBUG: Compiling server changes from 1970-01-01 01:00:00 to
2008-09-25 20:49:48
[...]
DEBUG: Sending add from server: 20070628193702. at webmail.tugraz.at
DEBUG: Sending add from server: 20070628193732. at webmail.tugraz.at
DEBUG: Maximum message size 65535 approached during add; current size: 65072
DEBUG: Return message completed
DEBUG: Finished at 2008-09-25 20:50:00. Packet logged in
/tmp/sync/server_11.wbxml
the next request is switched to another server, which results into a
authentication error:
DEBUG: Backend of class SyncML_Backend_Horde created
DEBUG: Started at 2008-09-25 20:50:16. Packet logged in
/tmp/sync/client_10.wbxml
DEBUG: New session created: 3baf28e3f425a8aa4cb8281f978e16ee
DEBUG: Invalid authentication
DEBUG: Authenticated: no; version: 1.2; message ID: 3; source URI:
IMEI:xxxxxxxxxxxxxx; target URI:
ERR: Not authenticated while processing MapItem
ERR: Not authenticated while processing MapItem
[....]
ERR: Not authenticated while processing MapItem
DEBUG: Return message completed
DEBUG: Finished at 2008-09-25 20:50:17. Packet logged in
/tmp/sync/server_10.wbxml
It seems that $_SESSION['SyncML.state'] gets lost between the requests
when they go from different servers.
In other Horde applications (like IMP) it is no problem when different
requests go to different servers.
Would it be possible to keep the Session active for different servers?
More information about the bugs
mailing list