diff options
author | Martin Stockhammer <martin_s@apache.org> | 2021-08-29 13:57:22 +0200 |
---|---|---|
committer | Martin Stockhammer <martin_s@apache.org> | 2021-08-29 13:57:22 +0200 |
commit | d0aa5dd63718373102f89f87f37d2201e350e59d (patch) | |
tree | 7f8d8ce4b29b3d234045671be1007fb157b4603c /archiva-modules | |
parent | 20918cb383892f8f79322fb2889262074efe0383 (diff) | |
download | archiva-d0aa5dd63718373102f89f87f37d2201e350e59d.tar.gz archiva-d0aa5dd63718373102f89f87f37d2201e350e59d.zip |
Trying to speed up table truncate
Diffstat (limited to 'archiva-modules')
2 files changed, 20 insertions, 12 deletions
diff --git a/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml index e0f592a7a..477482870 100644 --- a/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml +++ b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml @@ -396,7 +396,7 @@ <addTestClasspath>false</addTestClasspath> <startWaitSeconds>500</startWaitSeconds> <startNativeTransport>true</startNativeTransport> - <logLevel>DEBUG</logLevel> + <logLevel>INFO</logLevel> <loadAfterFirstStart>false</loadAfterFirstStart> <yaml> broadcast_rpc_address: 127.0.0.1 @@ -404,6 +404,7 @@ <systemPropertyVariables> <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack> </systemPropertyVariables> + </configuration> </execution> <execution> diff --git a/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java index 4ab388149..71636efb4 100644 --- a/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java +++ b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java @@ -44,7 +44,10 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; import static com.datastax.oss.driver.api.querybuilder.QueryBuilder.truncate; import static com.datastax.oss.driver.api.querybuilder.SchemaBuilder.dropTable; @@ -72,7 +75,7 @@ public class CassandraMetadataRepositoryTest long cTime; int testNum = 0; - AtomicBoolean clearedTables = new AtomicBoolean( false ); + final AtomicBoolean clearedTables = new AtomicBoolean( false ); @Override @@ -121,8 +124,7 @@ public class CassandraMetadataRepositoryTest if (!clearedTables.get()) { - clearReposAndNamespace( cassandraArchivaManager ); - clearedTables.set( true ); + clearReposAndNamespace( cassandraArchivaManager, clearedTables ); } System.err.println( "Finished setting up - "+testInfo.getDisplayName() + " - " + (System.currentTimeMillis( ) - cTime) +"ms"); } @@ -164,13 +166,12 @@ public class CassandraMetadataRepositoryTest throws Exception { System.err.println( "Shutting down - " + (testNum-1) + " - " + testInfo.getDisplayName( ) + " - " + ( System.currentTimeMillis( ) - cTime ) +"ms"); - clearReposAndNamespace( cassandraArchivaManager ); - clearedTables.set( true ); + clearReposAndNamespace( cassandraArchivaManager, clearedTables ); super.tearDown(); System.err.println( "Shutting down finished - " + testInfo.getDisplayName( ) + " - " + ( System.currentTimeMillis( ) - cTime ) +"ms"); } - static void clearReposAndNamespace( CassandraArchivaManager cassandraArchivaManager ) + static void clearReposAndNamespace( final CassandraArchivaManager cassandraArchivaManager, final AtomicBoolean clearedFlag ) throws Exception { if (cassandraArchivaManager!=null) @@ -188,15 +189,21 @@ public class CassandraMetadataRepositoryTest cassandraArchivaManager.getLicenseFamilyName( ), cassandraArchivaManager.getDependencyFamilyName( ) ); - for ( String table : tables ) - { - session.execute( truncate( table ).build( ) ); - } - + CompletableFuture.allOf( tables.stream( ).map( table -> session.executeAsync( truncate( table ).build( ) ) ) + .map( CompletionStage::toCompletableFuture ).collect( Collectors.toList( ) ).toArray( new CompletableFuture[0] ) ) + .thenAccept( ( c ) -> { + if ( clearedFlag != null ) clearedFlag.set( true ); + } ).get( ) + ; } } else { System.err.println( "cassandraArchivaManager is null" ); } } + static void clearReposAndNamespace( final CassandraArchivaManager cassandraArchivaManager) + throws Exception { + clearReposAndNamespace( cassandraArchivaManager, null ); + } + } |