Commit 9f82e59b2dc3ffadd706c7d01f2bda624025a9aa

Authored by Igor Kulikov
1 parent 2622e15e

Improve Database Upgrade code.

... ... @@ -211,7 +211,13 @@ public class CassandraDatabaseUpgradeService implements DatabaseUpgradeService {
211 211
212 212 private void loadCql(Path cql) throws Exception {
213 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 70 log.info("Updating schema ...");
71 71 Path schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "1.3.1", SCHEMA_UPDATE_SQL);
72 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 75 log.info("Schema updated.");
77 76 break;
... ... @@ -87,8 +86,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
87 86
88 87 log.info("Updating schema ...");
89 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 90 log.info("Schema updated.");
93 91
94 92 log.info("Restoring dashboards ...");
... ... @@ -105,8 +103,7 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
105 103 try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) {
106 104 log.info("Updating schema ...");
107 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 107 log.info("Schema updated.");
111 108 }
112 109 break;
... ... @@ -114,4 +111,10 @@ public class SqlDatabaseUpgradeService implements DatabaseUpgradeService {
114 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 }
... ...