Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 325322 - CommitTransactionIndication: postCommit(false) not called after error in indicating()
Summary: CommitTransactionIndication: postCommit(false) not called after error in indi...
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eike Stepper CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard: offline-01
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-15 05:46 EDT by Erwin Betschart CLA
Modified: 2011-06-23 03:38 EDT (History)
0 users

See Also:


Attachments
Patch v1 - for future reference (3.45 KB, patch)
2010-09-15 05:49 EDT, Eike Stepper CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Erwin Betschart CLA 2010-09-15 05:46:35 EDT
Build Identifier: 4.0

If an exception occurs in IndicationWithResponse.execute(BufferInputStream in, BufferOutputStream out) during doInput() doOutput() will not be executed that is the postCommit() is not called.

Stacktrace:
java.util.ConcurrentModificationException: Attempt by Transaction[26:-15] to modify historical revision: OrganisationContainer@OID3513:0v17
	at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.computeDirtyObject(TransactionCommitContext.java:853)
	at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.computeDirtyObjects(TransactionCommitContext.java:824)
	at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.write(TransactionCommitContext.java:326)
	at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:39)
	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.server.internal.net4j.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:308)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:166)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:120)
	at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating(IndicationWithMonitoring.java:84)
	at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:90)
	at org.eclipse.net4j.signal.Signal.doInput(Signal.java:315)
	at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:63)
	at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(IndicationWithMonitoring.java:63)
	at org.eclipse.net4j.signal.Signal.runSync(Signal.java:240)
	at org.eclipse.net4j.signal.Signal.run(Signal.java:146)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

Reproducible: Sometimes
Comment 1 Eike Stepper CLA 2010-09-15 05:49:23 EDT
Created attachment 178908 [details]
Patch v1 - for future reference
Comment 2 Eike Stepper CLA 2010-09-15 05:50:16 EDT
Committed to HEAD
Comment 3 Eike Stepper CLA 2011-06-23 03:38:00 EDT
Available in R20110608-1407