apache/cassandra · warning
Too many Accord trace events stored already; delete some to…
Error message
Too many Accord trace events stored already; delete some to continue tracing
What it means
AccordTracing.admit() enforces a cap (MAX_EVENTS) on stored Accord trace events. Once the in-memory/trace store already holds the maximum, further events are rejected (this call returns false), a client warning is sent to the querying session, and a throttled server-side warning is logged. Tracing stops accumulating new events until old ones are deleted.
Solutions
- Delete/expire existing stored Accord trace events (via the trace management commands/JMX) to free capacity before tracing again
- Increase the trace event cap if the deployment has memory headroom
- Stop/finish the trace session when done so events stop accumulating
- Reduce tracing scope (fewer transactions/shorter duration) so fewer events are produced
Defensive patterns
Strategy: fallback
Validate before calling
// before starting a trace, check capacity
if (traceEventStore.count() >= MAX_EVENTS)
clearStoredTraceEvents(); Prevention
- Delete stored trace events after each debugging session
- Treat ClientWarn messages about trace capacity as a signal to purge events
- Limit trace duration/scope to stay under MAX_EVENTS
When it happens
Trigger: Running Accord trace sessions (via nodetool/JMX trace commands on Accord transactions) without deleting prior trace events until MAX_EVENTS is reached; every subsequent admit() rejects the event.
Common situations: Long-running tracing left enabled across many transactions; debugging sessions that collect the full event budget and then try to trace more; forgetting to clear/reset the trace store between investigations.
Related errors
- accord.cache_size option was set incorrectly to
- accord.journal_directory must be specified
- accord.journal_directory must not be the same as any…
- accord.journal_directory must not be the same as the…
- Accord journal is configured in periodic mode, while…
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/d984292c1ad3c365.
Report an issue: GitHub.
Appendix: source
Thrown at src/java/org/apache/cassandra/service/accord/debug/AccordTracing.java:876
txnIds.clear();
slowest.clear();
slowestLookup.clear();
detachedEvents.clear();
}
for (TxnId txnId : untrace)
untrace(txnId);
}
}
static class GlobalCount extends AtomicInteger
{
public boolean admit()
{
if (incrementAndGet() <= MAX_EVENTS)
return true;
decrementAndGet();
ClientWarn.instance.warn("Too many Accord trace events stored already; delete some to continue tracing");
noSpamLogger.warn("Too many Accord trace events stored already; delete some to continue tracing");
return false;
}
}
private static final AtomicLong lastNowMicros = new AtomicLong();
private static long uniqueNowMicros()
{
long nowMicros = Clock.Global.currentTimeMillis() * 1000;
while (true)
{
long last = lastNowMicros.get();
if (last >= nowMicros)
return lastNowMicros.incrementAndGet();
if (lastNowMicros.compareAndSet(last, nowMicros))
return nowMicros;
}
}View on GitHub (pinned to 88fd0f6a0e)