You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by dc...@apache.org on 2021/11/05 00:46:34 UTC

[cassandra] branch trunk updated: Forbid other Future implementations with checkstyle

This is an automated email from the ASF dual-hosted git repository.

dcapwell pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 2fc7206  Forbid other Future implementations with checkstyle
2fc7206 is described below

commit 2fc7206128384b2b412042ef17ee86cd32fd595c
Author: Benedict Elliott Smith <be...@apple.com>
AuthorDate: Thu Nov 4 14:33:04 2021 -0700

    Forbid other Future implementations with checkstyle
    
    patch by Benedict Elliott Smith; reviewed by David Capwell for CASSANDRA-17055
---
 CHANGES.txt                                        |  1 +
 checkstyle.xml                                     | 22 ++++++++++++++++++++--
 checkstyle_suppressions.xml                        |  3 +--
 .../cassandra/cql3/functions/UDFunction.java       |  2 +-
 src/java/org/apache/cassandra/io/util/File.java    |  4 ++--
 .../org/apache/cassandra/io/util/PathUtils.java    |  2 +-
 .../apache/cassandra/net/AsyncChannelPromise.java  |  2 +-
 .../org/apache/cassandra/net/FutureDelegate.java   |  2 +-
 .../org/apache/cassandra/net/FutureResult.java     |  2 +-
 .../org/apache/cassandra/net/InboundSockets.java   |  2 +-
 .../org/apache/cassandra/net/MessagingService.java |  2 +-
 .../apache/cassandra/net/OutboundConnection.java   |  4 ++--
 .../cassandra/net/OutboundConnectionInitiator.java |  4 ++--
 .../apache/cassandra/net/OutboundConnections.java  |  2 +-
 .../apache/cassandra/streaming/StreamSession.java  |  2 +-
 .../cassandra/streaming/StreamingChannel.java      |  2 +-
 .../async/NettyStreamingConnectionFactory.java     |  2 +-
 .../async/StreamingMultiplexedChannel.java         |  4 +---
 .../apache/cassandra/transport/SimpleClient.java   |  2 +-
 src/java/org/apache/cassandra/utils/Clock.java     |  4 ++--
 .../cassandra/utils/binlog/BinLogArchiver.java     |  2 +-
 .../cassandra/utils/binlog/DeletingArchiver.java   |  2 +-
 .../cassandra/utils/binlog/ExternalArchiver.java   |  2 +-
 .../cassandra/utils/concurrent/AbstractFuture.java |  2 +-
 .../cassandra/utils/concurrent/AsyncFuture.java    |  2 +-
 .../cassandra/utils/concurrent/AsyncPromise.java   |  2 +-
 .../cassandra/utils/concurrent/BlockingQueues.java |  4 ++--
 .../apache/cassandra/utils/concurrent/Future.java  |  2 +-
 .../cassandra/utils/concurrent/Semaphore.java      |  2 +-
 .../cassandra/utils/concurrent/SyncFuture.java     |  2 +-
 30 files changed, 54 insertions(+), 38 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index d1f5e73..c1259bc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.1
+ * Forbid other Future implementations with checkstyle (CASSANDRA-17055)
  * commit log was switched from non-daemon to daemon threads, which causes the JVM to exit in some case as no non-daemon threads are active (CASSANDRA-17085)
  * Add a Denylist to block reads and writes on specific partition keys (CASSANDRA-12106)
  * v4+ protocol did not clean up client warnings, which caused leaking the state (CASSANDRA-17054)
diff --git a/checkstyle.xml b/checkstyle.xml
index 383e2b3..0c92167 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -29,6 +29,7 @@
   </module>
 
   <!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
+  <!-- this exists only because for some reason the comment filter does not seem to work for Semaphore -->
   <module name="SuppressionFilter">
     <property name="file" value="${checkstyle.suppressions}"
               default="checkstyle-suppressions.xml" />
@@ -36,7 +37,24 @@
   </module>
 
   <module name="TreeWalker">
-
+    <module name="SuppressWithNearbyCommentFilter">
+       <property name="commentFormat" value="checkstyle: permit this import"/>
+       <property name="checkFormat" value="IllegalImport"/>
+       <property name="influenceFormat" value="0"/>
+    </module>
+ 
+    <module name="SuppressWithNearbyCommentFilter">
+       <property name="commentFormat" value="checkstyle: permit this instantiation"/>
+       <property name="checkFormat" value="IllegalInstantiation"/>
+       <property name="influenceFormat" value="0"/>
+    </module>
+ 
+    <module name="SuppressWithNearbyCommentFilter">
+       <property name="commentFormat" value="checkstyle: permit system clock"/>
+       <property name="checkFormat" value="RegexpSinglelineJava"/>
+       <property name="influenceFormat" value="0"/>
+    </module>
+ 
     <module name="RegexpSinglelineJava">
       <!-- To prevent static imports and System.nanoTime or System.currentTimeMillis -->
       <property name="format" value="(newSingleThreadExecutor|newFixedThreadPool|newCachedThreadPool|newSingleThreadScheduledExecutor|newWorkStealingPool|newScheduledThreadPool|defaultThreadFactory)\(|System\.(currentTimeMillis|nanoTime)"/>
@@ -44,7 +62,7 @@
     </module>
     <module name="IllegalImport">
       <property name="illegalPkgs" value=""/>
-      <property name="illegalClasses" value="java.io.File,java.io.FileInputStream,java.io.FileOutputStream,java.io.FileReader,java.io.FileWriter,java.io.RandomAccessFile,java.util.concurrent.Semaphore,java.util.concurrent.CountDownLatch,java.util.concurrent.Executors,java.util.concurrent.LinkedBlockingQueue,java.util.concurrent.SynchronousQueue,java.util.concurrent.ArrayBlockingQueue,com.google.common.util.concurrent.Futures,java.util.concurrent.CompletableFuture"/>
+      <property name="illegalClasses" value="java.io.File,java.io.FileInputStream,java.io.FileOutputStream,java.io.FileReader,java.io.FileWriter,java.io.RandomAccessFile,java.util.concurrent.Semaphore,java.util.concurrent.CountDownLatch,java.util.concurrent.Executors,java.util.concurrent.LinkedBlockingQueue,java.util.concurrent.SynchronousQueue,java.util.concurrent.ArrayBlockingQueue,com.google.common.util.concurrent.Futures,java.util.concurrent.CompletableFuture,io.netty.util.concurrent [...]
     </module>
     <module name="IllegalInstantiation">
       <property name="classes" value="java.io.File,java.lang.Thread,java.util.concurrent.FutureTask,java.util.concurrent.Semaphore,java.util.concurrent.CountDownLatch,java.util.concurrent.ScheduledThreadPoolExecutor,java.util.concurrent.ThreadPoolExecutor,java.util.concurrent.ForkJoinPool))"/>
diff --git a/checkstyle_suppressions.xml b/checkstyle_suppressions.xml
index 860efc5..ed4d144 100644
--- a/checkstyle_suppressions.xml
+++ b/checkstyle_suppressions.xml
@@ -21,6 +21,5 @@
         "https://checkstyle.org/dtds/suppressions_1_1.dtd">
 
 <suppressions>
-  <suppress checks="RegexpSinglelineJava" files="Clock\.java|Semaphore\.java"/>
-  <suppress checks="IllegalImport|IllegalInstantiation" files="File\.java|[\\/]binlog[\\/]|Semaphore\.java|DataStructureFactory\.java|PathUtils\.java|UDFunction\.java|BlockingQueues\.java"/>
+  <suppress checks="RegexpSinglelineJava" files="Semaphore\.java"/>
 </suppressions>
diff --git a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
index eccea3c..55a2d45 100644
--- a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
@@ -28,7 +28,7 @@ import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Optional;
-import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletableFuture; // checkstyle: permit this import
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
diff --git a/src/java/org/apache/cassandra/io/util/File.java b/src/java/org/apache/cassandra/io/util/File.java
index 5fa5c9d..8d4a030 100644
--- a/src/java/org/apache/cassandra/io/util/File.java
+++ b/src/java/org/apache/cassandra/io/util/File.java
@@ -21,7 +21,7 @@ package org.apache.cassandra.io.util;
 import java.io.IOException;
 import java.net.URI;
 import java.nio.channels.FileChannel;
-import java.nio.file.*;
+import java.nio.file.*; // checkstyle: permit this import
 import java.util.Objects;
 import java.util.function.BiPredicate;
 import java.util.function.Consumer;
@@ -544,7 +544,7 @@ public class File implements Comparable<File>
 
     public java.io.File toJavaIOFile()
     {
-        return path == null ? new java.io.File("") : path.toFile();
+        return path == null ? new java.io.File("") : path.toFile();  // checkstyle: permit this instantiation
     }
 
     /**
diff --git a/src/java/org/apache/cassandra/io/util/PathUtils.java b/src/java/org/apache/cassandra/io/util/PathUtils.java
index 28ce020..26f9dcc 100644
--- a/src/java/org/apache/cassandra/io/util/PathUtils.java
+++ b/src/java/org/apache/cassandra/io/util/PathUtils.java
@@ -536,7 +536,7 @@ public final class PathUtils
 
         DeleteOnExit()
         {
-            Runtime.getRuntime().addShutdownHook(new Thread(this));
+            Runtime.getRuntime().addShutdownHook(new Thread(this)); // checkstyle: permit this instantiation
         }
 
         synchronized void add(Path path, boolean recursive)
diff --git a/src/java/org/apache/cassandra/net/AsyncChannelPromise.java b/src/java/org/apache/cassandra/net/AsyncChannelPromise.java
index 142c3e2..00253fa 100644
--- a/src/java/org/apache/cassandra/net/AsyncChannelPromise.java
+++ b/src/java/org/apache/cassandra/net/AsyncChannelPromise.java
@@ -22,7 +22,7 @@ import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelPromise;
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; // checkstyle: permit this import
 import io.netty.util.concurrent.GenericFutureListener;
 import org.apache.cassandra.utils.concurrent.AsyncPromise;
 
diff --git a/src/java/org/apache/cassandra/net/FutureDelegate.java b/src/java/org/apache/cassandra/net/FutureDelegate.java
index 7e6f9c6..b46fa7c 100644
--- a/src/java/org/apache/cassandra/net/FutureDelegate.java
+++ b/src/java/org/apache/cassandra/net/FutureDelegate.java
@@ -21,7 +21,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; // checkstyle: permit this import
 import io.netty.util.concurrent.GenericFutureListener;
 
 /**
diff --git a/src/java/org/apache/cassandra/net/FutureResult.java b/src/java/org/apache/cassandra/net/FutureResult.java
index 8ad2e7b..e2648c5 100644
--- a/src/java/org/apache/cassandra/net/FutureResult.java
+++ b/src/java/org/apache/cassandra/net/FutureResult.java
@@ -17,7 +17,7 @@
  */
 package org.apache.cassandra.net;
 
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
 
 /**
  * An abstraction for yielding a result performed by an asynchronous task,
diff --git a/src/java/org/apache/cassandra/net/InboundSockets.java b/src/java/org/apache/cassandra/net/InboundSockets.java
index d1f76d3..b0e9ad1 100644
--- a/src/java/org/apache/cassandra/net/InboundSockets.java
+++ b/src/java/org/apache/cassandra/net/InboundSockets.java
@@ -31,7 +31,7 @@ import io.netty.channel.ChannelPipeline;
 import io.netty.channel.group.ChannelGroup;
 import io.netty.channel.group.DefaultChannelGroup;
 import io.netty.util.concurrent.DefaultEventExecutor;
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
 import io.netty.util.concurrent.GlobalEventExecutor;
 import io.netty.util.concurrent.PromiseNotifier;
 import io.netty.util.concurrent.SucceededFuture;
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index 4359094..09e1817 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -30,7 +30,7 @@ import org.apache.cassandra.utils.concurrent.FutureCombiner;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
 import org.apache.cassandra.concurrent.ScheduledExecutors;
 import org.apache.cassandra.concurrent.Stage;
 import org.apache.cassandra.config.DatabaseDescriptor;
diff --git a/src/java/org/apache/cassandra/net/OutboundConnection.java b/src/java/org/apache/cassandra/net/OutboundConnection.java
index ca66ed0..fbf0c73 100644
--- a/src/java/org/apache/cassandra/net/OutboundConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundConnection.java
@@ -45,8 +45,8 @@ import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelInboundHandlerAdapter;
 import io.netty.channel.EventLoop;
 import io.netty.channel.unix.Errors;
-import io.netty.util.concurrent.Future;
-import io.netty.util.concurrent.Promise;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
+import io.netty.util.concurrent.Promise; //checkstyle: permit this import
 import io.netty.util.concurrent.PromiseNotifier;
 import io.netty.util.concurrent.SucceededFuture;
 import org.apache.cassandra.config.DatabaseDescriptor;
diff --git a/src/java/org/apache/cassandra/net/OutboundConnectionInitiator.java b/src/java/org/apache/cassandra/net/OutboundConnectionInitiator.java
index 3e55694..a187068 100644
--- a/src/java/org/apache/cassandra/net/OutboundConnectionInitiator.java
+++ b/src/java/org/apache/cassandra/net/OutboundConnectionInitiator.java
@@ -24,8 +24,8 @@ import java.nio.channels.ClosedChannelException;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import io.netty.util.concurrent.Future;
-import io.netty.util.concurrent.Promise;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
+import io.netty.util.concurrent.Promise; //checkstyle: permit this import
 import org.apache.cassandra.utils.concurrent.AsyncPromise;
 import org.apache.cassandra.utils.concurrent.ImmediateFuture;
 import org.slf4j.Logger;
diff --git a/src/java/org/apache/cassandra/net/OutboundConnections.java b/src/java/org/apache/cassandra/net/OutboundConnections.java
index 9808e3f..1c582f4 100644
--- a/src/java/org/apache/cassandra/net/OutboundConnections.java
+++ b/src/java/org/apache/cassandra/net/OutboundConnections.java
@@ -33,7 +33,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.carrotsearch.hppc.ObjectObjectHashMap;
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
 import org.apache.cassandra.locator.InetAddressAndPort;
 import org.apache.cassandra.metrics.InternodeOutboundMetrics;
 import org.apache.cassandra.utils.NoSpamLogger;
diff --git a/src/java/org/apache/cassandra/streaming/StreamSession.java b/src/java/org/apache/cassandra/streaming/StreamSession.java
index 4499024..4e1f3e1 100644
--- a/src/java/org/apache/cassandra/streaming/StreamSession.java
+++ b/src/java/org/apache/cassandra/streaming/StreamSession.java
@@ -30,7 +30,7 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.*;
 
 import io.netty.channel.Channel;
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
 import org.apache.cassandra.concurrent.ScheduledExecutors;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.locator.RangesAtEndpoint;
diff --git a/src/java/org/apache/cassandra/streaming/StreamingChannel.java b/src/java/org/apache/cassandra/streaming/StreamingChannel.java
index 18bb2b7..f49089c 100644
--- a/src/java/org/apache/cassandra/streaming/StreamingChannel.java
+++ b/src/java/org/apache/cassandra/streaming/StreamingChannel.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.function.IntFunction;
 
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; //checkstyle: permit this import
 import org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory;
 import org.apache.cassandra.utils.Shared;
 
diff --git a/src/java/org/apache/cassandra/streaming/async/NettyStreamingConnectionFactory.java b/src/java/org/apache/cassandra/streaming/async/NettyStreamingConnectionFactory.java
index a6261bf..946df59 100644
--- a/src/java/org/apache/cassandra/streaming/async/NettyStreamingConnectionFactory.java
+++ b/src/java/org/apache/cassandra/streaming/async/NettyStreamingConnectionFactory.java
@@ -26,7 +26,7 @@ import com.google.common.annotations.VisibleForTesting;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelPipeline;
 import io.netty.channel.EventLoop;
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; // checkstyle: permit this import
 import org.apache.cassandra.net.ConnectionCategory;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.net.OutboundConnectionInitiator.Result;
diff --git a/src/java/org/apache/cassandra/streaming/async/StreamingMultiplexedChannel.java b/src/java/org/apache/cassandra/streaming/async/StreamingMultiplexedChannel.java
index 711a752..0a7a470 100644
--- a/src/java/org/apache/cassandra/streaming/async/StreamingMultiplexedChannel.java
+++ b/src/java/org/apache/cassandra/streaming/async/StreamingMultiplexedChannel.java
@@ -40,11 +40,10 @@ import org.slf4j.LoggerFactory;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; // checkstyle: permit this import
 import org.apache.cassandra.concurrent.ExecutorPlus;
 import org.apache.cassandra.streaming.StreamSession;
 import org.apache.cassandra.streaming.messages.IncomingStreamMessage;
-import org.apache.cassandra.streaming.messages.KeepAliveMessage;
 import org.apache.cassandra.streaming.messages.OutgoingStreamMessage;
 import org.apache.cassandra.streaming.messages.StreamMessage;
 import org.apache.cassandra.utils.concurrent.UncheckedInterruptedException;
@@ -57,7 +56,6 @@ import static java.lang.Thread.currentThread;
 import static java.util.concurrent.TimeUnit.*;
 import static org.apache.cassandra.concurrent.ExecutorFactory.Global.executorFactory;
 import static org.apache.cassandra.config.Config.PROPERTY_PREFIX;
-import static org.apache.cassandra.config.DatabaseDescriptor.getStreamingKeepAlivePeriod;
 import static org.apache.cassandra.streaming.StreamSession.createLogTag;
 import static org.apache.cassandra.streaming.messages.StreamMessage.serialize;
 import static org.apache.cassandra.streaming.messages.StreamMessage.serializedSize;
diff --git a/src/java/org/apache/cassandra/transport/SimpleClient.java b/src/java/org/apache/cassandra/transport/SimpleClient.java
index 0e98a32..74a8b6e 100644
--- a/src/java/org/apache/cassandra/transport/SimpleClient.java
+++ b/src/java/org/apache/cassandra/transport/SimpleClient.java
@@ -38,7 +38,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.handler.codec.MessageToMessageDecoder;
 import io.netty.handler.codec.MessageToMessageEncoder;
 import io.netty.handler.ssl.SslContext;
-import io.netty.util.concurrent.Promise;
+import io.netty.util.concurrent.Promise; // checkstyle: permit this import
 import io.netty.util.concurrent.PromiseCombiner;
 import io.netty.util.internal.logging.InternalLoggerFactory;
 import io.netty.util.internal.logging.Slf4JLoggerFactory;
diff --git a/src/java/org/apache/cassandra/utils/Clock.java b/src/java/org/apache/cassandra/utils/Clock.java
index 1f39493..d1a7337 100644
--- a/src/java/org/apache/cassandra/utils/Clock.java
+++ b/src/java/org/apache/cassandra/utils/Clock.java
@@ -91,7 +91,7 @@ public interface Clock
          */
         public long nanoTime()
         {
-            return System.nanoTime();
+            return System.nanoTime(); // checkstyle: permit system clock
         }
 
         /**
@@ -99,7 +99,7 @@ public interface Clock
          */
         public long currentTimeMillis()
         {
-            return System.currentTimeMillis();
+            return System.currentTimeMillis(); // checkstyle: permit system clock
         }
     }
 
diff --git a/src/java/org/apache/cassandra/utils/binlog/BinLogArchiver.java b/src/java/org/apache/cassandra/utils/binlog/BinLogArchiver.java
index 9a6f0bc..f009629 100644
--- a/src/java/org/apache/cassandra/utils/binlog/BinLogArchiver.java
+++ b/src/java/org/apache/cassandra/utils/binlog/BinLogArchiver.java
@@ -18,7 +18,7 @@
 
 package org.apache.cassandra.utils.binlog;
 
-import java.io.File;
+import java.io.File; // checkstyle: permit this import
 
 import net.openhft.chronicle.queue.impl.StoreFileListener;
 
diff --git a/src/java/org/apache/cassandra/utils/binlog/DeletingArchiver.java b/src/java/org/apache/cassandra/utils/binlog/DeletingArchiver.java
index 3bdbb8f..44bdc8e 100644
--- a/src/java/org/apache/cassandra/utils/binlog/DeletingArchiver.java
+++ b/src/java/org/apache/cassandra/utils/binlog/DeletingArchiver.java
@@ -18,7 +18,7 @@
 
 package org.apache.cassandra.utils.binlog;
 
-import java.io.File;
+import java.io.File; // checkstyle: permit this import
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
diff --git a/src/java/org/apache/cassandra/utils/binlog/ExternalArchiver.java b/src/java/org/apache/cassandra/utils/binlog/ExternalArchiver.java
index 173c539..86b6510 100644
--- a/src/java/org/apache/cassandra/utils/binlog/ExternalArchiver.java
+++ b/src/java/org/apache/cassandra/utils/binlog/ExternalArchiver.java
@@ -18,7 +18,7 @@
 
 package org.apache.cassandra.utils.binlog;
 
-import java.io.File;
+import java.io.File; // checkstyle: permit this import
 import java.io.IOException;
 import java.nio.file.Path;
 import java.util.concurrent.DelayQueue;
diff --git a/src/java/org/apache/cassandra/utils/concurrent/AbstractFuture.java b/src/java/org/apache/cassandra/utils/concurrent/AbstractFuture.java
index 1117445..b8944f9 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/AbstractFuture.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/AbstractFuture.java
@@ -32,7 +32,7 @@ import javax.annotation.Nullable;
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListenableFuture; // checkstyle: permit this import
 
 import io.netty.util.concurrent.GenericFutureListener;
 import io.netty.util.internal.ThrowableUtil;
diff --git a/src/java/org/apache/cassandra/utils/concurrent/AsyncFuture.java b/src/java/org/apache/cassandra/utils/concurrent/AsyncFuture.java
index 296584b..a7b7a6a 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/AsyncFuture.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/AsyncFuture.java
@@ -24,7 +24,7 @@ import java.util.function.Function;
 import javax.annotation.Nullable;
 
 import com.google.common.util.concurrent.AsyncFunction;
-import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListenableFuture; // checkstyle: permit this import
 
 import io.netty.util.concurrent.GenericFutureListener;
 
diff --git a/src/java/org/apache/cassandra/utils/concurrent/AsyncPromise.java b/src/java/org/apache/cassandra/utils/concurrent/AsyncPromise.java
index 48c55a8..61b5818 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/AsyncPromise.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/AsyncPromise.java
@@ -23,7 +23,7 @@ import java.util.function.Consumer;
 
 import com.google.common.util.concurrent.FutureCallback;
 
-import io.netty.util.concurrent.Future;
+import io.netty.util.concurrent.Future; // checkstyle: permit this import
 import io.netty.util.concurrent.GenericFutureListener;
 
 /**
diff --git a/src/java/org/apache/cassandra/utils/concurrent/BlockingQueues.java b/src/java/org/apache/cassandra/utils/concurrent/BlockingQueues.java
index a7425d2..4d79ed3 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/BlockingQueues.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/BlockingQueues.java
@@ -22,8 +22,8 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Queue;
 import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.LinkedBlockingQueue; // checkstyle: permit this import
+import java.util.concurrent.SynchronousQueue; // checkstyle: permit this import
 import java.util.concurrent.TimeUnit;
 
 import org.apache.cassandra.utils.Intercept;
diff --git a/src/java/org/apache/cassandra/utils/concurrent/Future.java b/src/java/org/apache/cassandra/utils/concurrent/Future.java
index 4454a2e..22b15cc 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/Future.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/Future.java
@@ -25,7 +25,7 @@ import java.util.function.Function;
 
 import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListenableFuture; // checkstyle: permit this import
 
 import io.netty.util.concurrent.GenericFutureListener;
 
diff --git a/src/java/org/apache/cassandra/utils/concurrent/Semaphore.java b/src/java/org/apache/cassandra/utils/concurrent/Semaphore.java
index 66dd543..c3f03a5 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/Semaphore.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/Semaphore.java
@@ -252,7 +252,7 @@ public interface Semaphore
 
         public FairJDK(int permits)
         {
-            wrapped = new java.util.concurrent.Semaphore(permits, true);
+            wrapped = new java.util.concurrent.Semaphore(permits, true); // checkstyle: permit this instantiation
         }
 
         /**
diff --git a/src/java/org/apache/cassandra/utils/concurrent/SyncFuture.java b/src/java/org/apache/cassandra/utils/concurrent/SyncFuture.java
index 17b0423..9635969 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/SyncFuture.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/SyncFuture.java
@@ -24,7 +24,7 @@ import java.util.function.Function;
 import javax.annotation.Nullable;
 
 import com.google.common.util.concurrent.AsyncFunction;
-import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListenableFuture; // checkstyle: permit this import
 
 import io.netty.util.concurrent.GenericFutureListener;
 

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org