diff --git a/CHANGES.txt b/CHANGES.txt index 45ef4fe379..48ba5a2bae 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -5,6 +5,7 @@ * Equality check for Paxos.Electorate should not depend on collection types (CASSANDRA-19935) * Fix race condition in DecayingEstimatedHistogramReservoir during rescale (CASSANDRA-19365) Merged from 4.0: + * Allow hint delivery during schema mismatch (CASSANDRA-20188) * IndexOutOfBoundsException when accessing partition where the column was deleted (CASSANDRA-20108) * Enhance CQLSSTableWriter to notify clients on sstable production (CASSANDRA-19800) * Fix gossip issue with gossip-only and bootstrapping nodes missing DC/Rack/Host ID endpoint state (CASSANDRA-19983) diff --git a/src/java/org/apache/cassandra/hints/HintsDispatchTrigger.java b/src/java/org/apache/cassandra/hints/HintsDispatchTrigger.java index a5216429b1..4b35fe8259 100644 --- a/src/java/org/apache/cassandra/hints/HintsDispatchTrigger.java +++ b/src/java/org/apache/cassandra/hints/HintsDispatchTrigger.java @@ -19,17 +19,13 @@ package org.apache.cassandra.hints; import java.util.concurrent.atomic.AtomicBoolean; -import org.apache.cassandra.gms.Gossiper; -import org.apache.cassandra.schema.Schema; - /** * A simple dispatch trigger that's being run every 10 seconds. * * Goes through all hint stores and schedules for dispatch all the hints for hosts that are: * 1. Not currently scheduled for dispatch, and * 2. Either have some hint files, or an active hint writer, and - * 3. Are live, and - * 4. Have matching schema versions + * 3. Are live * * What does triggering a hints store for dispatch mean? * - If there are existing hint files, it means submitting them for dispatch; @@ -62,7 +58,6 @@ final class HintsDispatchTrigger implements Runnable .filter(store -> !isScheduled(store)) .filter(HintsStore::isLive) .filter(store -> store.isWriting() || store.hasFiles()) - .filter(store -> Schema.instance.isSameVersion(Gossiper.instance.getSchemaVersion(store.address()))) .forEach(this::schedule); }