-
Bug
-
Resolution: Done
-
Major
-
1.1.0.Final
-
None
Unlike ChunkRunner::run
there is currently no transaction created on rollback checkpoint in ChunkRunner::rollbackCheckpoint
This results in an exception during rollback checkpoint when performing operations inside one of the open() methods that require a transaction to be present.
Replacing lines 621-630 with the following fixes the issue for me.
tm.begin(); try { itemReader.open(stepOrPartitionExecution.getReaderCheckpointInfo()); processingInfo.readPosition = processingInfo.checkpointPosition; itemWriter.open(stepOrPartitionExecution.getWriterCheckpointInfo()); tm.commit(); } catch (Exception e) { tm.rollback(); // An error occurred, safely close the reader and writer safeClose(); throw e; }