Thread Locking Exception
Hi All,
Many times while working on MDM via MDM API's I received Thread Locking Exception. This Exception is so severe that it leads MDM Data Manager in hanged state and get resolved only by restarting the server. Sometimes I do not get this exception but Data Manager gets hanged, even I am unable to open Console also. Please answer this question.
Thanks ..
Vibha
Hello All,
Still we haven't able to resolve this issue. We already have SR with oracle. So many logs were captured.
Below is the snippet of seedSchedulerdata.log
${work.dir}Entered Validate methodExiting Validate method------------------------------------------------------------
Start seeding task
job name--> Password Expiration Task
schTaskName--> Password Expiration Task
task class name--> com.thortech.xl.schedule.tasks.tcTskPasswordExpiration
task job disable--> 0
task frequency--> DAILY
task maxRetries--> 5
task retryCount--> 0
task paramName--> Email Definition Name
task paramValue--> Password Expired
task paramTpe--> String
Updating Job :Password Expiration Task with keys
java.lang.Exception: Unable to seed scheduler data due to configuration problems. Contact System Administrator
at oracle.iam.scheduler.seed.SeedSchedulerData.startSeeding(SeedSchedulerData.java:770)
at oracle.iam.scheduler.seed.SeedSchedulerData.main(SeedSchedulerData.java:113)
If any of them faced such issue please help.
Thanks
DK
Similar Messages
-
Em.merge does not throw Optimistic Lock Exception
Hello,
we are using Optimistic Lock Exception in a stateful bean managed transaction.
I am wondering that there is no Optimistic Lock Exception is thrown after em.merge
The Optimistic Lock Exception is primary thrown on em.flush - is this right?
A similar problem is described on
http://www.nabble.com/Optimistic-Lock-Exception-expected-td22742662.html#a22742662
See serveroutput: The EclipseLink-5006-Exception is thrown after an em.flush
14:03:11,657 INFO [STDOUT] updateItem
14:03:11,657 INFO [STDOUT] [EL Finest]: 2009-04-09 14:03:11.657--UnitOfWork(14218007)--Thread(WorkerThread#0[192.168.1.217:4518])--Merge clone with references com.tup.model.Person@131a24c
14:03:11,657 INFO [STDOUT] merged
14:03:11,657 INFO [STDOUT] [EL Finest]: 2009-04-09 14:03:11.657--UnitOfWork(14218007)--Thread(WorkerThread#0[192.168.1.217:4518])--Execute query UpdateObjectQuery(com.tup.model.Person@196649c)
14:03:11,657 INFO [STDOUT] [EL Fine]: 2009-04-09 14:03:11.657--ClientSession(21268424)--Connection(25845065)--Thread(WorkerThread#0[192.168.1.217:4518])--UPDATE mku_person_ver SET first_name = ? WHERE ((ID = ?) AND (((last_name = ?) AND (first_name = ?)) AND (version = ?)))
bind => [Bernd 982, 5, Kuls, Bernd 98, 2009-04-09 13:12:15.0]
14:03:11,672 INFO [STDOUT] [EL Warning]: 2009-04-09 14:03:11.672--UnitOfWork(14218007)--Thread(WorkerThread#0[192.168.1.217:4518])--Exception [EclipseLink-5006] (Eclipse Persistence Services - 1.1.0.r3634): org.eclipse.persistence.exceptions.OptimisticLockException
Exception Description: The object [com.tup.model.Person@196649c] cannot be updated because it has changed or been deleted since it was last read.
Class> com.tup.model.Person Primary Key> [5]
14:03:11,688 INFO [STDOUT] [EL Warning]: 2009-04-09 14:03:11.688--UnitOfWork(14218007)--Thread(WorkerThread#0[192.168.1.217:4518])--javax.persistence.OptimisticLockException: Exception [EclipseLink-5006] (Eclipse Persistence Services - 1.1.0.r3634): org.eclipse.persistence.exceptions.OptimisticLockException
Exception Description: The object [com.tup.model.Person@196649c] cannot be updated because it has changed or been deleted since it was last read.
Class> com.tup.model.Person Primary Key> [5]
14:03:11,688 INFO [STDOUT] OptimisticLockException throws MyApplicationException
14:03:11,688 INFO [STDOUT] MyApplicationException
14:03:11,735 INFO [STDOUT] [EL Finer]: 2009-04-09 14:03:11.735--UnitOfWork(14218007)--Thread(WorkerThread#0[192.168.1.217:4518])--TX afterCompletion callback, status=ROLLEDBACK
14:03:11,750 INFO [STDOUT] [EL Finer]: 2009-04-09 14:03:11.75--UnitOfWork(14218007)--Thread(WorkerThread#0[192.168.1.217:4518])--release unit of work
14:03:11,750 INFO [STDOUT] [EL Finer]: 2009-04-09 14:03:11.75--ClientSession(21268424)--Thread(WorkerThread#0[192.168.1.217:4518])--client released
14:03:11,750 ERROR [BMTInterceptor] BMT stateful bean 'ModelFacade' did not complete user transaction properly status=STATUS_MARKED_ROLLBACK
And by this Exception the transaction's status is set to status=STATUS_MARKED_ROLLBACK.
The transaction can no longer be used.
I want to use this transaction further and wrap the OptimisticLockException into an MyApplicationException
(see serveroutput).
But no change!
Any Ideas ?
Regards,
Martin Kubitza
T&P Bochum/GermanyHi,
are you using JPA or TopLink ? Check if there is another exception thrown that produces the error. You can try and catch (Exception ex), which will catch them all. if this works the obviously you don't catch the right exception
I found a post saying that: "If you trying commit directly after persist w/o doing an explicit
flush then OptimisticLocking Exception maybe nested inside
RollBackException. What is the top most error on stack? You can catch
javax.persistence.PersistenceException and try to do this kind of
error translation
public static void getThrowable(javax.persistence.PersistenceException
perex, int code) {
boolean updateError = false ;
boolean deleteError = false ;
KentException kentex = null ;
Throwable th = null ;
if( perex instanceof org.apache.openjpa.persistence.RollbackException) {
th = perex.getCause();
if(th instanceof OptimisticLockException) {
updateError = true ;
if(perex instanceof OptimisticLockException ){
updateError = true ;
th = perex ;
if(perex instanceof org.apache.openjpa.persistence.EntityNotFoundException) {
deleteError = true ;
th = perex ;
http://n2.nabble.com/OptimisticLockException-confusion.-td210621.html
Frank -
[CDO] Schema Locked Exception after update to CDO 4.4
Hi
after updating to CDO 4.4 i get a Schema locked exception (see below). This happens as soon as i try to commit a new EMF-model to the server (even with a "fresh" server and repository).
I'm using the Derby embedded DBStore with a Security Manager, audits enabled and ensureReferentialIntegrity enabled.
H2 does not work either.
The Exception:
org.eclipse.emf.cdo.util.CommitException: Rollback in DBStore: org.eclipse.net4j.db.DBException: Schema locked: SCHEMA_NAME
at org.eclipse.net4j.internal.db.ddl.DBSchema.assertUnlocked(DBSchema.java:278)
at org.eclipse.net4j.internal.db.ddl.DBTable.assertUnlocked(DBTable.java:340)
at org.eclipse.net4j.internal.db.ddl.DBTable.addField(DBTable.java:104)
at org.eclipse.net4j.internal.db.ddl.DBTable.addField(DBTable.java:89)
at org.eclipse.emf.cdo.server.db.mapping.AbstractTypeMapping.createDBField(AbstractTypeMapping.java:162)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.initFields(AbstractHorizontalClassMapping.java:197)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.<init>(AbstractHorizontalClassMapping.java:107)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalBranchingClassMapping.<init>(HorizontalBranchingClassMapping.java:205)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalBranchingMappingStrategy.doCreateClassMapping(HorizontalBranchingMappingStrategy.java:62)
at org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.createClassMapping(AbstractMappingStrategy.java:659)
at org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.mapClasses(AbstractMappingStrategy.java:651)
at org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.mapPackageInfos(AbstractMappingStrategy.java:627)
at org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.mapPackageUnits(AbstractMappingStrategy.java:616)
at org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.createMapping(AbstractMappingStrategy.java:538)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalMappingStrategy.createMapping(HorizontalMappingStrategy.java:144)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writePackageUnits(DBStoreAccessor.java:849)
at org.eclipse.emf.cdo.spi.server.StoreAccessor.doWrite(StoreAccessor.java:81)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.doWrite(DBStoreAccessor.java:828)
at org.eclipse.emf.cdo.spi.server.StoreAccessorBase.write(StoreAccessorBase.java:152)
at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.write(TransactionCommitContext.java:651)
at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:48)
at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:1)
at org.eclipse.net4j.util.om.monitor.ProgressDistributor.run(ProgressDistributor.java:96)
at org.eclipse.emf.cdo.internal.server.Repository.commitUnsynced(Repository.java:1133)
at org.eclipse.emf.cdo.internal.server.Repository.commit(Repository.java:1126)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:320)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:105)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndicationWithMonitoring.indicating(CDOServerIndicationWithMonitoring.java:110)
at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating(IndicationWithMonitoring.java:98)
at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:100)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:330)
at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:73)
at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(IndicationWithMonitoring.java:67)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:254)
at org.eclipse.net4j.signal.Signal.run(Signal.java:149)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)Hi Samuel,
This is the typical exception which occurs when you change your
metamodel and the models stored in CDO repo haven't been migrated.
Best Regards.
Le 13/07/2015 17:14, Samuel Leisering a écrit :
> Hi
>
> after updating to CDO 4.4 i get a Schema locked exception (see below).
> This happens as soon as i try to commit a new EMF-model to the server
> (even with a "fresh" server and repository).
> I'm using the Derby embedded DBStore with a Security Manager, audits
> enabled and ensureReferentialIntegrity enabled.
>
> H2 does not work either.
>
> The Exception:
>
> org.eclipse.emf.cdo.util.CommitException: Rollback in DBStore:
> org.eclipse.net4j.db.DBException: Schema locked: SCHEMA_NAME
> at
> org.eclipse.net4j.internal.db.ddl.DBSchema.assertUnlocked(DBSchema.java:278)
>
> at
> org.eclipse.net4j.internal.db.ddl.DBTable.assertUnlocked(DBTable.java:340)
> at
> org.eclipse.net4j.internal.db.ddl.DBTable.addField(DBTable.java:104)
> at org.eclipse.net4j.internal.db.ddl.DBTable.addField(DBTable.java:89)
> at
> org.eclipse.emf.cdo.server.db.mapping.AbstractTypeMapping.createDBField(AbstractTypeMapping.java:162)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.initFields(AbstractHorizontalClassMapping.java:197)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.<init>(AbstractHorizontalClassMapping.java:107)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalBranchingClassMapping.<init>(HorizontalBranchingClassMapping.java:205)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalBranchingMappingStrategy.doCreateClassMapping(HorizontalBranchingMappingStrategy.java:62)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.createClassMapping(AbstractMappingStrategy.java:659)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.mapClasses(AbstractMappingStrategy.java:651)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.mapPackageInfos(AbstractMappingStrategy.java:627)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.mapPackageUnits(AbstractMappingStrategy.java:616)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.AbstractMappingStrategy.createMapping(AbstractMappingStrategy.java:538)
>
> at
> org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalMappingStrategy.createMapping(HorizontalMappingStrategy.java:144)
>
> at
> org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writePackageUnits(DBStoreAccessor.java:849)
>
> at
> org.eclipse.emf.cdo.spi.server.StoreAccessor.doWrite(StoreAccessor.java:81)
> at
> org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.doWrite(DBStoreAccessor.java:828)
>
> at
> org.eclipse.emf.cdo.spi.server.StoreAccessorBase.write(StoreAccessorBase.java:152)
>
> at
> org.eclipse.emf.cdo.internal.server.TransactionCommitContext.write(TransactionCommitContext.java:651)
>
> at
> org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:48)
>
> at
> org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:1)
>
> at
> org.eclipse.net4j.util.om.monitor.ProgressDistributor.run(ProgressDistributor.java:96)
>
> at
> org.eclipse.emf.cdo.internal.server.Repository.commitUnsynced(Repository.java:1133)
>
> at
> org.eclipse.emf.cdo.internal.server.Repository.commit(Repository.java:1126)
> at
> org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:320)
>
> at
> org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:105)
>
> at
> org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndicationWithMonitoring.indicating(CDOServerIndicationWithMonitoring.java:110)
>
> at
> org.eclipse.net4j.signal.IndicationWithMonitoring.indicating(IndicationWithMonitoring.java:98)
>
> at
> org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:100)
>
> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:330)
> at
> org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:73)
>
> at
> org.eclipse.net4j.signal.IndicationWithMonitoring.execute(IndicationWithMonitoring.java:67)
>
> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:254)
> at org.eclipse.net4j.signal.Signal.run(Signal.java:149)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
>
Esteban Dugueperoux - Obeo
Need professional services for Sirius?
http://www.obeodesigner.com/sirius -
Apologize for this cross-post but I posted in in probably wrong group
Found several WLS Jrockit Threads LOCKED. We are using jrockit81sp2rp1_141_06
System got HUNG
All MUXERS are LOCKED show SocketResetException that seems funny ?
Thanks
Harish
[enablersthreaddump.txt]Hi,
I'm also facing the same problem, but my server is WLI 8.1 SP2. When we restarted the server for couple of times, it started working fine. but why it is coming? also restarting production server is not a possible solution.
Any one has answers?
Thanks,
Chandra. T -
Hi,
I'm using LDAP with Active Directory.
When I run a query, the very first time, results are correctly
populated. Every successive query then fails, with a thread aborted
exception:
Message: Thread was being aborted.
Stack Trace:
at System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntP tr
socketHandle, Byte* pinnedBuffer, Int32 len, SocketFlags socketFlags)
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset,
Int32 size, SocketFlags socketFlags, SocketError& errorCode)
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset,
Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32
offset, Int32 size)
at System.IO.Stream.ReadByte()
at Novell.Directory.Ldap.Asn1.Asn1Identifier..ctor(St ream
in_Renamed)
at Novell.Directory.Ldap.Connection.ReaderThread.Run( )
Could anyone help with why this is happening?
Thanks,
Nedar
nedar
nedar's Profile: http://forums.novell.com/member.php?userid=78416
View this thread: http://forums.novell.com/showthread.php?t=401581nedar;1936674 Wrote:
> I did try simply replacing the dll, but that did not help.
Can you encapsulate the failure into a test harness and post the code
some place? If you are running latest libraries... and you do get a
correct run the first time through... perhaps the issue is in the way
you are using them.
Also, have you seen 'similar'
(http://developer.cisco.com/web/cuae/.../105446316CEF7)
error? Seems to involve the FQN / BaseDN being used... same stack
traces, essentially. Specifically:
> DC=cisco,DC=com is reproducing the same error on my side. "o=cisco.com"
> is working fine.
>
> Basically, the correct format of BaseDN for your specific ldap server
> is needed to make the Query work. You may be able to look at your ldap
> server to figure correct format.
>
-- Bob
Bob Mahar -- Novell Knowledge Partner
Do you do what you do at a .EDU? http://novell.com/ttp
"Programming is like teaching a jellyfish to build a house."
http://twitter.com/BobMahar http://vimeo.com/boborama
Bob-O-Rama's Profile: http://forums.novell.com/member.php?userid=5269
View this thread: http://forums.novell.com/showthread.php?t=401581 -
Pessimistic lock exception in a clustered environment
Hello,
i am using distributed Cache(DataCache) in a Cluster environment
(Weblogic 7.0 cluster).
I got one AdminServer and two ManagedServer running on the same machine.
The problem occurs when i am using optimistic locking. It seems to be that
the cache is not beeing synchronized, when i am successivly persisting
objects and therfore get optimistic lock exceptions.
When i am using pessimistic locking there is no problem.
Waht could be the reason for this, maybe the case the all instances
running on the same machine?
My properties for the cache are the following:
com.solarmetric.kodo.DataCacheClass=de.d2vodafone.webe.common.security.
authorization.jdo.Cache (Cache is a subclass of UDPCache)
com.solarmetric.kodo.DataCacheProperties=UseMulticast=true
MulticastGroup=224.0.0.123 (is unique in my environment)
In the log of my server i got the following messages:
ignoring update from localhost
####<12.02.2003 13:25:11 CET> <Error> <EJB> <pc120514> <ManagedServer2>
<ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel
identity> <> <010026> <Exception during commit of transaction
4:b57355e6636065c2: javax.jdo.JDOUserException: Errors were detected when
flushing to the data store. If using optimistic transactions, this could
indicate that lock violations were detected. The "getNestedExceptions"
method of this Exception will return the specific errors.
NestedThrowables:
javax.jdo.JDOUserException:
An instance was concurrently modified in another transaction (optimistic
lock #: 3).
FailedObject:de.webe.common.security.authorization.DomainImpl-5
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:551)
at
com.solarmetric.kodo.ee.EEPersistenceManager.beforeCompletion(EEPersistenceManager.java:192)
at
weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:540)
at
weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:92)
at
weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1044)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1581)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl.createUser(AuthorizationServiceBean_8zrrq4_EOImpl.java:170)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
NestedThrowablesStackTrace:
javax.jdo.JDOUserException: An instance was concurrently modified in
another transaction (optimistic lock #: 3).
FailedObject:de.d2vodafone.webe.common.security.authorization.DomainImpl-5
at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping$1.afterUpdate(ClassMapping.java:611)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:563)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:512)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:406)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:273)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:421)
at
com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:296)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:549)
at
com.solarmetric.kodo.ee.EEPersistenceManager.beforeCompletion(EEPersistenceManager.java:192)
at
weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:540)
at
weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:92)
at
weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1044)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1581)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
de.d2vodafone.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl.createUser(AuthorizationServiceBean_8zrrq4_EOImpl.java:170)
at
de.d2vodafone.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in
beforeCompletion: sync=com.solarmetric.kodo.ee.EEPersistenceManager@472ddf
Errors were detected when flushing to the data store. If using optimistic
transactions, this could indicate that lock violations were detected. The
"getNestedExceptions" method of this Exception will return the specific
errors. - with nested exception:
[javax.jdo.JDOUserException: Errors were detected when flushing to the
data store. If using optimistic transactions, this could indicate that
lock violations were detected. The "getNestedExceptions" method of this
Exception will return the specific errors.
NestedThrowables:
javax.jdo.JDOUserException: An instance was concurrently modified in
another transaction (optimistic lock #: 3).
FailedObject:de.d2vodafone.webe.common.security.authorization.DomainImpl-5]
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1561)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:284)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl.createUser(AuthorizationServiceBean_8zrrq4_EOImpl.java:170)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
Thanks for your help
Best Regards
Orhan KeskinOrhan-
Is this consistently reproducable, or a rare or one-time occurance? If
the former, it may be a configuration issue, and we will investigatge
along that path.
If it is a rare or one-time occurance, keep in mind that data cache
synchronization does not guarantee that you will be able to avoid
optimistic locking exceptions. Whenever using optimistic locking, you
always need to assume that someday, someone is going to violate that
lock, unless you place some sort of synchronization atop all the
database access (e.g., an EJB). It makes any application much more error
prone (especially since an OL exception is a RuntimeException, and
frequently people forget that it always needs to be checked for).
Anyway, if you provide us with some more details, we will be able to
investigate further.
In article <[email protected]>, Orhan Keskin wrote:
Hello,
i am using distributed Cache(DataCache) in a Cluster environment
(Weblogic 7.0 cluster).
I got one AdminServer and two ManagedServer running on the same machine.
The problem occurs when i am using optimistic locking. It seems to be that
the cache is not beeing synchronized, when i am successivly persisting
objects and therfore get optimistic lock exceptions.
When i am using pessimistic locking there is no problem.
Waht could be the reason for this, maybe the case the all instances
running on the same machine?
My properties for the cache are the following:
com.solarmetric.kodo.DataCacheClass=de.d2vodafone.webe.common.security.
authorization.jdo.Cache (Cache is a subclass of UDPCache)
com.solarmetric.kodo.DataCacheProperties=UseMulticast=true
MulticastGroup=224.0.0.123 (is unique in my environment)
In the log of my server i got the following messages:
ignoring update from localhost
####<12.02.2003 13:25:11 CET> <Error> <EJB> <pc120514> <ManagedServer2>
<ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel
identity> <> <010026> <Exception during commit of transaction
4:b57355e6636065c2: javax.jdo.JDOUserException: Errors were detected when
flushing to the data store. If using optimistic transactions, this could
indicate that lock violations were detected. The "getNestedExceptions"
method of this Exception will return the specific errors.
NestedThrowables:
javax.jdo.JDOUserException:
An instance was concurrently modified in another transaction (optimistic
lock #: 3).
FailedObject:de.webe.common.security.authorization.DomainImpl-5
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:551)
at
com.solarmetric.kodo.ee.EEPersistenceManager.beforeCompletion(EEPersistenceManager.java:192)
at
weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:540)
at
weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:92)
at
weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1044)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1581)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl.createUser(AuthorizationServiceBean_8zrrq4_EOImpl.java:170)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
NestedThrowablesStackTrace:
javax.jdo.JDOUserException: An instance was concurrently modified in
another transaction (optimistic lock #: 3).
FailedObject:de.d2vodafone.webe.common.security.authorization.DomainImpl-5
at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping$1.afterUpdate(ClassMapping.java:611)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:563)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:512)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:406)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:273)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:421)
at
com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:296)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:549)
at
com.solarmetric.kodo.ee.EEPersistenceManager.beforeCompletion(EEPersistenceManager.java:192)
at
weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:540)
at
weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:92)
at
weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1044)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1581)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
de.d2vodafone.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl.createUser(AuthorizationServiceBean_8zrrq4_EOImpl.java:170)
at
de.d2vodafone.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in
beforeCompletion: sync=com.solarmetric.kodo.ee.EEPersistenceManager@472ddf
Errors were detected when flushing to the data store. If using optimistic
transactions, this could indicate that lock violations were detected. The
"getNestedExceptions" method of this Exception will return the specific
errors. - with nested exception:
[javax.jdo.JDOUserException: Errors were detected when flushing to the
data store. If using optimistic transactions, this could indicate that
lock violations were detected. The "getNestedExceptions" method of this
Exception will return the specific errors.
NestedThrowables:
javax.jdo.JDOUserException: An instance was concurrently modified in
another transaction (optimistic lock #: 3).
FailedObject:de.d2vodafone.webe.common.security.authorization.DomainImpl-5]
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1561)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:284)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl.createUser(AuthorizationServiceBean_8zrrq4_EOImpl.java:170)
at
de.webe.common.security.authorization.jdo.AuthorizationServiceBean_8zrrq4_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
Thanks for your help
Best Regards
Orhan Keskin
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Thread lock in WL 8.1-on jRockit (queryMbeans)
I have noticed in our thread dumps of Weblogic 8.1 managed servers, the following lock:
"ExecuteThread: '2' for queue: 'weblogic.admin.RMI'" id=186 idx=0x182 tid=5292 prio=5 alive, in native, native_blocked, daemon
at jrockit/vm/Allocator.allocLargeArray(JIZ)Ljava/lang/Object;(Native Method)
at jrockit/vm/Allocator.allocArray(JIZ)Ljava/lang/Object;(Unknown Source)
at java/util/HashMap.resize(I)V(Unknown Source)
at java/util/HashMap.addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V(Unknown Source)
at java/util/HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at java/util/HashSet.add(Ljava/lang/Object;)Z(HashSet.java:192)
at com/sun/management/jmx/RepositorySupport.query(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;(RepositorySupport.java:241)
at com/sun/management/jmx/MBeanServerImpl.queryMBeans(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;(MBeanServerImpl.java:1042)
^-- Holding lock: weblogic/management/internal/RemoteMBeanServerImpl@0x2000000008e78fc0[fat lock]
at weblogic/management/internal/RemoteMBeanServerImpl.queryMBeans(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;(RemoteMBeanServerImpl.java:911)
at com/sun/management/jmx/MBeanServerImpl.queryNames(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;(MBeanServerImpl.java:1075)
at weblogic/management/internal/MBeanHomeImpl.mbeanServerQuery(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;(MBeanHomeImpl.java:487)
at weblogic/management/internal/MBeanHomeImpl.getMBeansByClass(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/Set;(MBeanHomeImpl.java:311)
at weblogic/management/internal/MBeanHomeImpl_WLSkel.invoke(ILweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;Ljava/lang/Object;)Lweblogic/rmi/spi/OutboundResponse;(Unknown Source)
at weblogic/rmi/internal/BasicServerRef.invoke(Lweblogic/rmi/extensions/server/RuntimeMethodDescriptor;Lweblogic/rmi/spi/InboundRequest;Lweblogic/rmi/spi/OutboundResponse;)V(BasicServerRef.java:492)
at weblogic/rmi/internal/BasicServerRef$1.run()Ljava/lang/Object;(BasicServerRef.java:435)
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(AuthenticatedSubject.java:363)
at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(SecurityManager.java:147)
at weblogic/rmi/internal/BasicServerRef.handleRequest(Lweblogic/rmi/spi/InboundRequest;)V(BasicServerRef.java:430)
at weblogic/rmi/internal/BasicExecuteRequest.execute(Lweblogic/kernel/ExecuteThread;)V(BasicExecuteRequest.java:35)
at weblogic/kernel/ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
at weblogic/kernel/ExecuteThread.run()V(ExecuteThread.java:183)
at jrockit/vm/RNI.c2java(JJJJ)V(Native Method)
-- end of trace
Then a big number of other threads are blocked by this lock. An example is:
"ExecuteThread: '1' for queue: 'HZOZMsgEjbExecuteThreadQueue'" id=17 idx=0x30 tid=5123 prio=5 alive, in native, blocked, daemon
-- Blocked trying to get lock: weblogic/management/internal/RemoteMBeanServerImpl@0x2000000008e78fc0[fat lock]
at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)
at jrockit/vm/Locks.fatLockBlockOrSpin(JLjrockit/vm/ObjectMonitor;II)V(Unknown Source)
at jrockit/vm/Locks.lockFat(Ljava/lang/Object;JLjrockit/vm/ObjectMonitor;Z)Ljava/lang/Object;(Unknown Source)
at jrockit/vm/Locks.monitorEnterSecondStage(Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)
at jrockit/vm/Locks.monitorEnter(Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at com/sun/management/jmx/MBeanServerImpl.internal_addObject(Ljava/lang/Object;Ljavax/management/ObjectName;)V(MBeanServerImpl.java:2379)
at com/sun/management/jmx/MBeanServerImpl.registerMBean(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;(MBeanServerImpl.java:876)
at weblogic/management/internal/RemoteMBeanServerImpl.private_registerMBean(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;(RemoteMBeanServerImpl.java:614)
at weblogic/management/internal/RemoteMBeanServerImpl.registerMBean(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;(RemoteMBeanServerImpl.java:554)
at weblogic/management/runtime/RuntimeMBeanDelegate.register()V(RuntimeMBeanDelegate.java:166)
at weblogic/management/runtime/RuntimeMBeanDelegate.<init>(Ljava/lang/String;Lweblogic/management/runtime/RuntimeMBean;Z)V(RuntimeMBeanDelegate.java:122)
at weblogic/management/runtime/RuntimeMBeanDelegate.<init>(Ljava/lang/String;Lweblogic/management/runtime/RuntimeMBean;)V(RuntimeMBeanDelegate.java:85)
at weblogic/jms/frontend/FEConnection.<init>(Lweblogic/jms/frontend/FEConnectionFactory;Ljava/lang/String;Lweblogic/jms/common/JMSID;Lweblogic/jms/dispatcher/Dispatcher;IIJJJJLjava/lang/String;JZZIIIZZ)V(FEConnection.java:183)
at weblogic/jms/frontend/FEConnectionFactory$1.run()Ljava/lang/Object;(FEConnectionFactory.java:434)
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(AuthenticatedSubject.java:363)
at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;(SecurityManager.java:147)
at weblogic/jms/frontend/FEConnectionFactory.connectionCreateInternal(Lweblogic/jms/dispatcher/DispatcherWrapper;Z)Lweblogic/jms/client/JMSConnection;(FEConnectionFactory.java:430)
at weblogic/jms/frontend/FEConnectionFactory.connectionCreate(Lweblogic/jms/dispatcher/DispatcherWrapper;)Lweblogic/jms/client/JMSConnection;(FEConnectionFactory.java:371)
at weblogic/jms/client/JMSConnectionFactory.createConnectionInternal(Ljava/lang/String;Ljava/lang/String;Z)Lweblogic/jms/client/JMSConnection;(JMSConnectionFactory.java:148)
at weblogic/jms/client/JMSConnectionFactory.createQueueConnection()Ljavax/jms/QueueConnection;(JMSConnectionFactory.java:75)
at gr/cosmote/common/util/UtilLib.putObjToQueue(IILjava/io/Serializable;JLgr/cosmote/common/bus/LoginInfo;)V(UtilLib.java:664)
at gr/cosmote/common/util/UtilLib.putObjToQueue(IILjava/io/Serializable;Lgr/cosmote/common/bus/LoginInfo;)V(UtilLib.java:636)
at gr/cosmote/bus/session/HZOZQueueBean.handleMozartCallbackVO(Lgr/cosmote/common/bus/mozartVOs/MozartCallbackVO;)V(HZOZQueueBean.java:418)
at gr/cosmote/bus/session/HZOZQueueBean.onMessage(Ljavax/jms/Message;)V(HZOZQueueBean.java:191)
at weblogic/ejb20/internal/MDListener.execute(Lweblogic/kernel/ExecuteThread;)V(MDListener.java:400)
at weblogic/ejb20/internal/MDListener.transactionalOnMessage(Ljavax/jms/Message;)V(MDListener.java:333)
at weblogic/ejb20/internal/MDListener.onMessage(Ljavax/jms/Message;)V(MDListener.java:298)
at weblogic/jms/client/JMSSession.onMessage(Ljavax/jms/MessageListener;Lweblogic/jms/common/MessageImpl;)V(JMSSession.java:2686)
at weblogic/jms/client/JMSSession.execute(Lweblogic/kernel/ExecuteThread;)V(JMSSession.java:2598)
at weblogic/kernel/ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
at weblogic/kernel/ExecuteThread.run()V(ExecuteThread.java:183)
at jrockit/vm/RNI.c2java(JJJJ)V(Native Method)
-- end of trace
What is this 'weblogic.admin.RMI' queue?
What I understand so far is that the object that appears as locked (RemoteMBeanServerImpl) is used to initiate and instantiate ejb/rmi calls from the managed servers. Does it attempt some sort of connection to the admin? Something else quite interesting that I read somewhere, that when this call (queryMBeans) is performed, the result is handled by a non thread-safe collection object which could (as a result of a weblogic bug) result in an infinite loop.
By the way, our set up is 1 cluster, 4 managed servers in 4 different machines. The admin is installed along with one of the managed. All servers are configured to start/stop/run independently.
Anybody any ideas?hi,
What is this 'weblogic.admin.RMI' queue has the threads executing the calls from remote managed servers to the Admin Server and from the Admin Server to the managed servers for internal status updates.
There was a bug in wls 8.1 where the call the to the admin server from all the managed server in the cluster used to create a thread lock state.
Contact the Oracle support for the related CR and the patch.
thanks,
Sandeep -
Dear Moderator,
I wanted to know the answers of some questions which were asked to me during interview. So I posted those questions in the Forum on 1st December. But today when I logged in to check the answers, I found the thread locked. Can you please let me know on what basis a thread is locked.
Regards,
D. Mallick
Moved from Test and Playground forum.
Edited by: kishan P on Dec 3, 2010 11:22 PMI can remember moving one of them which several forum members where complaining about (understandably).
I mean... I can imagine encountering a thread called "questions" even although it is a meaninglessly stupid subject title, but what are we to find usefull in answers ??
Get some fresh air over the weekend. You have some reading to do next week.
Cheers,
Julius -
I'm trying to get a good handle on the reason there are restrictions on threading/locking
semantics used from within application code dealing with EJBs. I think the idea
is the application code shouldn't do anything to interfere with the locking of
the ejbs done from within the container at various stages in their lifecycle.
So, I shouldn't subject the bean implemenation class to any explicit synch. But
what about spawning threads from within my EJBs? In 3rd party classes used by
my EJBs?
Any clear explanation is gratefully appreciated.
MaxMax
See section 24.1.2 "Programming restrictions" in the ejb20 final release specification.
Thanks
Jim
Max wrote:
I'm trying to get a good handle on the reason there are restrictions on threading/locking
semantics used from within application code dealing with EJBs. I think the idea
is the application code shouldn't do anything to interfere with the locking of
the ejbs done from within the container at various stages in their lifecycle.
So, I shouldn't subject the bean implemenation class to any explicit synch. But
what about spawning threads from within my EJBs? In 3rd party classes used by
my EJBs?
Any clear explanation is gratefully appreciated.
Max[Reply.vcf] -
JSP + EJB + IE + resize = lock exceptions
I'm getting odd behavior when I resize IE 5.5 with a Servlet/JSP loaded
that references some EJB's. I'm getting dozens of page reloads, followed
(eventually) by the server getting lock exceptions thrown from the
EJB's.
I've tried adjust the HTTP headers to allow for caching, but that
doesn't seem to help. Does this sound familar to anyone?
--Paul
A wholly owned subsidiary of:
Schroendinger: DS Bd+W G+Y 10 Y+ L+ W- C+ I++ T++/---
A+ E++ H+ S++ V++ F- Q++ P B+ PA PL-
Dirac : DS Bs+W G+Y 10 X L- W C+ I+ T+
A E- H+ S V+ F- Q++ P++ B+ PA+ PL+
I'm getting odd behavior when I resize IE 5.5 with a Servlet/JSP loaded
that references some EJB's. I'm getting dozens of page reloads, followed
(eventually) by the server getting lock exceptions thrown from the
EJB's.
I've tried adjust the HTTP headers to allow for caching, but that
doesn't seem to help. Does this sound familar to anyone?
--Paul
A wholly owned subsidiary of:
Schroendinger: DS Bd+W G+Y 10 Y+ L+ W- C+ I++ T++/---
A+ E++ H+ S++ V++ F- Q++ P B+ PA PL-
Dirac : DS Bs+W G+Y 10 X L- W C+ I+ T+
A E- H+ S V+ F- Q++ P++ B+ PA+ PL+
-
Another question:
I'm getting some optimistic lock exceptions for object which I believe
should only be modified in a single transaction. How can I see the context
in which each modification took place?
What is the definition of a 'modification', i.e. what operations on an
object take an optimistic lock?
Thanks,
TomTom-
In article <blj328$1i4$[email protected]>, Tom Davies wrote:
>
Another question:
I'm getting some optimistic lock exceptions for object which I believe
should only be modified in a single transaction. How can I see the context
in which each modification took place?Try catching the lock exception and getting the FailedObject to see which
object failed.
You could also track which objects are being saved by
implementing javax.jdo.InstanceCallbacks and doing some logging in
jdoPreStore(). You could also try watching the SQL log to see if any
suspicious updates are taking place.
What is the definition of a 'modification', i.e. what operations on an
object take an optimistic lock?Any field change or the addition/deletion to any related fields.
Thanks,
Tom--
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
We are noticing performance issue with our production environment. Production environment has a cluster of 6 weblogic instances and the server hangs very often and entire system go down. I have attached thread dump collected from one of the weblogic server. Any idea where is the issue? can you help please.
"ExecuteThread: '19' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x04f92f38 nid=0xb8c runnable [0x0713e000..0x0713fd94]
at java.lang.Throwable.fillInStackTrace(Native Method)
- waiting to lock <0x164ec610> (a java.lang.ClassNotFoundException)
at java.lang.Throwable.<init>(Throwable.java:217)
at java.lang.Exception.<init>(Exception.java:59)
at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:65)
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
- locked <0x173b3428> (a sun.misc.Launcher$AppClassLoader)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
- locked <0x173b3428> (a sun.misc.Launcher$AppClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
- locked <0x173c1900> (a weblogic.utils.classloaders.GenericClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
- locked <0x17387ed8> (a weblogic.utils.classloaders.GenericClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
- locked <0x17dc9028> (a weblogic.utils.classloaders.GenericClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
- locked <0x17db3a88> (a weblogic.utils.classloaders.ChangeAwareClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:224)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:41)
- locked <0x17db3a88> (a weblogic.utils.classloaders.ChangeAwareClassLoader)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
- locked <0x17db3a88> (a weblogic.utils.classloaders.ChangeAwareClassLoader)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:171)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:112)
at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerMethod(BaseDeserializerFactory.java:201)
at org.apache.axis.encoding.ser.BaseDeserializerFactory.getGetDeserializer(BaseDeserializerFactory.java:289)
at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:171)
at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:115)
at org.apache.axis.encoding.ser.SimpleDeserializerFactory.getDeserializerAs(SimpleDeserializerFactory.java:107)
at org.apache.axis.encoding.DeserializationContextImpl.getDeserializer(DeserializationContextImpl.java:452)
at org.apache.axis.encoding.DeserializationContextImpl.getDeserializerForType(DeserializationContextImpl.java:467)
at org.apache.axis.message.MessageElement.getValueAsType(MessageElement.java:571)
at com.axeda.sdk.webservices.handlers.LoginHandler.findLogin(LoginHandler.java:153)
at com.axeda.sdk.webservices.handlers.LoginHandler.handleRequest(LoginHandler.java:99)
at com.axeda.sdk.webservices.handlers.LoginHandler.invoke(LoginHandler.java:78)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:287)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)Try setting the 'Inactive connection timeout' value on the jdbc data source. Looks like your data source hangs. Also would be a good idea to set the 'test connections on reserve' on with test table sql.
-
Hi
I use refreshAndLockObject to lock a record when one thread this record, and when I want to commit, I always got a null pointer exception.
Do you have any idea?
Thanks.
java.lang.NullPointerException
at oracle.toplink.internal.descriptors.MethodAttributeAccessor.getAttributeValueFromObject(MethodAttributeAccessor.java:50)
at oracle.toplink.mappings.DatabaseMapping.getAttributeValueFromObject(DatabaseMapping.java:304)
at oracle.toplink.mappings.AggregateMapping.compareForChange(AggregateMapping.java:225)
at oracle.toplink.internal.descriptors.ObjectBuilder.compareForChange(ObjectBuilder.java:825)
at oracle.toplink.mappings.AggregateMapping.compareForChange(AggregateMapping.java:247)
at oracle.toplink.internal.descriptors.ObjectBuilder.compareForChange(ObjectBuilder.java:825)
at oracle.toplink.publicinterface.UnitOfWork.calculateChanges(UnitOfWork.java:438)
at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1135)
at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:956)
at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:771)
2007-11-08 08:06:58.058 [ERROR][AppServerApp]-[Thread:RMI TCP Connection(37)-9.125.158.93] java.lang.NullPointerException
at oracle.toplink.internal.descriptors.MethodAttributeAccessor.getAttributeValueFromObject(MethodAttributeAccessor.java:50)
at oracle.toplink.mappings.DatabaseMapping.getAttributeValueFromObject(DatabaseMapping.java:304)
at oracle.toplink.mappings.AggregateMapping.compareForChange(AggregateMapping.java:225)
at oracle.toplink.internal.descriptors.ObjectBuilder.compareForChange(ObjectBuilder.java:825)
at oracle.toplink.mappings.AggregateMapping.compareForChange(AggregateMapping.java:247)
at oracle.toplink.internal.descriptors.ObjectBuilder.compareForChange(ObjectBuilder.java:825)
at oracle.toplink.publicinterface.UnitOfWork.calculateChanges(UnitOfWork.java:438)
at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1135)
at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:956)
at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:771)
Message was edited by:
user603840Please post the code that throws the exception.
-
Thread unserialized exception: NotSerializableException: java.lang.Thread
hello experts,
i have this exception coming; seems to be coming from some thread but i removed all the threads from my code, i thought its because of some object which is still unserialized, i am not sure whether this is because of one unserialized object or its because of more reasons, please have a look:
Exception in client main: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Thread
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Thread
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:173)
at BallServerImpl_Stub.getAllBallProxies(Unknown Source)
at CopyOfManyMovingBalls.<init>(CopyOfManyMovingBalls.java:80)
at CopyOfManyMovingBalls$2.run(CopyOfManyMovingBalls.java:294)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Thread
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:155)
... 11 more
this is coming when i m accessing this method:
class BallServerImpl extends UnicastRemoteObject
implements BallServer
* @return an enumeration of all Balls as proxy objects
public Ball[] getAllBallProxies() throws java.rmi.RemoteException
Ball[] locations1 = new Ball[hash.size()];
java.util.Enumeration iter = hash.elements();
int idx = 0;
while (iter.hasMoreElements())
BallImpl impl = (BallImpl)iter.nextElement();
locations1[idx++] = new BallProxy(impl);
return locations1;
why this function is running fine when i m calling this from client unlike getAllBallProxies() nevertheless both are returning the same thing:
* @return an enumeration of all Balls as remote references
public Ball[] getAllBalls()
Ball[] locations = new Ball[hash.size()];
java.util.Enumeration iter = hash.elements();
int idx = 0;
while (iter.hasMoreElements())
locations[idx++] = (Ball)iter.nextElement();
return locations;
the proxy Class:
* The Proxybouncing ball.
public class BallProxy implements Serializable,Ball {
* The Real bouncing ball.
public class BallImpl extends UnicastRemoteObject implements IBallRemote,Serializable
*load of thanks as this is "SHOW STOPPER",
jibbylala*
Edited by: 805185 on Oct 25, 2010 8:33 PM
Edited by: 805185 on Oct 25, 2010 8:39 PM
Edited by: 805185 on Oct 25, 2010 9:21 PM
Edited by: 805185 on Oct 25, 2010 9:25 PM
Edited by: 805185 on Oct 25, 2010 9:27 PM
Edited by: 805185 on Oct 25, 2010 9:46 PMthat there was some thread there in BallProxy but i removed all from them and now testingIf you don't post the code people ask to see, you may never get a useful answer here.
P.S i didn't know that threads are not SerializedThe Thread class is not Serializable. Precision please.
Now i m updating the code, i needed the confirmationConfirmation of what?
and now trying to avoid them.Them?
But what if i need them.Them?
Please make the effort to express yourself clearly. You've already been told you're not making much sense and you haven't done anything about it.
how can we make serialized?The concept of serializing a Thread makes no sense whatsoever. You don't want to do it. You don't need to do it. You can't do it. It wouldn't work if you could do it.
Somewhere or other you have a class member that is a reference to a Thread. Remove it or make it transient. If you post the code somebody may help you. If you don't, nobody can possibly do that. -
OIM DB Row LOCK Exception on Quartz tables
I am facing db row lock error in Prod OIM due to which the Scheduler fails to kick off and an OIM Restart is required to release the lock and start the Scheduler again.
This Error is occuring at any time when none of the scheduler( Custom as well as House Keeping) are scheduled.The OIM Version is 9.0.3.1.
I have enabled Database logs in Debug mode but there are no logs corresponding to the table where lock occured.
This Error was encountered long back with OIM 9.0.1 and was reported as Bug 6491465, but was suspended because of no response from Customer.
The Error trace is as follows
ERROR,11 Sep 2009 16:57:05,497,[org.quartz.core.ErrorLogger],An error occured while scanning for the next trigger to fire.
org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Io exception: Connection reset [See nested exception: java.sql.SQLException: Io ex
ception: Connection reset]
at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.obtainLock(StdRowLockSemaphore.java:154)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.acquireNextTrigger(JobStoreCMT.java:1376)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:231)
* Nested Exception (Underlying Cause) ---------------
java.sql.SQLException: Io exception: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:287)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:515)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.obtainLock(StdRowLockSemaphore.java:137)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.acquireNextTrigger(JobStoreCMT.java:1376)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:231)
Did anyone had ever encountered this error.Any Hints?I would check the network pieces as suggested in our internal emails. If the connection is dropping somewhere on your network, the lock would never be released.
-Kevin
Maybe you are looking for
-
The devices that die right away are the network adapter and any USB memory stick plugged in, they still have their lights and all running but aren't recognized in "This PC" and the network adapter isn't found in "Control Panel\Network and Internet\Ne
-
PowerShell GUIs - Active Directory, Directory Object Picker?
So getting the OpenFileDialog box is amazingly easy in PowerShell so I assumed the DirectoryObjectPicker might also be as easy. However, I cant' find any reference for using PowerShell with the DirectoryObjectPicker. Can it be done? Ultimately, wha
-
How do I permanently delete photos on my macbook 2009?
I moved then to trash and then used "control, option, delete" but no matter how many times I do that they keep showing up again
-
Migrating from G4 10.2 Server to Intel 10.4 Server
I am a relative Server newbie, but an otherwise competent Mac person (I maintain 20 Macs at our office). We currently run Server 10.2 on a G4 tower. Our setup has four users and seven sharepoints (all set up by my predecessor). We do not host website
-
Hi, I ressently install BM 39 and try manage it in Imanager 2.6 Unfortunately there is no rule associate in my iManager even if in 'Configure' 'Installed plugins' I can see : NBMAclConfig 2.0.20070403 Novell BorderManager Access Control Configuration