apache/cassandra · error
- MISMATCH Query =
Error message
{} - MISMATCH Query = {} What it means
ResultComparator.handleMismatch in fqltool detected that rows returned for the same FQL query differ across compared clusters (e.g. in a migration/upgrade comparison run). The mismatch details are logged with a random UUID that is also passed to the mismatch listener for result dumps.
Solutions
- Inspect the saved result files referenced by the mismatch UUID to find the differing rows.
- Investigate schema/version differences or data drift between the compared clusters.
- Re-run repair or fix the divergent data on the target cluster.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at tools/fqltool/src/org/apache/cassandra/fqltool/ResultComparator.java:104 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/0ef9dba8b3579d59.
Report an issue: GitHub.
Appendix: source
Thrown at tools/fqltool/src/org/apache/cassandra/fqltool/ResultComparator.java:104
if (!refDefs.equals(toCompare))
equal = false;
}
if (!equal)
handleColumnDefMismatch(targetHosts, query, cds);
return equal;
}
private void handleMismatch(List<String> targetHosts, FQLQuery query, List<ResultHandler.ComparableRow> rows)
{
UUID mismatchUUID = UUID.randomUUID();
StringBuilder sb = new StringBuilder("{} - MISMATCH Query = {} ");
for (int i = 0; i < targetHosts.size(); i++)
sb.append("mismatch").append(i)
.append('=')
.append('"').append(targetHosts.get(i)).append(':').append(rows.get(i)).append('"')
.append(',');
logger.warn(sb.toString(), mismatchUUID, query);
try
{
if (mismatchListener != null)
mismatchListener.mismatch(mismatchUUID, targetHosts, query, rows);
}
catch (Throwable t)
{
logger.error("ERROR notifying listener", t);
}
}
private void handleColumnDefMismatch(List<String> targetHosts, FQLQuery query, List<ResultHandler.ComparableColumnDefinitions> cds)
{
UUID mismatchUUID = UUID.randomUUID();
StringBuilder sb = new StringBuilder("{} - COLUMN DEFINITION MISMATCH Query = {} ");
for (int i = 0; i < targetHosts.size(); i++)
sb.append("mismatch").append(i)
.append('=')View on GitHub (pinned to 88fd0f6a0e)