This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-5.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit bd2803307eb5e8c0bfbd7e9477ce1756a7d77bde Merge: 2f836fa596 8502da494c Author: Brandon Williams <brandonwilli...@apache.org> AuthorDate: Thu Mar 14 10:26:30 2024 -0500 Merge branch 'cassandra-4.1' into cassandra-5.0 CHANGES.txt | 1 + .../cassandra/repair/consistent/LocalSessions.java | 36 +++++++++++----------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --cc CHANGES.txt index 2e543f1120,a091edb379..4533e86b1c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,33 -1,6 +1,34 @@@ -4.1.5 +5.0-beta2 + * Set uuid_sstable_identifiers_enabled to true in cassandra-latest.yaml (CASSANDRA-19460) + * 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) + * Fix NullPointerException in ANN+WHERE when adding rows in another partition (CASSANDRA-19404) + * Record latencies for SAI post-filtering reads against local storage (CASSANDRA-18940) + * Fix VectorMemoryIndex#update logic to compare vectors. Fix Index view (CASSANDRA-19168) + * Deprecate native_transport_port_ssl (CASSANDRA-19392) + * Update packaging shell includes (CASSANDRA-19283) + * Fix data corruption in VectorCodec when using heap buffers (CASSANDRA-19167) + * Avoid over-skipping of key iterators from static column indexes during mixed intersections (CASSANDRA-19278) + * Make concurrent_index_builders configurable at runtime (CASSANDRA-19266) + * Fix storage_compatibility_mode for streaming (CASSANDRA-19126) + * Add support of vector type to cqlsh COPY command (CASSANDRA-19118) + * Make CQLSSTableWriter to support building of SAI indexes (CASSANDRA-18714) + * Append additional JVM options when using JDK17+ (CASSANDRA-19001) + * Upgrade Python driver to 3.29.0 (CASSANDRA-19245) + * Creating a SASI index after creating an SAI index does not break secondary index queries (CASSANDRA-18939) + * Optionally fail when a non-partition-restricted query is issued against an index (CASSANDRA-18796) + * Add a startup check to fail startup when using invalid configuration with certain Kernel and FS type (CASSANDRA-19196) + * UCS min_sstable_size should not be lower than target_sstable_size lower bound (CASSANDRA-19112) + * Fix the correspondingMessagingVersion of SSTable format and improve TTL overflow tests coverage (CASSANDRA-19197) + * Fix resource cleanup after SAI query timeouts (CASSANDRA-19177) + * Suppress CVE-2023-6481 (CASSANDRA-19184) +Merged from 4.1: + * Memoize Cassandra verion and add a backoff interval for failed schema pulls (CASSANDRA-18902) + * Fix StackOverflowError on ALTER after many previous schema changes (CASSANDRA-19166) Merged from 4.0: + * Push LocalSessions info logs to debug (CASSANDRA-18335) * Filter remote DC replicas out when constructing the initial replica plan for the local read repair (CASSANDRA-19120) * Remove redundant code in StorageProxy#sendToHintedReplicas (CASSANDRA-19412) * Remove bashisms for mx4j tool in cassandra-env.sh (CASSANDRA-19416) diff --cc src/java/org/apache/cassandra/repair/consistent/LocalSessions.java index 75c50e5dce,5fcfe986c5..cc6b168461 --- a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java +++ b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java @@@ -841,12 -818,10 +841,12 @@@ public class LocalSession } LocalSession session = createSessionUnsafe(sessionID, parentSession, peers); - putSessionUnsafe(session); + sendAck(ctx, message); + if (!putSessionUnsafe(session)) + return; - logger.info("Beginning local incremental repair session {}", session); + logger.debug("Beginning local incremental repair session {}", session); - ExecutorService executor = executorFactory().pooled("Repair-" + sessionID, parentSession.getColumnFamilyStores().size()); + ExecutorService executor = ctx.executorFactory().pooled("Repair-" + sessionID, parentSession.getColumnFamilyStores().size()); KeyspaceRepairManager repairManager = parentSession.getKeyspace().getRepairManager(); RangesAtEndpoint tokenRanges = filterLocalRanges(parentSession.getKeyspace().getName(), parentSession.getRanges()); @@@ -859,10 -834,13 +859,10 @@@ { try { - logger.info("Prepare phase for incremental repair session {} completed", sessionID); + logger.debug("Prepare phase for incremental repair session {} completed", sessionID); if (!prepareSessionExceptFailed(session)) - logger.info("Session {} failed before anticompaction completed", sessionID); + logger.debug("Session {} failed before anticompaction completed", sessionID); - Message<PrepareConsistentResponse> message = - Message.out(PREPARE_CONSISTENT_RSP, - new PrepareConsistentResponse(sessionID, getBroadcastAddressAndPort(), session.getState() != FAILED)); - sendMessage(coordinator, message); + sendMessageWithRetries(always(), new PrepareConsistentResponse(sessionID, getBroadcastAddressAndPort(), session.getState() != FAILED), PREPARE_CONSISTENT_RSP, coordinator); } finally { @@@ -939,9 -907,8 +939,9 @@@ LocalSession session = getSession(sessionID); if (session == null) { - logger.info("Received FinalizePropose message for unknown repair session {}, responding with failure", sessionID); + logger.debug("Received FinalizePropose message for unknown repair session {}, responding with failure", sessionID); - sendMessage(from, Message.out(FAILED_SESSION_MSG, new FailSession(sessionID))); + sendFailureResponse(ctx, message); + sendMessageWithRetries(new FailSession(sessionID), FAILED_SESSION_MSG, from); return; } @@@ -960,8 -925,8 +960,8 @@@ */ syncTable(); - sendMessage(from, Message.out(FINALIZE_PROMISE_MSG, new FinalizePromise(sessionID, getBroadcastAddressAndPort(), true))); + RepairMessage.sendMessageWithRetries(ctx, new FinalizePromise(sessionID, getBroadcastAddressAndPort(), true), FINALIZE_PROMISE_MSG, from); - logger.info("Received FinalizePropose message for incremental repair session {}, responded with FinalizePromise", sessionID); + logger.debug("Received FinalizePropose message for incremental repair session {}, responded with FinalizePromise", sessionID); } catch (IllegalArgumentException e) { @@@ -1000,13 -963,11 +1000,13 @@@ if (session == null) { logger.warn("Ignoring FinalizeCommit message for unknown repair session {}", sessionID); + sendFailureResponse(ctx, message); return; } + sendAck(ctx, message); - setStateAndSave(session, FINALIZED); - logger.debug("Finalized local repair session {}", sessionID); + if (maybeSetStateAndSave(session, FINALIZE_PROMISED, FINALIZED)) - logger.info("Finalized local repair session {}", sessionID); ++ logger.debug("Finalized local repair session {}", sessionID); } public void handleFailSessionMessage(InetAddressAndPort from, FailSession msg) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org