]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-12251 fix statement leak in DB migrations
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 28 Jun 2019 15:28:00 +0000 (17:28 +0200)
committerSonarTech <sonartech@sonarsource.com>
Sun, 30 Jun 2019 18:21:05 +0000 (20:21 +0200)
Signed-off-by: Simon Brandhof <simon.brandhof@sonarsource.com>
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/step/MassUpdate.java

index 34547ce1fe785ff886d26bf5a85a50d27ba147b3..b9f9bc402f16f1d17dac7d82ade83195e38a0456 100644 (file)
@@ -90,7 +90,7 @@ public class MassUpdate {
     progress.start();
     try {
       select.scroll(row -> callSingleHandler(handler, updates.iterator().next(), row));
-      closeUpdates();
+      closeStatements();
 
       // log the total number of processed rows
       progress.log();
@@ -105,7 +105,7 @@ public class MassUpdate {
     progress.start();
     try {
       select.scroll(row -> callMultiHandler(handler, updates, row));
-      closeUpdates();
+      closeStatements();
 
       // log the total number of processed rows
       progress.log();
@@ -132,13 +132,14 @@ public class MassUpdate {
     counter.getAndIncrement();
   }
 
-  private void closeUpdates() throws SQLException {
+  private void closeStatements() throws SQLException {
     for (UpsertImpl update : updates) {
       if (update.getBatchCount() > 0L) {
         update.execute().commit();
       }
       update.close();
     }
+    select.close();
   }
 
 }