diff --git a/dbrepo-auth-service/listeners/create-event-listener.jar b/dbrepo-auth-service/listeners/create-event-listener.jar index 619a4f21a6aee3b83552bf2e1b159ded4dd382f8..fb1458371a5ce51be8ca63a9421a621e0ef09ce3 100644 Binary files a/dbrepo-auth-service/listeners/create-event-listener.jar and b/dbrepo-auth-service/listeners/create-event-listener.jar differ diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java index 8f66d35842eecf75da0ad637f91d27ee2ca02aa2..fc756583688e0a6a6864a646d0b04b4461474fcb 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java @@ -42,22 +42,38 @@ public class AccessServiceMariaDbImpl extends DataConnector implements AccessSer long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseCreateUserQuery(user.getUsername(), user.getPassword())) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("create user in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_user") + .log(); /* grant access */ final String grants = access != AccessTypeDto.READ ? grantDefaultWrite : grantDefaultRead; start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseGrantPrivilegesQuery(user.getUsername(), grants)) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("grant user privileges in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "grant_user_privileges") + .log(); /* grant query store */ start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseGrantProcedureQuery(user.getUsername(), "store_query")) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("grant procedure privileges in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "grant_procedure_privileges") + .log(); /* apply access rights */ start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseFlushPrivilegesQuery()); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("flush privileges in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "flush_privileges") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -81,7 +97,11 @@ public class AccessServiceMariaDbImpl extends DataConnector implements AccessSer final long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseGrantPrivilegesQuery(user.getUsername(), grants)) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("update privileges in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "grant_user_privileges") + .log(); /* apply access rights */ connection.prepareStatement(mariaDbMapper.databaseFlushPrivilegesQuery()); connection.commit(); @@ -105,12 +125,20 @@ public class AccessServiceMariaDbImpl extends DataConnector implements AccessSer long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseRevokePrivilegesQuery(user.getUsername())) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("revoke privileges in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "grant_user_privileges") + .log(); /* apply access rights */ start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseFlushPrivilegesQuery()) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("flush privileges in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "flush_privileges") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java index 2178f89707949077bc9bbf254a408abd84e4e72b..0cd04b304def0ef9812a57594460ab8c1f07af3b 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java @@ -56,10 +56,16 @@ public class CacheServiceImpl implements CacheService { if (!forceReload) { final DatabaseDto cacheDatabase = databaseCache.getIfPresent(id); if (cacheDatabase != null) { - log.trace("found database with id {} in cache", id); + log.atTrace() + .setMessage("found database with id " + id + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheDatabase; } - log.debug("database with id {} not it cache (anymore): reload from metadata service", id); + log.atTrace() + .setMessage("reload database from metadata service with id " + id + " in cache") + .addKeyValue("cache_hit", false) + .log(); } final DatabaseDto database = gateway.getDatabaseById(id); databaseCache.put(id, database); @@ -77,10 +83,16 @@ public class CacheServiceImpl implements CacheService { MetadataServiceException, TableNotFoundException { final TableDto cacheTable = tableCache.getIfPresent(tableId); if (cacheTable != null) { - log.trace("found table with id {} in cache", tableId); + log.atTrace() + .setMessage("found table with id " + tableId + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheTable; } - log.debug("table with id {} not it cache (anymore): reload from metadata service", tableId); + log.atTrace() + .setMessage("reload table from metadata service with id " + tableId + " in cache") + .addKeyValue("cache_hit", false) + .log(); final TableDto table = gateway.getTableById(databaseId, tableId); tableCache.put(tableId, table); return table; @@ -91,10 +103,16 @@ public class CacheServiceImpl implements CacheService { TableMalformedException, QueryMalformedException, SQLException { final TableStatisticDto cacheStatistic = statisticCache.getIfPresent(view.getId()); if (cacheStatistic != null) { - log.trace("found view statistic with id {} in cache", view.getId()); + log.atTrace() + .setMessage("found view with id " + view.getId() + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheStatistic; } - log.debug("view statistic with id {} not it cache (anymore): reload", view.getId()); + log.atTrace() + .setMessage("reload view from metadata service with id " + view.getId() + " in cache") + .addKeyValue("cache_hit", false) + .log(); final TableStatisticDto statistic = tableService.getStatistics(database, view.getInternalName()); statistic.setTotalRows(tableService.getCount(database, view.getInternalName(), Instant.now())); statisticCache.put(view.getId(), statistic); @@ -106,10 +124,16 @@ public class CacheServiceImpl implements CacheService { ContainerNotFoundException { final ContainerDto cacheContainer = containerCache.getIfPresent(id); if (cacheContainer != null) { - log.trace("found container with id {} in cache", id); + log.atTrace() + .setMessage("found container with id " + id + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheContainer; } - log.debug("container with id {} not it cache (anymore): reload from metadata service", id); + log.atTrace() + .setMessage("reload container from metadata service with id " + id + " in cache") + .addKeyValue("cache_hit", false) + .log(); final ContainerDto container = gateway.getContainerById(id); containerCache.put(id, container); return container; @@ -120,10 +144,16 @@ public class CacheServiceImpl implements CacheService { MetadataServiceException, ViewNotFoundException { final ViewDto cacheView = viewCache.getIfPresent(viewId); if (cacheView != null) { - log.trace("found view with id {} in cache", viewId); + log.atTrace() + .setMessage("found view with id " + viewId + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheView; } - log.debug("view with id {} not it cache (anymore): reload from metadata service", viewId); + log.atTrace() + .setMessage("reload view from metadata service with id " + viewId + " in cache") + .addKeyValue("cache_hit", false) + .log(); final ViewDto view = gateway.getViewById(databaseId, viewId); viewCache.put(viewId, view); return view; @@ -134,10 +164,16 @@ public class CacheServiceImpl implements CacheService { UserNotFoundException { final UserDto cacheUser = userCache.getIfPresent(id); if (cacheUser != null) { - log.trace("found user with id {} in cache", id); + log.atTrace() + .setMessage("found user with id " + id + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheUser; } - log.debug("user with id {} not it cache (anymore): reload from metadata service", id); + log.atTrace() + .setMessage("reload user from metadata service with id " + id + " in cache") + .addKeyValue("cache_hit", false) + .log(); final UserDto user = gateway.getUserById(id); userCache.put(id, user); return user; @@ -148,10 +184,16 @@ public class CacheServiceImpl implements CacheService { MetadataServiceException, NotAllowedException { final DatabaseAccessDto cacheAccess = accessCache.getIfPresent(databaseId); if (cacheAccess != null) { - log.trace("found access for user with id {} to database with id {} in cache", userId, databaseId); + log.atTrace() + .setMessage("found access for user with id " + userId + " in cache") + .addKeyValue("cache_hit", true) + .log(); return cacheAccess; } - log.debug("access for user with id {} to database with id {} not it cache (anymore): reload from metadata service", userId, databaseId); + log.atTrace() + .setMessage("reload access from metadata service with user id " + userId + " in cache") + .addKeyValue("cache_hit", false) + .log(); final DatabaseAccessDto access = gateway.getAccess(databaseId, userId); accessCache.put(databaseId, access); return access; diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java index f4ab2ed2dec88196f9c70aeda0d22735c1afdadf..899f60d685d3d1ed95a329f7949033b91dfe1464 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java @@ -1,17 +1,16 @@ package at.ac.tuwien.ifs.dbrepo.service.impl; +import at.ac.tuwien.ifs.dbrepo.config.RabbitConfig; import at.ac.tuwien.ifs.dbrepo.core.api.container.ContainerDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.internal.CreateDatabaseDto; import at.ac.tuwien.ifs.dbrepo.core.api.user.UserBriefDto; import at.ac.tuwien.ifs.dbrepo.core.exception.DatabaseMalformedException; import at.ac.tuwien.ifs.dbrepo.core.exception.QueryStoreCreateException; -import at.ac.tuwien.ifs.dbrepo.config.RabbitConfig; import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; import at.ac.tuwien.ifs.dbrepo.service.ContainerService; import com.mchange.v2.c3p0.ComboPooledDataSource; import lombok.extern.slf4j.Slf4j; -import org.apache.logging.log4j.message.MapMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -41,8 +40,12 @@ public class ContainerServiceMariaDbImpl extends DataConnector implements Contai final long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseCreateDatabaseQuery(data.getInternalName())) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); connection.commit(); + log.atDebug() + .setMessage("created database: " + data.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_database") + .log(); } catch (SQLException e) { connection.rollback(); log.error("Failed to create database access: {}", e.getMessage()); @@ -74,19 +77,35 @@ public class ContainerServiceMariaDbImpl extends DataConnector implements Contai long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.queryStoreCreateTableRawQuery()) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("created query store in database: " + databaseName) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_query_store") + .log(); start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.queryStoreCreateHashTableProcedureRawQuery()) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("created query store hash table procedure in database: " + databaseName) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_procedure_hash_table") + .log(); start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.queryStoreCreateStoreQueryProcedureRawQuery()) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("created query store procedure in database: " + databaseName) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_procedure_store_query") + .log(); start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.queryStoreCreateInternalStoreQueryProcedureRawQuery()) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("created internal query store procedure in database: " + databaseName) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_procedure_internal_store_query") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java index 266ccf7f13d7bb309cb7520ce16eeb977bebfff9..724ef43b2fd887d7fd87ac14314a90eb6f6d689a 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java @@ -1,8 +1,5 @@ package at.ac.tuwien.ifs.dbrepo.service.impl; -import at.ac.tuwien.ifs.dbrepo.mapper.DataMapper; -import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; -import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.ViewDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.table.TableDto; @@ -10,6 +7,9 @@ import at.ac.tuwien.ifs.dbrepo.core.api.database.table.constraints.unique.Unique import at.ac.tuwien.ifs.dbrepo.core.api.database.table.internal.TableCreateDto; import at.ac.tuwien.ifs.dbrepo.core.api.user.internal.UpdateUserPasswordDto; import at.ac.tuwien.ifs.dbrepo.core.exception.*; +import at.ac.tuwien.ifs.dbrepo.mapper.DataMapper; +import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; +import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import com.google.common.hash.Hashing; import com.mchange.v2.c3p0.ComboPooledDataSource; import lombok.extern.slf4j.Slf4j; @@ -49,7 +49,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement1.setString(2, viewName); log.trace("1={}, 2={}", database.getInternalName(), viewName); final ResultSet resultSet1 = statement1.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("inspected view: " + viewName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_view_schema") + .log(); if (!resultSet1.next()) { throw new ViewNotFoundException("Failed to find view in the information schema"); } @@ -63,7 +67,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement2.setString(2, view.getInternalName()); log.trace("1={}, 2={}", database.getInternalName(), view.getInternalName()); final ResultSet resultSet2 = statement2.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("inspect view columns: " + viewName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_view_columns") + .log(); TableDto tmp = TableDto.builder() .columns(new LinkedList<>()) .build(); @@ -95,7 +103,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas connection.prepareStatement(mariaDbMapper.tableCreateDtoToCreateTableRawQuery(database.getInternalName(), data)) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("created table: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_table") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -131,24 +143,32 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas .databaseId(database.getId()) .columns(new LinkedList<>()) .build(); - log.debug("creating view: {}.{}", database.getInternalName(), view.getInternalName()); try { /* create view if not exists */ - final long start = System.currentTimeMillis(); + long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.viewCreateRawQuery(view.getInternalName(), query)) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("created view: " + view.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "create_view") + .log(); /* select view columns */ + start = System.currentTimeMillis(); final PreparedStatement statement2 = connection.prepareStatement(mariaDbMapper.databaseTableColumnsSelectRawQuery()); statement2.setString(1, database.getInternalName()); statement2.setString(2, view.getInternalName()); final ResultSet resultSet2 = statement2.executeQuery(); + log.atDebug() + .setMessage("created view: " + view.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_view_columns") + .log(); while (resultSet2.next()) { view = dataMapper.resultSetToTable(resultSet2, view); } connection.commit(); } catch (SQLException e) { - log.error("Failed to create table", e); connection.rollback(); log.error("Failed to create view: {}", e.getMessage()); throw new ViewMalformedException("Failed to create view: " + e.getMessage(), e); @@ -171,7 +191,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement.setString(1, database.getInternalName()); final long start = System.currentTimeMillis(); final ResultSet resultSet1 = statement.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("explored views in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_views") + .log(); while (resultSet1.next()) { final String viewName = resultSet1.getString(1); if (viewName.length() == 64) { @@ -208,7 +232,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas final PreparedStatement statement = connection.prepareStatement(mariaDbMapper.databaseTablesSelectRawQuery()); statement.setString(1, database.getInternalName()); final ResultSet resultSet1 = statement.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("explored tables in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_tables") + .log(); while (resultSet1.next()) { final String tableName = resultSet1.getString(1); if (database.getTables().stream().anyMatch(t -> t.getInternalName().equals(tableName))) { @@ -243,7 +271,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement1.setString(2, tableName); log.trace("1={}, 2={}", database.getInternalName(), tableName); TableDto table = dataMapper.schemaResultSetToTable(database, statement1.executeQuery()); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("inspected table: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_table_schema") + .log(); /* obtain columns metadata */ start = System.currentTimeMillis(); final PreparedStatement statement2 = connection.prepareStatement(mariaDbMapper.databaseTableColumnsSelectRawQuery()); @@ -251,7 +283,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement2.setString(2, tableName); log.trace("1={}, 2={}", database.getInternalName(), tableName); final ResultSet resultSet2 = statement2.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("inspect table columns: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_table_columns") + .log(); while (resultSet2.next()) { table = dataMapper.resultSetToTable(resultSet2, table); } @@ -262,7 +298,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement3.setString(2, tableName); log.trace("1={}, 2={}", database.getInternalName(), tableName); final ResultSet resultSet3 = statement3.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("inspect table check constraints: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_table_constraints_check") + .log(); while (resultSet3.next()) { final String clause = resultSet3.getString(1); table.getConstraints() @@ -277,7 +317,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas statement4.setString(2, tableName); log.trace("1={}, 2={}", database.getInternalName(), tableName); final ResultSet resultSet4 = statement4.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("inspect table constraints: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "select_table_constraints") + .log(); while (resultSet4.next()) { table = dataMapper.resultSetToConstraint(resultSet4, table); for (UniqueDto uk : table.getConstraints().getUniques()) { @@ -315,7 +359,11 @@ public class DatabaseServiceMariaDbImpl extends DataConnector implements Databas final long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.databaseSetPasswordQuery(data.getUsername(), data.getPassword())) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("updated user password: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "update_user_password") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java index f6bd0287ae30921333d1842a90424ee526253163..1a2665738ca5f11a7f3911ad1eb22e5ddc057ae4 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java @@ -47,8 +47,11 @@ public class QueueServiceRabbitMqImpl extends DataConnector implements QueueServ } final long start = System.currentTimeMillis(); preparedStatement.executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); - log.trace("successfully inserted tuple"); + log.atDebug() + .setMessage("successfully inserted tuple") + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "insert_tuple") + .log(); } finally { dataSource.close(); } diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java index 22887c8d10d2049943468db739d0c5ed4b051044..d941f5117fb1787bfe00e4d003f8133473bdeb0a 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java @@ -46,21 +46,33 @@ public class StorageServiceS3Impl implements StorageService { @Override public void putObject(String key, byte[] content) { + final long start = System.currentTimeMillis(); s3Client.putObject(PutObjectRequest.builder() .key(key) .bucket(s3Config.getS3Bucket()) .build(), RequestBody.fromBytes(content)); - log.debug("put object in S3 bucket {} with key: {}", s3Config.getS3Bucket(), key); + log.atDebug() + .setMessage("put object in bucket with key: " + key) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "s3_put_object") + .log(); } @Override public InputStream getObject(String bucket, String key) throws StorageNotFoundException, StorageUnavailableException { try { - return s3Client.getObject(GetObjectRequest.builder() + final long start = System.currentTimeMillis(); + final InputStream object = s3Client.getObject(GetObjectRequest.builder() .bucket(bucket) .key(key) .build()); + log.atDebug() + .setMessage("get object from bucket with key: " + key) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "s3_get_object") + .log(); + return object; } catch (NoSuchKeyException e) { log.error("Failed to find object: not found: {}", e.getMessage()); throw new StorageNotFoundException("Failed to find object: not found: " + e.getMessage(), e); @@ -88,19 +100,21 @@ public class StorageServiceS3Impl implements StorageService { @Override public void deleteObject(String key) { + final long start = System.currentTimeMillis(); s3Client.deleteObject(DeleteObjectRequest.builder() .bucket(s3Config.getS3Bucket()) .key(key) .build()); log.atDebug() - .setMessage("deleted object " + key + " in bucket " + s3Config.getS3Bucket()) - .addKeyValue("key", key) - .addKeyValue("bucket", s3Config.getS3Bucket()) + .setMessage("delete object from bucket with key: " + key) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "s3_delete_object") .log(); } @Override public ExportResourceDto transformDataset(Dataset<Row> dataset) throws StorageUnavailableException { + long start = System.currentTimeMillis(); final List<Map<String, String>> inMemory = dataset.collectAsList() .stream() .map(row -> { @@ -111,7 +125,12 @@ public class StorageServiceS3Impl implements StorageService { return map; }) .toList(); - log.debug("collected dataset with {} row(s)", inMemory.size()); + log.atDebug() + .setMessage("transformed dataset with rows: " + inMemory.size()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "dataset_transform") + .log(); + start = System.currentTimeMillis(); try { final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try (Writer w = new OutputStreamWriter(byteArrayOutputStream, Charset.defaultCharset())) { @@ -131,9 +150,15 @@ public class StorageServiceS3Impl implements StorageService { } w.flush(); } + final InputStreamResource resource = new InputStreamResource(new ByteArrayInputStream(byteArrayOutputStream.toByteArray())); + log.atDebug() + .setMessage("transformed dataset to input stream resource") + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "dataset_export") + .log(); return ExportResourceDto.builder() .filename("dataset.csv") - .resource(new InputStreamResource(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()))) + .resource(resource) .build(); } catch (IOException e) { log.error("Failed to transform in-memory dataset: {}", e.getMessage()); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java index 738dfa96429c6ae7458dc04ea50cce629bedc79c..5ba91f2089fa93b4f8d4ae9c81a7325c811c0915 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java @@ -50,13 +50,20 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer @Override public Dataset<Row> getData(DatabaseDto database, String query) throws QueryMalformedException, TableNotFoundException { try { - return sparkSession.read() + final long start = System.currentTimeMillis(); + final Dataset<Row> dataset = sparkSession.read() .format("jdbc") .option("user", database.getContainer().getUsername()) .option("password", database.getContainer().getPassword()) .option("url", getSparkUrl(database)) .option("query", query) .load(); + log.atDebug() + .setMessage("get data from url: " + getSparkUrl(database)) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "jdbc_get_data") + .log(); + return dataset; } catch (Exception e) { if (e instanceof ExtendedAnalysisException && e.getMessage().contains("TABLE_OR_VIEW_NOT_FOUND") || e instanceof SQLSyntaxErrorException && e.getMessage().contains("doesn't exist")) { @@ -98,7 +105,11 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer log.trace("filter persisted only {}", filterPersisted); } final ResultSet resultSet = statement.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("list subsets in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "list_queries") + .log(); final List<QueryDto> queries = new LinkedList<>(); while (resultSet.next()) { final QueryDto query = dataMapper.resultSetToQueryDto(resultSet); @@ -132,7 +143,13 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer final long start = System.currentTimeMillis(); final ResultSet resultSet = connection.prepareStatement(mariaDbMapper.countRawSelectQuery(statement, timestamp)) .executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("count subset in database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "count_query") + .addKeyValue("query", statement) + .addKeyValue("timestamp", timestamp) + .log(); return mariaDbMapper.resultSetToNumber(resultSet); } catch (SQLException e) { log.error("Failed to map object: {}", e.getMessage()); @@ -152,7 +169,11 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer final PreparedStatement preparedStatement = connection.prepareStatement(mariaDbMapper.queryStoreFindQueryRawQuery()); preparedStatement.setString(1, String.valueOf(queryId)); final ResultSet resultSet = preparedStatement.executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("find query in query store of database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "find_query") + .log(); if (!resultSet.next()) { throw new QueryNotFoundException("Failed to find query"); } @@ -190,7 +211,12 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer callableStatement.setTimestamp(3, Timestamp.from(timestamp)); callableStatement.registerOutParameter(4, Types.VARCHAR); callableStatement.executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("store query in query store of database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "store_query") + .addKeyValue("query", query) + .log(); queryId = UUID.fromString(callableStatement.getString(4)); callableStatement.close(); log.info("Stored query with id {} in database with name {}", queryId, database.getInternalName()); @@ -217,7 +243,12 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer preparedStatement.setBoolean(1, persist); preparedStatement.setString(2, String.valueOf(queryId)); preparedStatement.executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("persist query in query store of database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "persist_query") + .addKeyValue("query_id", queryId) + .log(); } catch (SQLException e) { log.error("Failed to (un-)persist query: {}", e.getMessage()); throw new QueryStorePersistException("Failed to (un-)persist query", e); @@ -235,7 +266,11 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer final long start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.queryStoreDeleteStaleQueriesRawQuery()) .executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("delete stale queries in query store of database: " + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "delete_stale_queries") + .log(); } catch (SQLException e) { log.error("Failed to delete stale queries: {}", e.getMessage()); throw new QueryStoreGCException("Failed to delete stale queries: " + e.getMessage(), e); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java index 2382ee09f45d9f4a77282cd137cf3ecc0cb4364b..b4551be7d6ad091f992d37744218312924fe1f6d 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java @@ -69,7 +69,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi statistic = dataMapper.resultSetToTableStatistic(resultSet); statistic.setTotalColumns(Long.parseLong("" + tmpTable.getColumns() .size())); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("get table statistics: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "get_table_statistics") + .log(); statistic.setAvgRowLength(tmpTable.getAvgRowLength()); statistic.setDataLength(tmpTable.getDataLength()); statistic.setMaxDataLength(tmpTable.getMaxDataLength()); @@ -102,14 +106,18 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi final long start = System.currentTimeMillis(); final PreparedStatement statement = connection.prepareStatement( mariaDbMapper.tableNameToUpdateTableRawQuery(database.getInternalName(), table.getInternalName())); - log.trace("prepare with arg 1={}", data.getDescription()); + log.trace("1={}", data.getDescription()); if (data.getDescription() == null) { statement.setString(1, ""); } else { statement.setString(1, data.getDescription()); } statement.executeUpdate(); - log.debug(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("update table comment: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "update_table_comment") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -131,7 +139,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi connection.prepareStatement(mariaDbMapper.dropTableRawQuery(database.getInternalName(), table.getInternalName())) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("delete table: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "delete_table") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -155,7 +167,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi final ResultSet resultSet = connection.prepareStatement(mariaDbMapper.selectHistoryRawQuery( database.getInternalName(), table.getInternalName(), size)) .executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("get table history: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "get_table_history") + .log(); history = dataMapper.resultSetToTableHistory(resultSet); connection.commit(); } catch (SQLException e) { @@ -181,7 +197,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi final ResultSet resultSet = connection.prepareStatement(mariaDbMapper.selectCountRawQuery( database.getInternalName(), tableName, timestamp)) .executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("get table count: " + tableName + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "get_table_count") + .log(); queryResult = mariaDbMapper.resultSetToNumber(resultSet); connection.commit(); } catch (SQLException e) { @@ -211,11 +231,17 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi final String temporaryTable = table.getInternalName() + "_tmp"; final ComboPooledDataSource dataSource = getDataSource(database); final Connection connection = dataSource.getConnection(); + long start = System.currentTimeMillis(); try { /* import tuple */ connection.prepareStatement(mariaDbMapper.copyTableSchemaToRawQuery(table.getInternalName(), temporaryTable)) .execute(); connection.commit(); + log.atDebug() + .setMessage("copy table schema from " + table.getInternalName() + "." + database.getInternalName() + " into temporary table: " + temporaryTable + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_copy_schema") + .log(); } catch (SQLException e) { connection.rollback(); log.atError() @@ -226,10 +252,16 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi } log.debug("copied schema from target table {} to import table: {}", table.getInternalName(), temporaryTable); try { + start = System.currentTimeMillis(); dataset.write() .mode(SaveMode.Overwrite) .option("header", data.getHeader()) .jdbc(getSparkUrl(database), temporaryTable, properties); + log.atDebug() + .setMessage("write data into temporary table: " + temporaryTable + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_import_data") + .log(); } catch (Exception e) { log.atError() .setMessage("Failed to write dataset: schema malformed") @@ -239,10 +271,16 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi } try { /* import tuple */ + start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.temporaryTableToRawMergeQuery(temporaryTable, table.getInternalName(), table.getColumns().stream().map(c -> c.getInternalName()).toList())) .execute(); connection.commit(); + log.atDebug() + .setMessage("merge data from temporary table " + temporaryTable + "." + database.getInternalName() + " into table: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_merge_data") + .log(); } catch (SQLException e) { connection.rollback(); log.atError() @@ -252,19 +290,21 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi throw new MalformedException("Failed to import tuple: " + e.getMessage(), e); } finally { /* delete temporary table */ + start = System.currentTimeMillis(); connection.prepareStatement(mariaDbMapper.dropTableRawQuery(database.getInternalName(), temporaryTable, false)) .execute(); log.debug("deleted temporary table: {}", temporaryTable); connection.commit(); + log.atDebug() + .setMessage("delete temporary table: " + temporaryTable + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_delete_schema") + .log(); dataSource.close(); } storageService.deleteObject(data.getLocation()); - log.atInfo() - .setMessage("Imported dataset into table " + database.getInternalName() + "." + table.getInternalName()) - .addKeyValue("s3_key", data.getLocation()) - .addKeyValue("table_name", database.getInternalName() + "." + table.getInternalName()) - .log(); + log.info("Imported dataset into table {}.{}", database.getInternalName(), table.getInternalName()); } @Override @@ -286,7 +326,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi } final long start = System.currentTimeMillis(); statement.executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("delete tuple in table: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_delete_tuple") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -331,7 +375,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi } final long start = System.currentTimeMillis(); statement.executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("create tuple in table: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_create_tuple") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -368,7 +416,11 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi } final long start = System.currentTimeMillis(); statement.executeUpdate(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("update tuple in table: " + table.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "table_update_tuple") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java index 589b7eda06f36c6204225da610e369298bff42e5..5bf8ad366017b0ab323ad40808e07e890275f379 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java @@ -37,7 +37,11 @@ public class ViewServiceMariaDbImpl extends DataConnector implements ViewService connection.prepareStatement(mariaDbMapper.dropViewRawQuery(database.getInternalName(), view.getInternalName())) .execute(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("delete view: " + view.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "view_delete") + .log(); connection.commit(); } catch (SQLException e) { connection.rollback(); @@ -61,7 +65,11 @@ public class ViewServiceMariaDbImpl extends DataConnector implements ViewService final ResultSet resultSet = connection.prepareStatement(mariaDbMapper.selectCountRawQuery( database.getInternalName(), view.getInternalName(), timestamp)) .executeQuery(); - log.trace(EXECUTED_STATEMENT_MS, System.currentTimeMillis() - start); + log.atDebug() + .setMessage("count view: " + view.getInternalName() + "." + database.getInternalName()) + .addKeyValue("duration", System.currentTimeMillis() - start) + .addKeyValue("action", "count_view") + .log(); queryResult = mariaDbMapper.resultSetToNumber(resultSet); connection.commit(); } catch (SQLException e) { diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar index 619a4f21a6aee3b83552bf2e1b159ded4dd382f8..fb1458371a5ce51be8ca63a9421a621e0ef09ce3 100644 Binary files a/helm/dbrepo/files/create-event-listener.jar and b/helm/dbrepo/files/create-event-listener.jar differ