Commit 9f82e59b2dc3ffadd706c7d01f2bda624025a9aa

Authored by Igor Kulikov
1 parent 2622e15e

Improve Database Upgrade code.

@@ -211,7 +211,13 @@ public class CassandraDatabaseUpgradeService implements DatabaseUpgradeService { @@ -211,7 +211,13 @@ public class CassandraDatabaseUpgradeService implements DatabaseUpgradeService {
211 211
212 private void loadCql(Path cql) throws Exception { 212 private void loadCql(Path cql) throws Exception {
213 List<String> statements = new CQLStatementsParser(cql).getStatements(); 213 List<String> statements = new CQLStatementsParser(cql).getStatements();
214 - statements.forEach(statement -> installCluster.getSession().execute(statement)); 214 + statements.forEach(statement -> {
  215 + installCluster.getSession().execute(statement);
  216 + try {
  217 + Thread.sleep(2500);
  218 + } catch (InterruptedException e) {}
  219 + });
  220 + Thread.sleep(5000);
215 } 221 }
216 222
217 } 223 }
@@ -70,8 +70,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService { @@ -70,8 +70,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
70 log.info("Updating schema ..."); 70 log.info("Updating schema ...");
71 Path schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "1.3.1", SCHEMA_UPDATE_SQL); 71 Path schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "1.3.1", SCHEMA_UPDATE_SQL);
72 try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { 72 try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) {
73 - String sql = new String(Files.readAllBytes(schemaUpdateFile), Charset.forName("UTF-8"));  
74 - conn.createStatement().execute(sql); //NOSONAR, ignoring because method used to execute thingsboard database upgrade script 73 + loadSql(schemaUpdateFile, conn);
75 } 74 }
76 log.info("Schema updated."); 75 log.info("Schema updated.");
77 break; 76 break;
@@ -87,8 +86,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService { @@ -87,8 +86,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
87 86
88 log.info("Updating schema ..."); 87 log.info("Updating schema ...");
89 schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "1.4.0", SCHEMA_UPDATE_SQL); 88 schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "1.4.0", SCHEMA_UPDATE_SQL);
90 - String sql = new String(Files.readAllBytes(schemaUpdateFile), Charset.forName("UTF-8"));  
91 - conn.createStatement().execute(sql); //NOSONAR, ignoring because method used to execute thingsboard database upgrade script 89 + loadSql(schemaUpdateFile, conn);
92 log.info("Schema updated."); 90 log.info("Schema updated.");
93 91
94 log.info("Restoring dashboards ..."); 92 log.info("Restoring dashboards ...");
@@ -105,8 +103,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService { @@ -105,8 +103,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
105 try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { 103 try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) {
106 log.info("Updating schema ..."); 104 log.info("Updating schema ...");
107 schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "2.0.0", SCHEMA_UPDATE_SQL); 105 schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "2.0.0", SCHEMA_UPDATE_SQL);
108 - String sql = new String(Files.readAllBytes(schemaUpdateFile), Charset.forName("UTF-8"));  
109 - conn.createStatement().execute(sql); //NOSONAR, ignoring because method used to execute thingsboard database upgrade script 106 + loadSql(schemaUpdateFile, conn);
110 log.info("Schema updated."); 107 log.info("Schema updated.");
111 } 108 }
112 break; 109 break;
@@ -114,4 +111,10 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService { @@ -114,4 +111,10 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
114 throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion); 111 throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion);
115 } 112 }
116 } 113 }
  114 +
  115 + private void loadSql(Path sqlFile, Connection conn) throws Exception {
  116 + String sql = new String(Files.readAllBytes(sqlFile), Charset.forName("UTF-8"));
  117 + conn.createStatement().execute(sql); //NOSONAR, ignoring because method used to execute thingsboard database upgrade script
  118 + Thread.sleep(5000);
  119 + }
117 } 120 }