diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java index 67cd6aa2d77670d08edd0607b4ddcea82b552b7b..62e26faf820d9f3910de106c7a364e98de792439 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java @@ -192,6 +192,14 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends public void rollbackTransaction(DataSetRegistrationService<T> service, DataSetRegistrationTransaction<T> transaction, DataSetStorageAlgorithmRunner<T> algorithmRunner, Throwable ex) + { + invokeRollbackTransactionFunction(service, transaction, algorithmRunner, ex); + super.rollbackTransaction(service, transaction, algorithmRunner, ex); + } + + private void invokeRollbackTransactionFunction(DataSetRegistrationService<T> service, + DataSetRegistrationTransaction<T> transaction, + DataSetStorageAlgorithmRunner<T> algorithmRunner, Throwable ex) { PythonInterpreter interpreter = getInterpreterFromService(service); PyFunction function = tryJythonFunction(interpreter, ROLLBACK_TRANSACTION_FUNCTION_NAME); @@ -199,8 +207,6 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends { invokeRollbackTransactionFunction(function, service, transaction, algorithmRunner, ex); } - - super.rollbackTransaction(service, transaction, algorithmRunner, ex); } private PyFunction tryJythonFunction(PythonInterpreter interpreter, String functionName)