You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bl...@apache.org on 2020/05/25 14:51:56 UTC
[cassandra] 01/01: Merge branch cassandra-3.11 into trunk
This is an automated email from the ASF dual-hosted git repository.
blerer pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit c17af2d6babe803418b69b9ac7956f4f4bf09c84
Merge: 43c1987 3cda9d7
Author: Benjamin Lerer <b....@gmail.com>
AuthorDate: Mon May 25 16:34:57 2020 +0200
Merge branch cassandra-3.11 into trunk
CHANGES.txt | 1 +
.../org/apache/cassandra/streaming/StreamCoordinator.java | 2 ++
.../org/apache/cassandra/streaming/StreamResultFuture.java | 12 +++++++++++-
3 files changed, 14 insertions(+), 1 deletion(-)
diff --cc CHANGES.txt
index c6c2358,11515c4..01f74f0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,37 -1,8 +1,38 @@@
-3.11.7
+4.0-alpha5
+ * Provide ability to configure IAuditLogger (CASSANDRA-15748)
+ * Fix nodetool enablefullquerylog blocking param parsing (CASSANDRA-15819)
+ * Add isTransient to SSTableMetadataView (CASSANDRA-15806)
+ * Fix tools/bin/fqltool for all shells (CASSANDRA-15820)
+ * Fix clearing of legacy size_estimates (CASSANDRA-15776)
+ * Update port when reconnecting to pre-4.0 SSL storage (CASSANDRA-15727)
+ * Only calculate dynamicBadnessThreshold once per loop in DynamicEndpointSnitch (CASSANDRA-15798)
+ * Cleanup redundant nodetool commands added in 4.0 (CASSANDRA-15256)
+ * Update to Python driver 3.23 for cqlsh (CASSANDRA-15793)
+ * Add tunable initial size and growth factor to RangeTombstoneList (CASSANDRA-15763)
+ * Improve debug logging in SSTableReader for index summary (CASSANDRA-15755)
+ * bin/sstableverify should support user provided token ranges (CASSANDRA-15753)
+ * Improve logging when mutation passed to commit log is too large (CASSANDRA-14781)
+ * replace LZ4FastDecompressor with LZ4SafeDecompressor (CASSANDRA-15560)
+ * Fix buffer pool NPE with concurrent release due to in-progress tiny pool eviction (CASSANDRA-15726)
+ * Avoid race condition when completing stream sessions (CASSANDRA-15666)
+ * Flush with fast compressors by default (CASSANDRA-15379)
+ * Fix CqlInputFormat regression from the switch to system.size_estimates (CASSANDRA-15637)
+ * Allow sending Entire SSTables over SSL (CASSANDRA-15740)
+ * Fix CQLSH UTF-8 encoding issue for Python 2/3 compatibility (CASSANDRA-15739)
+ * Fix batch statement preparation when multiple tables and parameters are used (CASSANDRA-15730)
+ * Fix regression with traceOutgoingMessage printing message size (CASSANDRA-15687)
+ * Ensure repaired data tracking reads a consistent amount of data across replicas (CASSANDRA-15601)
+ * Fix CQLSH to avoid arguments being evaluated (CASSANDRA-15660)
+ * Correct Visibility and Improve Safety of Methods in LatencyMetrics (CASSANDRA-15597)
+ * Allow cqlsh to run with Python2.7/Python3.6+ (CASSANDRA-15659,CASSANDRA-15573)
+ * Improve logging around incremental repair (CASSANDRA-15599)
+ * Do not check cdc_raw_directory filesystem space if CDC disabled (CASSANDRA-15688)
+ * Replace array iterators with get by index (CASSANDRA-15394)
+ * Minimize BTree iterator allocations (CASSANDRA-15389)
+Merged from 3.11:
* Fix CQL formatting of read command restrictions for slow query log (CASSANDRA-15503)
- * Allow sstableloader to use SSL on the native port (CASSANDRA-14904)
Merged from 3.0:
+ * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667)
* EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790)
* Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666)
* Avoid creating duplicate rows during major upgrades (CASSANDRA-15789)
diff --cc src/java/org/apache/cassandra/streaming/StreamCoordinator.java
index c8ebabb,b801ecc..e590e96
--- a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
+++ b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
@@@ -285,9 -294,9 +285,10 @@@ public class StreamCoordinato
// create
if (streamSessions.size() < connectionsPerHost)
{
- StreamSession session = new StreamSession(peer, connecting, factory, streamSessions.size(), keepSSTableLevel, isIncremental);
+ StreamSession session = new StreamSession(streamOperation, peer, factory, isFollower(), streamSessions.size(),
+ pendingRepair, previewKind);
streamSessions.put(++lastReturned, session);
+ sessionInfos.put(lastReturned, session.getSessionInfo());
return session;
}
// get
@@@ -318,8 -327,9 +319,9 @@@
StreamSession session = streamSessions.get(id);
if (session == null)
{
- session = new StreamSession(peer, connecting, factory, id, keepSSTableLevel, isIncremental);
+ session = new StreamSession(streamOperation, peer, factory, isFollower(), id, pendingRepair, previewKind);
streamSessions.put(id, session);
+ sessionInfos.put(id, session.getSessionInfo());
}
return session;
}
diff --cc src/java/org/apache/cassandra/streaming/StreamResultFuture.java
index 2b5791f,481e93d..76a33a0
--- a/src/java/org/apache/cassandra/streaming/StreamResultFuture.java
+++ b/src/java/org/apache/cassandra/streaming/StreamResultFuture.java
@@@ -227,8 -222,13 +227,18 @@@ public final class StreamResultFuture e
}
}
+ StreamSession getSession(InetAddressAndPort peer, int sessionIndex)
+ {
+ return coordinator.getSessionById(peer, sessionIndex);
+ }
++
+ /**
+ * We can't use {@link StreamCoordinator#hasActiveSessions()} directly because {@link this#maybeComplete()}
+ * relies on the snapshotted state from {@link StreamCoordinator} and not the {@link StreamSession} state
+ * directly (CASSANDRA-15667), otherwise inconsistent snapshotted states may lead to completion races.
+ */
+ private boolean finishedAllSessions()
+ {
+ return coordinator.getAllSessionInfo().stream().allMatch(s -> s.state.isFinalState());
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org