Ticket #748 (new defect)

Opened 7 months ago

Last modified 5 weeks ago

Database session handlers have concurrency issues

Reported by: david Owned by: david
Priority: high Milestone: 1.1
Component: storage Version: 0.11.1RC2
Severity: critical Keywords:
Cc: Patch attached: no

Attachments

Change History

Changed 7 months ago by david

  • description modified (diff)

Changed 7 months ago by david

We can attempt to fix it for all storage drivers and, in case of PDO, for all databases, or we provide callbacks for locking similar to those the execution filter has now and people can implement their locking mechanisms in userland (think MySQL InnoDB vs MyISAM - nightmarish)

Changed 7 months ago by jake

David,

while I believe this is an issue, I don't believe it's the one I experienced and described on IRC. The page I was loading had no AJAX component on it. It was an HTML only page, and I still received this error. So, while I think this fix is probably required, it probably isn't going to fix the issue I found. If I can do something to make the troubleshooting process easier, please let me know.

-Blake

Changed 5 months ago by mailing_lists@…

You can have the same problem with pages without ajax components. You just need to have a second component that accesses the session - we could trigger that problem with images that are accessed via php (so we can enforce user rights checking etc). The image takes the place of the ajax component in that case.

Changed 5 months ago by david

Yeah, or just people opening several tabs at the same time.

In a nutshell, the approach we're taking is providing people with hooks they can use to implement their own locking. Lets maybe discuss this over the weekend in more detail

Changed 5 months ago by david

  • milestone changed from 0.11.2 to 0.11.3

Changed 2 months ago by david

  • milestone changed from 0.11.3 to 1.0

I'm moving this to 1.0 as it seems to be a little bit non-trivial to fix; waiting for mark and jake to tackle it

Changed 7 weeks ago by david

we might want to consider moving this to milestone:1.1, see #661 and wiki:Cleanup/Storage

Changed 5 weeks ago by david

moving to 1.1 for now, can always move it back for inclusion in a 1.0.x release, but given how we need to re-build all "storages" anyway, it would mean doing the work twice...

Changed 5 weeks ago by david

  • milestone changed from 1.0 to 1.1

Add/Change #748 (Database session handlers have concurrency issues)

Author



Action
as new
 
Note: See TracTickets for help on using tickets.