• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ERXObjectStoreCoordinator can be locked twice?!?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ERXObjectStoreCoordinator can be locked twice?!?


  • Subject: Re: ERXObjectStoreCoordinator can be locked twice?!?
  • From: Chuck Hill <email@hidden>
  • Date: Tue, 27 Jan 2015 23:19:24 +0000
  • Thread-topic: ERXObjectStoreCoordinator can be locked twice?!?

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 {




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 ...
            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@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: ERXObjectStoreCoordinator can be locked twice?!?
      • From: Ramsey Gurley <email@hidden>
References: 
 >ERXObjectStoreCoordinator can be locked twice?!? (From: OC <email@hidden>)

  • Prev by Date: ERXObjectStoreCoordinator can be locked twice?!?
  • Next by Date: Re: ERXObjectStoreCoordinator can be locked twice?!?
  • Previous by thread: ERXObjectStoreCoordinator can be locked twice?!?
  • Next by thread: Re: ERXObjectStoreCoordinator can be locked twice?!?
  • Index(es):
    • Date
    • Thread