[Tickets #13231] Re: Hashtable session handler doesn't unlock on session close

noreply at bugs.horde.org noreply at bugs.horde.org
Wed May 28 12:50:23 UTC 2014


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

Ticket URL: http://bugs.horde.org/ticket/13231
------------------------------------------------------------------------------
  Ticket             | 13231
  Updated By         | arjen+horde at de-korte.org
  Summary            | Hashtable session handler doesn't unlock on session
                     | close
  Queue              | Horde Framework Packages
  Version            | Git master
  Type               | Bug
  State              | Feedback
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


arjen+horde at de-korte.org (2014-05-28 12:50) wrote:

> Well, that's how locking works. The question is, why is unlocking  
> not working during the session.

I don't think I fully understand this. Should the lock be released  
*before* or *after* processing the calendar resource?

> Horde_SessionHandler_Storage_Hashtable::close() should be called  
> from PHP, and that should delete() the key from memcache again in  
> Horde_Memcache::unlock().

That is what happens, since all 15 listEvents are serviced eventually.  
The problem I see (but this may be by design, I don't know) is that in  
the implementation of the current Hashtable sessionhandler, the lock  
seems to be removed only when the listEvent completed. Which means  
that effectively, only one listEvent is handled at the same time,  
while other listEvent processes are waiting for the lock to release.

I expected similar behavior as for the Sql or builtin sessionhandlers,  
where all listEvent processes are running concurrently and don't seem  
to have to wait for locks to be released. Maybe these don't lock the  
session data and is that the reason why they are a lot faster in  
updating the calendar view.





More information about the bugs mailing list