1717import com .datastax .oss .driver .internal .core .pool .ChannelPool ;
1818import com .datastax .oss .driver .internal .core .util .concurrent .CompletableFutures ;
1919import com .datastax .oss .driver .internal .core .util .concurrent .Reconnection ;
20+ import com .datastax .oss .driver .shaded .guava .common .collect .ImmutableList ;
2021import com .google .common .collect .ImmutableMap ;
2122import com .google .common .collect .ImmutableSet ;
2223import com .google .common .util .concurrent .Uninterruptibles ;
@@ -128,9 +129,10 @@ public void should_initialize_all_channels(boolean reuseAddress) {
128129 .withConfigLoader (loader )
129130 .build ()) {
130131 Uninterruptibles .sleepUninterruptibly (1 , TimeUnit .SECONDS );
132+ List <ILoggingEvent > logsCopy = ImmutableList .copyOf (appender .list );
131133 expectedOccurences .forEach (
132- (pattern , times ) -> assertMatchesExactly (pattern , times , appender . list ));
133- forbiddenOccurences .forEach (pattern -> assertNoLogMatches (pattern , appender . list ));
134+ (pattern , times ) -> assertMatchesExactly (pattern , times , logsCopy ));
135+ forbiddenOccurences .forEach (pattern -> assertNoLogMatches (pattern , logsCopy ));
134136 }
135137 }
136138
@@ -150,7 +152,8 @@ public void should_see_mismatched_shard() {
150152 .withConfigLoader (loader )
151153 .build ()) {
152154 Uninterruptibles .sleepUninterruptibly (1 , TimeUnit .SECONDS );
153- assertMatchesAtLeast (shardMismatchPattern , 5 , appender .list );
155+ List <ILoggingEvent > logsCopy = ImmutableList .copyOf (appender .list );
156+ assertMatchesAtLeast (shardMismatchPattern , 5 , logsCopy );
154157 }
155158 }
156159
@@ -178,8 +181,9 @@ public void should_struggle_to_fill_pools() {
178181 CqlSession session3 = CompletableFutures .getUninterruptibly (stage3 );
179182 CqlSession session4 = CompletableFutures .getUninterruptibly (stage4 ); ) {
180183 Uninterruptibles .sleepUninterruptibly (20 , TimeUnit .SECONDS );
181- assertNoLogMatches (shardMismatchPattern , appender .list );
182- assertMatchesAtLeast (generalReconnectionPattern , 8 , appender .list );
184+ List <ILoggingEvent > logsCopy = ImmutableList .copyOf (appender .list );
185+ assertNoLogMatches (shardMismatchPattern , logsCopy );
186+ assertMatchesAtLeast (generalReconnectionPattern , 8 , logsCopy );
183187 }
184188 }
185189
@@ -226,11 +230,12 @@ public void should_not_struggle_to_fill_pools() {
226230 + Pattern .quote (node2 )
227231 + ":19042.*Reconnection attempt complete, 66/66 channels.*" ),
228232 1 * sessions );
233+ List <ILoggingEvent > logsCopy = ImmutableList .copyOf (appender .list );
229234 expectedOccurences .forEach (
230- (pattern , times ) -> assertMatchesAtLeast (pattern , times , appender . list ));
231- assertNoLogMatches (shardMismatchPattern , appender . list );
232- assertMatchesAtMost (reconnectionPattern1 , tolerance , appender . list );
233- assertMatchesAtMost (reconnectionPattern2 , tolerance , appender . list );
235+ (pattern , times ) -> assertMatchesAtLeast (pattern , times , logsCopy ));
236+ assertNoLogMatches (shardMismatchPattern , logsCopy );
237+ assertMatchesAtMost (reconnectionPattern1 , tolerance , logsCopy );
238+ assertMatchesAtMost (reconnectionPattern2 , tolerance , logsCopy );
234239 }
235240 }
236241
0 commit comments