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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]