Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .build/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@
<property name="influenceFormat" value="0"/>
</module>

<module name="SuppressWithNearbyCommentFilter">
<property name="commentFormat" value="checkstyle: permit this invocation"/>
<property name="idFormat" value="blockInstantNow"/>
<property name="influenceFormat" value="0"/>
</module>

<module name="RegexpSinglelineJava">
<!-- block system time -->
<property name="id" value="blockSystemClock"/>
Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "modules/accord"]
path = modules/accord
url = https://github.com/apache/cassandra-accord.git
branch = trunk
url = https://github.com/belliottsmith/cassandra-accord.git
branch = tail-latency
2 changes: 1 addition & 1 deletion modules/accord
Submodule accord updated 217 files
15 changes: 9 additions & 6 deletions src/java/org/apache/cassandra/concurrent/ExecutorLocals.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
*/
public class ExecutorLocals implements WithResources, Closeable
{
private static final ExecutorLocals none = new ExecutorLocals(null, null);
private static final ExecutorLocals none = new ExecutorLocals(null, null, false);
private static final FastThreadLocal<ExecutorLocals> locals = new FastThreadLocal<ExecutorLocals>()
{
@Override
Expand All @@ -45,20 +45,23 @@ protected ExecutorLocals initialValue()

public static class Impl
{
protected static void set(TraceState traceState, ClientWarn.State clientWarnState)
@SuppressWarnings("resource")
protected static void set(TraceState traceState, ClientWarn.State clientWarnState, boolean eligibleForArtificialLatency)
{
if (traceState == null && clientWarnState == null) locals.set(none);
else locals.set(new ExecutorLocals(traceState, clientWarnState));
if (traceState == null && clientWarnState == null && !eligibleForArtificialLatency) locals.set(none);
else locals.set(new ExecutorLocals(traceState, clientWarnState, eligibleForArtificialLatency));
}
}

public final TraceState traceState;
public final ClientWarn.State clientWarnState;
public final boolean eligibleForArtificialLatency;

protected ExecutorLocals(TraceState traceState, ClientWarn.State clientWarnState)
protected ExecutorLocals(TraceState traceState, ClientWarn.State clientWarnState, boolean eligibleForArtificialLatency)
{
this.traceState = traceState;
this.clientWarnState = clientWarnState;
this.eligibleForArtificialLatency = eligibleForArtificialLatency;
}

/**
Expand All @@ -82,7 +85,7 @@ public static WithResources propagate()
public static ExecutorLocals create(TraceState traceState)
{
ExecutorLocals current = locals.get();
return current.traceState == traceState ? current : new ExecutorLocals(traceState, current.clientWarnState);
return current.traceState == traceState ? current : new ExecutorLocals(traceState, current.clientWarnState, current.eligibleForArtificialLatency);
}

public static void clear()
Expand Down
Loading