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