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.ja
va:1917)
at
er.extensions.appserver.ERXApplication.restoreSessionWithID(ERXApplication.j
ava: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(EOEditi
ngContext.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(NSNotific
ationCenter.java:588)
at
com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificati
onCenter.java:532)
at
com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificati
onCenter.java:562)
at
com.webobjects.eocontrol.EOObjectStoreCoordinator._globalIDsChangedInSubStor
e(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(NSNotific
ationCenter.java:588)
at
com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificati
onCenter.java:532)
at
com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificati
onCenter.java:562)
at
com.webobjects.eoaccess.EODatabaseContext.commitChanges(EODatabaseContext.ja
va:6377)
at
com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContex
t(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(Workfl
owTaskWrapper.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._newEditingC
ontext(ERXObjectStoreCoordinatorPool.java:210)
at
er.extensions.eof.ERXObjectStoreCoordinatorPool$MultiOSCFactory._newEditingC
ontext(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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]