From c26ce92326811644977aba4bd0aa5d2921c47c07 Mon Sep 17 00:00:00 2001 From: tpylak <tpylak> Date: Thu, 10 Feb 2011 14:03:33 +0000 Subject: [PATCH] LMS-2033 bugfix from Sekhar: rollback in the right order SVN: 19876 --- .../etlserver/registrator/DataSetStorageAlgorithmRunner.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java index 7cb63dba030..064b62ddb19 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java @@ -226,8 +226,10 @@ public class DataSetStorageAlgorithmRunner<T extends DataSetInformation> // Don't rollback when this exception happens boolean stopped = ex instanceof InterruptedExceptionUnchecked; - for (DataSetStorageAlgorithm<T> storageAlgorithm : dataSetStorageAlgorithms) + // Rollback in the reverse order + for (int i = dataSetStorageAlgorithms.size() - 1; i >= 0; --i) { + DataSetStorageAlgorithm<T> storageAlgorithm = dataSetStorageAlgorithms.get(i); storageAlgorithm.rollbackStorageProcessor(ex); if (stopped == false) -- GitLab