Improvements to the upgrade script
This commit is contained in:
parent
07de58fe21
commit
079c610ffc
@ -164,10 +164,12 @@ public class DefaultDataUpdateService implements DataUpdateService {
|
|||||||
rateLimitsUpdater.updateEntities();
|
rateLimitsUpdater.updateEntities();
|
||||||
break;
|
break;
|
||||||
case "3.4.0":
|
case "3.4.0":
|
||||||
if (System.getProperty("TB_EVENTS_MIGRATION", "false").equalsIgnoreCase("true")) {
|
String skipEventsMigration = System.getenv("TB_SKIP_EVENTS_MIGRATION");
|
||||||
log.info("Updating data from version 3.3.4 to 3.4.0 ...");
|
if (skipEventsMigration == null || skipEventsMigration.equalsIgnoreCase("false")) {
|
||||||
|
log.info("Updating data from version 3.4.0 to 3.4.1 ...");
|
||||||
eventService.migrateEvents();
|
eventService.migrateEvents();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new RuntimeException("Unable to update data, unsupported fromVersion: " + fromVersion);
|
throw new RuntimeException("Unable to update data, unsupported fromVersion: " + fromVersion);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,6 +54,17 @@ public class SqlEventCleanupRepository extends JpaAbstractDaoListeningExecutorSe
|
|||||||
public void migrateEvents(long regularEventTs, long debugEventTs) {
|
public void migrateEvents(long regularEventTs, long debugEventTs) {
|
||||||
callMigrateFunction("migrate_regular_events", regularEventTs, partitionConfiguration.getRegularPartitionSizeInHours());
|
callMigrateFunction("migrate_regular_events", regularEventTs, partitionConfiguration.getRegularPartitionSizeInHours());
|
||||||
callMigrateFunction("migrate_debug_events", debugEventTs, partitionConfiguration.getDebugPartitionSizeInHours());
|
callMigrateFunction("migrate_debug_events", debugEventTs, partitionConfiguration.getDebugPartitionSizeInHours());
|
||||||
|
try (Connection connection = dataSource.getConnection();
|
||||||
|
PreparedStatement dropFunction1 = connection.prepareStatement("DROP PROCEDURE IF EXISTS migrate_regular_events");
|
||||||
|
PreparedStatement dropFunction2 = connection.prepareStatement("DROP PROCEDURE IF EXISTS migrate_debug_events");
|
||||||
|
PreparedStatement dropTable = connection.prepareStatement("DROP TABLE IF EXISTS event")) {
|
||||||
|
dropFunction1.execute();
|
||||||
|
dropFunction2.execute();
|
||||||
|
dropTable.execute();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
log.error("SQLException occurred during drop of the `events` table", e);
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void callMigrateFunction(String functionName, long startTs, int partitionSizeInHours) {
|
private void callMigrateFunction(String functionName, long startTs, int partitionSizeInHours) {
|
||||||
@ -63,7 +74,10 @@ public class SqlEventCleanupRepository extends JpaAbstractDaoListeningExecutorSe
|
|||||||
stmt.setInt(2, partitionSizeInHours);
|
stmt.setInt(2, partitionSizeInHours);
|
||||||
stmt.execute();
|
stmt.execute();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
log.error("[{}] SQLException occurred during execution of {} with parameters {} and {}", functionName, startTs, partitionSizeInHours, e);
|
if (e.getMessage() == null || !e.getMessage().contains("relation \"event\" does not exist")) {
|
||||||
|
log.error("[{}] SQLException occurred during execution of {} with parameters {} and {}", functionName, startTs, partitionSizeInHours, e);
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user