From: Tim K. <tkl...@ap...> - 2007-02-01 01:52:55
|
Please point out examples/blogs I'm missing instead of a long dissertation, but I wouldn't mind that either! I have configured an application to use ERXObjectStoreCoordinatorPool; I observe processes (connections) on my database (Sybase) increasing until the max setting is reached. It appears that the round-robin methodology kicks in after that as there are no more processes/connections created. Side note: It actually starts with 2 Sybase processes and increases to max + 1. I'm not that concerned with that behavior, but I would prefer to avoid the mystery process. Any help (tips/tricks/log settings) tracking this down is appreciated! Please correct my assumptions below: ERXObjectStoreCoordinatorPool (and associated classes), when properly configured set up a pool of ObjectStores that each have their own database connection. If my web application is configured with er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators = 2, and it has 3 initial users; the first OSC has 2 sessions, the second has 1 session. The round-robin assignment placed them as S1 (session 1) = OSC 1, S2 = OSC 2, S3 = OSC 1. Clear as mud? (I know its really 0, 1 not 1, 2) S1 starts a long running query for unfetched data, and S3 submits a page for another set of unfetched data. I would assume that, like a non-pooled app, the application gets all of S1's data before giving S3 a turn at the database. S2 can ask for any data set it wants as it has its own connection completely separate from S1/S3, correct? I also assume that any data one of the OSC's retain will be synchronized with the other(s) through the behind-the-scene implementation of ERXObjectStoreCoordinatorSynchronizer? Changing topics just a little: ERXJDBCAdaptor's ConnectionBroker I want to understand more of the concept of Oliver's earlier post. Is the concept of the ConnectionBroker to allow more than one database connection per ObjectStore? Would having this setting enabled (to at least 2) prevent the above bottleneck? Does anything else need to be configured to turn this on besides the example in Oliver's email? Thanks for your patience! TNK |