[Tickets #12588] Re: Activesync Ping Request Limit

noreply at bugs.horde.org noreply at bugs.horde.org
Tue Aug 20 15:02:23 UTC 2013


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/12588
------------------------------------------------------------------------------
  Ticket             | 12588
  Updated By         | Michael Rubinsky <mrubinsk at horde.org>
  Summary            | Activesync Ping Request Limit
  Queue              | Synchronization
  Version            | Git master
  Type               | Enhancement
-State              | New
+State              | Feedback
  Priority           | 1. Low
  Milestone          |
  Patch              |
-Owners             |
+Owners             | Michael Rubinsky
------------------------------------------------------------------------------


Michael Rubinsky <mrubinsk at horde.org> (2013-08-20 15:02) wrote:

We already have code that does this. See:  
Horde_ActiveSync_Collections::pollForChanges(). We store the starting  
timestamp of each PING or Heartbeat SYNC request in the syncCache,  
then on each iteration of the PING/SYNC loop we verify that the  
timestamp of the currently running sync is not older than the  
timestamp stored in the syncCache (which would indicate another PING  
process has started). With this code, there should never be more than  
2 running PING requests at anytime, and the older request should  
detect that it's stale and die.

If this is not working for you, I would need to see the synclog  
covering the requests that this is failing for.

FWIW I wanted to use a semaphore to monitor this, but the shared  
memory functions in PHP needed to do this are not present on every  
system. Horde_Cache could be used, but there is no guarantee that one  
is available. At some point, I'll probably end up sniffing out the  
available capabilities then fall back to the syncCache method though  
this will add complexity.





More information about the bugs mailing list