question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Transaction cannot proceed: STATUS_MARKED_ROLLBACK

See original GitHub issue

Hi, I am experiencing the above error which is very similar to the following issue: https://issues.jboss.org/browse/JBERET-179

When I am reading or processing an item within chunk, the transaction might be marked as roll back only somewhere in bussiness method due to an exception. When the exception is skippable, JBeret does not take any action in case of readItem() nor processItem() methods in ChunkRunner and continues to use the transaction marked for rollback in another chunk round.

The expected behavior would be, similarly to what is done in doCheckpoint(), to roll back the transaction and to begin it again before the new round of the chunk starts:

if (tm.getStatus() == Status.STATUS_MARKED_ROLLBACK) {
	tm.rollback();
	tm.begin();
}

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:14 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
chengfangcommented, Feb 10, 2019

the above revision should fix it, passed my tests. It will be included in the next release jberet-core 1.4.0.Beta1.

0reactions
PoloShockcommented, Feb 9, 2019

since the processingInfo.chunkState, which is queried in the enclosing if statement, is in state RUNNING, so it never reaches the commited code.

Can you more specific? Which line of code in ChunkRunner class? https://github.com/jberet/jsr352/blob/master/jberet-core/src/main/java/org/jberet/runtime/runner/ChunkRunner.java

I was referring to the commit https://github.com/jberet/jsr352/commit/e0618f51208e0de35ef562ee28bd4501484536c9. In current master branch the enclosing if is on line number 311.

Do you have a reproducer test app?

I don’t have a reproducer test app, but the situation should be easily reproducible by marking transaction for rollback and rising a skippable exception in ItemProcessor.processItem method, as I commented earlier.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Transaction cannot proceed STATUS_MARKED_ROLLBACK ...
I was able to solved this issue but not until I've changed the logging of org.jboss and org.hibernate to DEBUG mode.
Read more >
SQLException Transaction Status Rollback in Wra... - JBoss.org
The transaction is marked with status rollback, but I don't have any idea why. No exception, no debug message, nothing.
Read more >
Errors in PCP. Transaction cannot proceed - CloudBlue
Module: "db_service", code = "1" Message: "DBService invocation error: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK".
Read more >
Gen EJB (JBoss EAP) using multiple SQL Server DBs shows ...
SQLException: IJ031070: Transaction cannot proceed: ... Identify and address the reason the transaction was marked for rollback.
Read more >
STATUS_MARKED_ROLLBACK" in JBoss EAP
java.sql.SQLException: IJ031070 : Transaction cannot proceed: STATUS_MARKED_ROLLBACK at org.jboss.jca.adapters.jdbc.WrapperDataSource.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found