• 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
Project Wonder ERXEC Locking problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Project Wonder ERXEC Locking problem


  • Subject: Project Wonder ERXEC Locking problem
  • From: Dov Rosenberg <email@hidden>
  • Date: Tue, 25 Nov 2008 13:29:12 -0500
  • Thread-topic: Project Wonder ERXEC Locking problem

Title: Project Wonder ERXEC Locking problem
We converted our app over to Project Wonder to get past some issues we were having with it locking up under load. For the most part the switch seems to have been successful – we were able to run under a sizable load for 24+hours.

Looking thru the logs however I found some errors like the following. A couple of points of note:
  • The app is deployed as a servlet within Tomcat
  • http-8226-Processor22 is an incoming request
  • Thread-2795 was a thread that was spawned off a potentially different http-8226 processor thread. This thread is spawned to do some work asynchronously so the original thread doesn’t need to wait around and can be returned to the user quicker. The thread only gets database keys passed into it, the thread creates its own editing context to do its fetches with. No EO’s or session variables are passed into the thread – just POJO’s
  • We use Project Wonder ERXEC autolocking.
  • We are using the Jgroups Remote synchronization (seems to be working much better after we set the SharedEditingContext to false)

It seems that the thread should be getting a different editingcontext but it seems to be getting a handle to one that was used in the original spawning thread.

QUESTIONS:
  1. Should we use manual locking/unlocking inside the thread?
  2. Should we even bother to use ERXEC inside the thread? Maybe just use the original WO EOEditingContext
  3. Is this error causing us any problems? Should we ignore it? How can we configure Wonder or Log4j properties to mask the error if it is informational only?

Thanks in advance

Dov Rosenberg

7020982 [http-8226-Processor22] WARN er.extensions.eof.ERXEC  - 31311135 Attempting to lock editing context from http-8226-Processor22 that was previously locked in Thread-2795
 Current stack trace: java.lang.Exception: Locked
 at er.extensions.eof.ERXEC.lock(ERXEC.java:448)
        at com.webobjects.appserver.WOSession._awakeInContext(WOSession.java:835)
        at com.webobjects.appserver.WOApplication.restoreSessionWithID(WOApplication.java:1917)
        at er.extensions.appserver.ERXApplication.restoreSessionWithID(ERXApplication.java:1948)
....
 Lock count: 1
 Existing lock: java.lang.Exception: Locked
        at er.extensions.eof.ERXEC.lock(ERXEC.java:448)
        at com.webobjects.eocontrol.EOEditingContext.tryLock(EOEditingContext.java:4632)
        at com.webobjects.eocontrol.EOEditingContext._sendOrEnqueueNotification(EOEditingContext.java:4705)
        at com.webobjects.eocontrol.EOEditingContext._globalIDChanged(EOEditingContext.java:2038)
        at sun.reflect.GeneratedMethodAccessor365.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:122)
        at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:588)
        at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:532)
        at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:562)
        at com.webobjects.eocontrol.EOObjectStoreCoordinator._globalIDsChangedInSubStore(EOObjectStoreCoordinator.java:698)
        at sun.reflect.GeneratedMethodAccessor703.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:122)
        at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:588)
        at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:532)
        at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:562)
        at com.webobjects.eoaccess.EODatabaseContext.commitChanges(EODatabaseContext.java:6377)
        at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:386)
        at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
        at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:981)
        at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:903)
        at com.myCompany.services.tasks.WorkflowTaskWrapper.createAndSaveChanges(WorkflowTaskWrapper.java:104)
....
 Created: java.lang.Exception: Creation
        at er.extensions.eof.ERXEC.<init>(ERXEC.java:353)
        at er.extensions.eof.ERXEC$DefaultFactory._createEditingContext(ERXEC.java:1492)
        at er.extensions.eof.ERXEC$DefaultFactory._newEditingContext(ERXEC.java:1455)
        at er.extensions.eof.ERXObjectStoreCoordinatorPool$MultiOSCFactory._newEditingContext(ERXObjectStoreCoordinatorPool.java:210)
        at er.extensions.eof.ERXObjectStoreCoordinatorPool$MultiOSCFactory._newEditingContext(ERXObjectStoreCoordinatorPool.java:205)
        at er.extensions.eof.ERXEC.newEditingContext(ERXEC.java:1540)
        at er.extensions.appserver.ERXSession.defaultEditingContext(ERXSession.java:352)
        at com.myCompany.services.application.CVSession.initSession(CVSession.java:182)
 _______________________________________________
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: Project Wonder ERXEC Locking problem
      • From: Mike Schrag <email@hidden>
  • Prev by Date: Re: Component that reveals extra value?
  • Next by Date: WO eats HTML comments?
  • Previous by thread: Re: Component that reveals extra value?
  • Next by thread: Re: Project Wonder ERXEC Locking problem
  • Index(es):
    • Date
    • Thread