On Jan 27, 2015, at 4:19 PM, Chuck Hill <[email protected]> wrote:
> Are you using this?
>
> /**
> * This class implements EOF stack pooling including EOF stack synchronizing.
> * It provides a special ERXEC.Factory in order to work without any changes
> in existing
> * applications. The number of EOObjectStoreCoordinators can be set with the
> * system Property
> <code>er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators</code>.
> * Each Session will become one EOObjectStoreCoordinator and the method
> * <code>newEditingContext</code> will always return an
> <code>EOEditingContext</code>
> * with the same <code>EOObjectStoreCoordinator</code> for the same
> <code>WOSession</code>.
> * This first release uses round-robin pooling, future versions might use
> better algorithms
> * to decide which <code>EOObjectStoreCoordinator</code> will be used for the
> next new
> * <code>WOSession</code>.<br>The code is tested in a heavy multithreaded
> application
> * and afawk no deadlock occures, neither in EOF nor directly in Java.
> *
> * @author David Teran, Frank Caputo @ cluster9
> */
> public class ERXObjectStoreCoordinatorPool {
I think so. From a different thread:
another weird case: this application is run single-instance (but
ERXObjectStoreCoordinatorPool.maxCoordinators=3,
WOAllowsConcurrentRequestHandling=true).
>
>
>
> On 2015-01-27, 3:04 PM, "OC" wrote:
>
> Hello there,
>
> since I wrote an awk script to check whether my OSCs get unlocked properly,
> I've bumped into one very strange thing in the locks.
>
> First, my code is pretty straightforward (assuming we should lock OSC at all,
> which is debatable -- based on http://terminalapp.net/dr-optimistic-locking/;
> Chuck says well all right, though it should be sufficient to catch some
> notifications instead):
>
> ===
> EOEditingContext ec=auction.editingContext()
> EOObjectStore osc=ec.rootObjectStore()
> osc.lock()
> try {
> logln "$osc LOCKED FOR CU $sess.currentUser.login"
> EOEditingContext tempec=ERXEC.newEditingContext()
> ... creating localInstanceIn as needed, updating them as
> appropriate …
Wat?
http://i0.kym-cdn.com/photos/images/newsfeed/000/173/580/Wat.jpg?1315930588
I don’t understand why this would be necessary, and I’m afraid to ask ;-)
Anyway,
//You should be doing this if you want to ensure a peer ec in the same osc
EOEditingContext tempec = ERXEC.newEditingContext(osc);
> tempec.saveChanges()
> println "... saved successfully!"
> } catch (exc) {
> ... reporting and logging error -- does not happen ...
> } finally {
> osc.unlock()
> println "$osc UNLOCKED FOR CU $sess.currentUser.login"
> }
> ===
>
> and in one place in my logs, there is
>
> ===
> 26.1 14:06:03:
> er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] LOCKED FOR
> CU CEZProdej
> ... saved successfully!
> 26.1 14:06:03:
> er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] LOCKED FOR
> CU EPETas
> ... saved successfully!
> er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] UNLOCKED
> FOR CU CEZProdej
> er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] UNLOCKED
> FOR CU EPETas
> ===
>
> What the darn?!? This should not be possible, or am I completely missing the
> point of osc.lock()?!? :-O
>
> In the vicinity, all the other logs looks all right, no exception not other
> error reported.
>
> As usual, I'll be pretty grateful for any insight,
> OC
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com
>
> This email sent to [email protected]
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]