[dna-issues] [JBoss JIRA] Created: (DNA-572) FederatedRepositoryConnection Can Freeze When Exception Thrown from RepositoryConnection.execute(...)

Brian Carothers (JIRA) jira-events at lists.jboss.org
Fri Dec 4 15:22:29 EST 2009


FederatedRepositoryConnection Can Freeze When Exception Thrown from RepositoryConnection.execute(...)
-----------------------------------------------------------------------------------------------------

                 Key: DNA-572
                 URL: https://jira.jboss.org/jira/browse/DNA-572
             Project: DNA
          Issue Type: Bug
          Components: Connectors, Federation
    Affects Versions: 0.6
            Reporter: Brian Carothers
            Priority: Minor
             Fix For: Future Releases


If a runtime exception is thrown from with a RepositoryConnection.execute method, the FederatedRepositoryConnector can get stuck waiting infinitely for a countdown latch on the FederatedRequest. 
 The stack trace for the blocked main thread follows:

Thread [main] (Suspended)	
	Unsafe.park(boolean, long) line: not available [native method]	
	LockSupport.park(Object) line: 158	
	CountDownLatch$Sync(AbstractQueuedSynchronizer).parkAndCheckInterrupt() line: 747	
	CountDownLatch$Sync(AbstractQueuedSynchronizer).doAcquireSharedInterruptibly(int) line: 905	
	CountDownLatch$Sync(AbstractQueuedSynchronizer).acquireSharedInterruptibly(int) line: 1217	
	CountDownLatch.await() line: 207	
	FederatedRequest.await() line: 97	
	JoinRequestProcessor.process(BlockingQueue<FederatedRequest>) line: 141	
	FederatedRepositoryConnection.execute(ExecutionContext, Request) line: 221	
	Graph.execute(Request) line: 267	
	Graph$Batch.execute() line: 4592	
	GraphSession<Payload,PropertyPayload>.save() line: 813	
	SessionCache.save() line: 374	
	JcrSession.save() line: 876	
	SetPropertyStringTest.testSetNullStringArray() line: 362	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	SetPropertyStringTest(TestCase).runTest() line: 168	
	SetPropertyStringTest(TestCase).runBare() line: 134	
	TestResult$1.protect() line: 110	
	JCRTestResult(TestResult).runProtected(Test, Protectable) line: 128	
	JCRTestResult(TestResult).run(TestCase) line: 113	
	SetPropertyStringTest(TestCase).run(TestResult) line: 124	
	SetPropertyStringTest(AbstractJCRTest).run(TestResult) line: 406	
	TestSuite.runTest(Test, TestResult) line: 232	
	TestSuite.run(TestResult) line: 227	
	TestSuite.runTest(Test, TestResult) line: 232	
	TestSuite.run(TestResult) line: 227	
	AllTests(JUnit38ClassRunner).run(RunNotifier) line: 81	
	JUnit4TestClassReference(JUnit4TestReference).run(TestExecution) line: 46	
	TestExecution.run(ITestReference[]) line: 38	
	RemoteTestRunner.runTests(String[], String, TestExecution) line: 467	
	RemoteTestRunner.runTests(TestExecution) line: 683	
	RemoteTestRunner.run() line: 390	
	RemoteTestRunner.main(String[]) line: 197	

This condition can be reproduced by forcing a NullPointerException in the execute method of a connection (e.g., the SimpleJpaConnection). 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the dna-issues mailing list