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

Randall Hauch (JIRA) jira-events at lists.jboss.org
Mon Jan 4 10:04:39 EST 2010


    [ https://jira.jboss.org/jira/browse/DNA-572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12502027#action_12502027 ] 

Randall Hauch commented on DNA-572:
-----------------------------------

Looks great.  I vote to commit.

> 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
>
>         Attachments: DNA-572.patch
>
>
> 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