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

maedhroz pushed a commit to branch cassandra-5.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-5.0 by this push:
     new a26fa6cf2c Revert switching to approxTime in Dispatcher
a26fa6cf2c is described below

commit a26fa6cf2c9a86827d38c448a54878d76bb18e27
Author: arkn98 <20590666+ark...@users.noreply.github.com>
AuthorDate: Wed Mar 6 13:35:32 2024 -0500

    Revert switching to approxTime in Dispatcher
    
    Patch by Arun Ganesh; reviewed by Caleb Rackliffe and David Capwell for 
CASSANDRA-19454
---
 CHANGES.txt                                        |  1 +
 .../apache/cassandra/db/virtual/QueriesTable.java  |  5 +++--
 .../org/apache/cassandra/transport/Dispatcher.java | 22 +++++++++++-----------
 .../cassandra/transport/MessageDispatcherTest.java |  2 +-
 4 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 4a005b4aab..cf542bbd58 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 5.0-beta2
+ * Revert switching to approxTime in Dispatcher (CASSANDRA-19454)
  * Add an optimized default configuration to tests and make it available for 
new users (CASSANDRA-18753)
  * Fix remote JMX under Java17 (CASSANDRA-19453)
  * Avoid consistency violations for SAI intersections over unrepaired data at 
consistency levels requiring reconciliation (CASSANDRA-19018)
diff --git a/src/java/org/apache/cassandra/db/virtual/QueriesTable.java 
b/src/java/org/apache/cassandra/db/virtual/QueriesTable.java
index aeba61c004..f2a4d72168 100644
--- a/src/java/org/apache/cassandra/db/virtual/QueriesTable.java
+++ b/src/java/org/apache/cassandra/db/virtual/QueriesTable.java
@@ -26,7 +26,8 @@ import org.apache.cassandra.schema.TableMetadata;
 
 import static java.lang.Long.max;
 import static java.util.concurrent.TimeUnit.NANOSECONDS;
-import static org.apache.cassandra.utils.MonotonicClock.Global.approxTime;
+
+import static org.apache.cassandra.utils.Clock.Global.nanoTime;
 
 /**
  * Virtual table that lists currently running queries on the NTR (coordinator) 
and Read/Mutation (local) stages
@@ -78,7 +79,7 @@ final class QueriesTable extends AbstractVirtualTable
             
             long creationTimeNanos = task.creationTimeNanos();
             long startTimeNanos = task.startTimeNanos();
-            long now = approxTime.now();
+            long now = nanoTime();
 
             long queuedMicros = NANOSECONDS.toMicros(max((startTimeNanos > 0 ? 
startTimeNanos : now) - creationTimeNanos, 0));
             long runningMicros = startTimeNanos > 0 ? NANOSECONDS.toMicros(now 
- startTimeNanos) : 0;
diff --git a/src/java/org/apache/cassandra/transport/Dispatcher.java 
b/src/java/org/apache/cassandra/transport/Dispatcher.java
index f21acc2c6d..38cb9326de 100644
--- a/src/java/org/apache/cassandra/transport/Dispatcher.java
+++ b/src/java/org/apache/cassandra/transport/Dispatcher.java
@@ -44,10 +44,10 @@ import org.apache.cassandra.transport.Flusher.FlushItem;
 import org.apache.cassandra.transport.messages.ErrorMessage;
 import org.apache.cassandra.transport.messages.EventMessage;
 import org.apache.cassandra.utils.JVMStabilityInspector;
-import org.apache.cassandra.utils.MonotonicClock;
 import org.apache.cassandra.utils.NoSpamLogger;
 
 import static org.apache.cassandra.concurrent.SharedExecutorPool.SHARED;
+import static org.apache.cassandra.utils.Clock.Global.nanoTime;
 
 public class Dispatcher
 {
@@ -119,8 +119,8 @@ public class Dispatcher
         private final FlushItemConverter forFlusher;
         private final Overload backpressure;
         
-        private final long approxCreationTimeNanos = 
MonotonicClock.Global.approxTime.now();
-        private volatile long approxStartTimeNanos;
+        private final long creationTimeNanos = nanoTime();
+        private volatile long startTimeNanos;
         
         public RequestProcessor(Channel channel, Message.Request request, 
FlushItemConverter forFlusher, Overload backpressure)
         {
@@ -133,20 +133,20 @@ public class Dispatcher
         @Override
         public void run()
         {
-            approxStartTimeNanos = MonotonicClock.Global.approxTime.now();
-            processRequest(channel, request, forFlusher, backpressure, 
approxStartTimeNanos);
+            startTimeNanos = nanoTime();
+            processRequest(channel, request, forFlusher, backpressure, 
startTimeNanos);
         }
 
         @Override
         public long creationTimeNanos()
         {
-            return approxCreationTimeNanos;
+            return creationTimeNanos;
         }
 
         @Override
         public long startTimeNanos()
         {
-            return approxStartTimeNanos;
+            return startTimeNanos;
         }
 
         @Override
@@ -206,11 +206,11 @@ public class Dispatcher
     /**
      * Note: this method may be executed on the netty event loop.
      */
-    static Message.Response processRequest(Channel channel, Message.Request 
request, Overload backpressure, long approxStartTimeNanos)
+    static Message.Response processRequest(Channel channel, Message.Request 
request, Overload backpressure, long startTimeNanos)
     {
         try
         {
-            return processRequest((ServerConnection) request.connection(), 
request, backpressure, approxStartTimeNanos);
+            return processRequest((ServerConnection) request.connection(), 
request, backpressure, startTimeNanos);
         }
         catch (Throwable t)
         {
@@ -235,9 +235,9 @@ public class Dispatcher
     /**
      * Note: this method is not expected to execute on the netty event loop.
      */
-    void processRequest(Channel channel, Message.Request request, 
FlushItemConverter forFlusher, Overload backpressure, long approxStartTimeNanos)
+    void processRequest(Channel channel, Message.Request request, 
FlushItemConverter forFlusher, Overload backpressure, long startTimeNanos)
     {
-        Message.Response response = processRequest(channel, request, 
backpressure, approxStartTimeNanos);
+        Message.Response response = processRequest(channel, request, 
backpressure, startTimeNanos);
         FlushItem<?> toFlush = forFlusher.toFlushItem(channel, request, 
response);
         Message.logger.trace("Responding: {}, v={}", response, 
request.connection().getVersion());
         flush(toFlush);
diff --git 
a/test/unit/org/apache/cassandra/transport/MessageDispatcherTest.java 
b/test/unit/org/apache/cassandra/transport/MessageDispatcherTest.java
index 0c70315e25..319b362071 100644
--- a/test/unit/org/apache/cassandra/transport/MessageDispatcherTest.java
+++ b/test/unit/org/apache/cassandra/transport/MessageDispatcherTest.java
@@ -164,7 +164,7 @@ public class MessageDispatcherTest
                             Message.Request request,
                             FlushItemConverter forFlusher,
                             ClientResourceLimits.Overload backpressure,
-                            long approxStartTimeNanos)
+                            long startTimeNanos)
         {
             // noop
         }


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

Reply via email to