[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11384c32 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11384c32 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11384c32 Branch: refs/heads/trunk Commit: 11384c3279a66e6c0fb7861e2b188b25e963580f Parents: 0a79f9f 08363af Author: Marcus Eriksson Authored: Thu Dec 20 13:44:53 2018 +0100 Committer: Marcus Eriksson Committed: Thu Dec 20 13:44:53 2018 +0100 -- build.xml | 9 - doc/source/development/testing.rst | 8 2 files changed, 12 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/11384c32/build.xml -- diff --cc build.xml index f24647e,8fefd17..3973689 --- a/build.xml +++ b/build.xml @@@ -1235,10 -1193,7 +1235,7 @@@ - - - - + http://git-wip-us.apache.org/repos/asf/cassandra/blob/11384c32/doc/source/development/testing.rst -- diff --cc doc/source/development/testing.rst index eb79932,b8eea6b..7f38fe5 --- a/doc/source/development/testing.rst +++ b/doc/source/development/testing.rst @@@ -52,6 -51,6 +52,14 @@@ To run only the ``testStaticCompactTabl ant testsome -Dtest.name=org.apache.cassandra.cql3.SimpleQueryTest -Dtest.methods=testStaticCompactTables ++If you see an error like this:: ++ ++Throws: cassandra-trunk/build.xml:1134: taskdef A class needed by class org.krummas.junit.JStackJUnitTask cannot be found: ++org/apache/tools/ant/taskdefs/optional/junit/JUnitTask using the classloader ++AntClassLoader[/.../cassandra-trunk/lib/jstackjunit-0.0.1.jar] ++ ++You will need to install the ant-optional package since it contains the ``JUnitTask`` class. ++ Long running tests -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c7562d10 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7562d10 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7562d10 Branch: refs/heads/trunk Commit: c7562d1015308ae80628eeea16c701b0e15ebe58 Parents: 49f72af 8961246 Author: Sam Tunnicliffe Authored: Thu Dec 6 16:16:17 2018 + Committer: Sam Tunnicliffe Committed: Thu Dec 6 16:16:17 2018 + -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/14bbab64 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/14bbab64 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/14bbab64 Branch: refs/heads/trunk Commit: 14bbab64254fb56ee8c74cef3aee898a4920047d Parents: a8ae43c f77936d Author: Benedict Elliott Smith Authored: Fri Nov 30 12:13:30 2018 + Committer: Benedict Elliott Smith Committed: Fri Nov 30 12:13:30 2018 + -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a8ae43c0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a8ae43c0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a8ae43c0 Branch: refs/heads/trunk Commit: a8ae43c032d4e0631be8f8bff649c2ae781459e5 Parents: 1c8d0ad 1017fe0 Author: Jason Brown Authored: Thu Nov 29 10:51:16 2018 -0800 Committer: Jason Brown Committed: Thu Nov 29 10:52:06 2018 -0800 -- CHANGES.txt | 1 + .../org/apache/cassandra/transport/Message.java | 16 +++- 2 files changed, 16 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a8ae43c0/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a8ae43c0/src/java/org/apache/cassandra/transport/Message.java -- diff --cc src/java/org/apache/cassandra/transport/Message.java index 255af0e,d1f8f28..0571478 --- a/src/java/org/apache/cassandra/transport/Message.java +++ b/src/java/org/apache/cassandra/transport/Message.java @@@ -706,11 -610,23 +706,25 @@@ public abstract class Messag message = "Unexpected exception during request; channel = "; } -if (!alwaysLogAtError && exception instanceof IOException) +// netty wraps SSL errors in a CodecExcpetion +boolean isIOException = exception instanceof IOException || (exception.getCause() instanceof IOException); +if (!alwaysLogAtError && isIOException) { - if (ioExceptionsAtDebugLevel.contains(exception.getMessage())) + String errorMessage = exception.getMessage(); + boolean logAtTrace = false; + + for (String ioException : ioExceptionsAtDebugLevel) + { + // exceptions thrown from the netty epoll transport add the name of the function that failed + // to the exception string (which is simply wrapping a JDK exception), so we can't do a simple/naive comparison + if (errorMessage.contains(ioException)) + { + logAtTrace = true; + break; + } + } + + if (logAtTrace) { // Likely unclean client disconnects logger.trace(message, exception); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d8c549b6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d8c549b6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d8c549b6 Branch: refs/heads/trunk Commit: d8c549b689488e50ab398d52416e387860108037 Parents: 2ee9d68 e635317 Author: Benedict Elliott Smith Authored: Thu Nov 29 15:58:13 2018 + Committer: Benedict Elliott Smith Committed: Thu Nov 29 15:58:13 2018 + -- CHANGES.txt| 1 + .../org/apache/cassandra/db/rows/AbstractRow.java | 7 ++- .../org/apache/cassandra/db/rows/BTreeRow.java | 16 +--- src/java/org/apache/cassandra/db/rows/Row.java | 17 - .../cassandra/db/rows/UnfilteredSerializer.java| 8 .../apache/cassandra/cql3/GcCompactionTest.java| 2 +- .../validation/entities/SecondaryIndexTest.java| 16 .../db/SinglePartitionSliceCommandTest.java| 2 +- 8 files changed, 50 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/AbstractRow.java -- diff --cc src/java/org/apache/cassandra/db/rows/AbstractRow.java index 24b088f,8558466..f719db5 --- a/src/java/org/apache/cassandra/db/rows/AbstractRow.java +++ b/src/java/org/apache/cassandra/db/rows/AbstractRow.java @@@ -91,19 -99,12 +91,24 @@@ public abstract class AbstractRow imple cd.validate(); } +public boolean hasInvalidDeletions() +{ +if (primaryKeyLivenessInfo().isExpiring() && (primaryKeyLivenessInfo().ttl() < 0 || primaryKeyLivenessInfo().localExpirationTime() < 0)) +return true; +if (!deletion().time().validate()) +return true; +for (ColumnData cd : this) +if (cd.hasInvalidDeletions()) +return true; +return false; +} + + public String toString() + { + return columnData().toString(); + } + -public String toString(CFMetaData metadata) +public String toString(TableMetadata metadata) { return toString(metadata, false); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/BTreeRow.java -- diff --cc src/java/org/apache/cassandra/db/rows/BTreeRow.java index fff7750,ba81a4e..dc3219a --- a/src/java/org/apache/cassandra/db/rows/BTreeRow.java +++ b/src/java/org/apache/cassandra/db/rows/BTreeRow.java @@@ -192,9 -191,14 +192,14 @@@ public class BTreeRow extends AbstractR return clustering; } -public Collection columns() +public Collection columns() { - return Collections2.transform(this, ColumnData::column); + return Collections2.transform(columnData(), ColumnData::column); + } + + public int columnCount() + { + return BTree.size(btree); } public LivenessInfo primaryKeyLivenessInfo() @@@ -229,15 -233,20 +234,20 @@@ return cd.getCell(path); } -public ComplexColumnData getComplexColumnData(ColumnDefinition c) +public ComplexColumnData getComplexColumnData(ColumnMetadata c) { assert c.isComplex(); -return (ComplexColumnData) BTree.find(btree, ColumnDefinition.asymmetricColumnDataComparator, c); +return (ComplexColumnData) BTree.find(btree, ColumnMetadata.asymmetricColumnDataComparator, c); } - public int size() + @Override + public Collection columnData() { - return BTree.size(btree); + return new AbstractCollection() + { + @Override public Iterator iterator() { return BTreeRow.this.iterator(); } + @Override public int size() { return BTree.size(btree); } + }; } public Iterator iterator() http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/Row.java -- diff --cc src/java/org/apache/cassandra/db/rows/Row.java index 74c0040,9bff19d..0174adc --- a/src/java/org/apache/cassandra/db/rows/Row.java +++ b/src/java/org/apache/cassandra/db/rows/Row.java @@@ -60,8 -60,14 +60,14 @@@ public interface Row extends Unfiltered * An in-natural-order collection of the columns for which data (incl. simple tombstones) * is present in this row. */
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f2520d7a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f2520d7a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f2520d7a Branch: refs/heads/trunk Commit: f2520d7a55525d281ff43348b4b913b3ef344208 Parents: 3834a27 4a531c2 Author: Blake Eggleston Authored: Wed Nov 28 09:29:46 2018 -0800 Committer: Blake Eggleston Committed: Wed Nov 28 09:29:46 2018 -0800 -- CHANGES.txt | 3 ++ .../db/rows/RowAndDeletionMergeIterator.java| 40 +++- .../rows/RowAndDeletionMergeIteratorTest.java | 48 3 files changed, 82 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2520d7a/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2520d7a/src/java/org/apache/cassandra/db/rows/RowAndDeletionMergeIterator.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2520d7a/test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java -- diff --cc test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java index 0d790fc,2f48000..f590d36 --- a/test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java +++ b/test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java @@@ -341,6 -347,28 +346,28 @@@ public class RowAndDeletionMergeIterato assertFalse(iterator.hasNext()); } + /** + * RTL doesn't correctly merge range tombstones in some situations (see CASSANDRA-14894) + */ + @Test + public void testWithNoopBoundaryMarkers() + { -PartitionUpdate update = new PartitionUpdate(cfm, dk, cfm.partitionColumns(), 1); ++PartitionUpdate update = PartitionUpdate.emptyUpdate(cfm, dk); + RangeTombstoneList rtl = new RangeTombstoneList(cfm.comparator, 10); + rtl.add(rt(1, 2, 5, 5)); + rtl.add(rt(3, 4, 5, 5)); + rtl.add(rt(5, 6, 5, 5)); + rtl.add(rt(0, 8, 6, 6)); // <- supersedes all other tombstones + + Assert.assertEquals(3, rtl.size()); + + try (UnfilteredRowIterator partition = createMergeIterator(update.iterator(), rtl.iterator(), false)) + { + assertRtMarker(partition.next(), ClusteringPrefix.Kind.INCL_START_BOUND, 0); + assertRtMarker(partition.next(), ClusteringPrefix.Kind.INCL_END_BOUND, 8); + assertFalse(partition.hasNext()); + } + } private void assertRtMarker(Unfiltered unfiltered, ClusteringBoundOrBoundary bound) { - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3834a270 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3834a270 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3834a270 Branch: refs/heads/trunk Commit: 3834a270fcc17cc68d5c376a0282f5484df7a680 Parents: cdeac49 64d828b Author: Sam Tunnicliffe Authored: Wed Nov 28 16:12:29 2018 + Committer: Sam Tunnicliffe Committed: Wed Nov 28 16:12:29 2018 + -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/13108037 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/13108037 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/13108037 Branch: refs/heads/trunk Commit: 13108037177a30e103a84bca5dadb38d1c090453 Parents: 521542f 78c7d57 Author: Alex Petrov Authored: Mon Nov 19 08:57:14 2018 +0100 Committer: Alex Petrov Committed: Mon Nov 19 08:57:14 2018 +0100 -- src/java/org/apache/cassandra/dht/Range.java| 27 +++-- .../org/apache/cassandra/dht/RangeTest.java | 40 2 files changed, 63 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/13108037/src/java/org/apache/cassandra/dht/Range.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/13108037/test/unit/org/apache/cassandra/dht/RangeTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/521542ff Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/521542ff Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/521542ff Branch: refs/heads/trunk Commit: 521542ff26f9482b733e4f0f86281f07c3af29da Parents: f22fec9 2ed7c6a Author: Blake Eggleston Authored: Sat Nov 17 16:09:00 2018 -0800 Committer: Blake Eggleston Committed: Sat Nov 17 16:09:00 2018 -0800 -- .../org/apache/cassandra/db/SinglePartitionSliceCommandTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/521542ff/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java -- diff --cc test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java index f28bf41,97855a6..5dd408b --- a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java +++ b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java @@@ -339,12 -401,12 +339,12 @@@ public class SinglePartitionSliceComman public static List getUnfilteredsFromSinglePartition(String q) { -SelectStatement stmt = (SelectStatement) QueryProcessor.parseStatement(q).prepare(ClientState.forInternalCalls()).statement; +SelectStatement stmt = (SelectStatement) QueryProcessor.parseStatement(q).prepare(ClientState.forInternalCalls()); List unfiltereds = new ArrayList<>(); - SinglePartitionReadQuery.Group query = (SinglePartitionReadQuery.Group) stmt.getQuery(QueryOptions.DEFAULT, FBUtilities.nowInSeconds()); -SinglePartitionReadCommand.Group query = (SinglePartitionReadCommand.Group) stmt.getQuery(QueryOptions.DEFAULT, 0); -Assert.assertEquals(1, query.commands.size()); -SinglePartitionReadCommand command = Iterables.getOnlyElement(query.commands); ++SinglePartitionReadQuery.Group query = (SinglePartitionReadQuery.Group) stmt.getQuery(QueryOptions.DEFAULT, 0); +Assert.assertEquals(1, query.queries.size()); +SinglePartitionReadCommand command = Iterables.getOnlyElement(query.queries); try (ReadExecutionController controller = ReadExecutionController.forCommand(command); UnfilteredPartitionIterator partitions = command.executeLocally(controller)) { - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a4af73d2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a4af73d2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a4af73d2 Branch: refs/heads/trunk Commit: a4af73d2e16ccdd144e1e6a2d9b23f8df45446bf Parents: b80f6c6 5431b87 Author: Aleksey Yeshchenko Authored: Tue Nov 13 15:31:18 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 13 15:31:18 2018 + -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/918b1d8c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/918b1d8c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/918b1d8c Branch: refs/heads/trunk Commit: 918b1d8c643aae06ac7d8a34a5cf42e658e13969 Parents: 2adfa92 d17836d Author: Marcus Eriksson Authored: Mon Nov 12 09:47:18 2018 +0100 Committer: Marcus Eriksson Committed: Mon Nov 12 09:47:18 2018 +0100 -- CHANGES.txt| 1 + .../cassandra/db/compaction/TimeWindowCompactionStrategy.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/918b1d8c/CHANGES.txt -- diff --cc CHANGES.txt index 4081fce,e07099a..a7a75c0 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,331 -1,6 +1,332 @@@ +4.0 + * Fix incorrect sorting of replicas in SimpleStrategy.calculateNaturalReplicas (CASSANDRA-14862) + * Partitioned outbound internode TCP connections can occur when nodes restart (CASSANDRA-14358) + * Don't write to system_distributed.repair_history, system_traces.sessions, system_traces.events in mixed version 3.X/4.0 clusters (CASSANDRA-14841) + * Avoid running query to self through messaging service (CASSANDRA-14807) + * Allow using custom script for chronicle queue BinLog archival (CASSANDRA-14373) + * Transient->Full range movements mishandle consistency level upgrade (CASSANDRA-14759) + * ReplicaCollection follow-up (CASSANDRA-14726) + * Transient node receives full data requests (CASSANDRA-14762) + * Enable snapshot artifacts publish (CASSANDRA-12704) + * Introduce RangesAtEndpoint.unwrap to simplify StreamSession.addTransferRanges (CASSANDRA-14770) + * LOCAL_QUORUM may speculate to non-local nodes, resulting in Timeout instead of Unavailable (CASSANDRA-14735) + * Avoid creating empty compaction tasks after truncate (CASSANDRA-14780) + * Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763) + * Add a check for receiving digest response from transient node (CASSANDRA-14750) + * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704) + * Remove mentions of transient replication from repair path (CASSANDRA-14698) + * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720) + * Allow transient node to serve as a repair coordinator (CASSANDRA-14693) + * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696) + * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700) + * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145) + * Add checksumming to the native protocol (CASSANDRA-13304) + * Make AuthCache more easily extendable (CASSANDRA-14662) + * Extend RolesCache to include detailed role info (CASSANDRA-14497) + * Add fqltool compare (CASSANDRA-14619) + * Add fqltool replay (CASSANDRA-14618) + * Log keyspace in full query log (CASSANDRA-14656) + * Transient Replication and Cheap Quorums (CASSANDRA-14404) + * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675) + * Add diagnostic events for read repairs (CASSANDRA-14668) + * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671) + * Add sampler for query time and expose with nodetool (CASSANDRA-14436) + * Clean up Message.Request implementations (CASSANDRA-14677) + * Disable old native protocol versions on demand (CASANDRA-14659) + * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664) + * Improve BTree build performance by avoiding data copy (CASSANDRA-9989) + * Make monotonic read / read repair configurable (CASSANDRA-14635) + * Refactor CompactionStrategyManager (CASSANDRA-14621) + * Flush netty client messages immediately by default (CASSANDRA-13651) + * Improve read repair blocking behavior (CASSANDRA-10726) + * Add a virtual table to expose settings (CASSANDRA-14573) + * Fix up chunk cache handling of metrics (CASSANDRA-14628) + * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652) + * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574) + * Add diagnostic events for user audit logging (CASSANDRA-13668) + * Allow retrieving diagnostic events via JMX (CASSANDRA-14435) + * Add base classes for diagnostic events (CASSANDRA-13457) + * Clear view system metadata when dropping keyspace (CASSANDRA-14646) + *
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/51c8387d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/51c8387d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/51c8387d Branch: refs/heads/trunk Commit: 51c8387deac074ee404eba0070016867253d90b1 Parents: 6ec4452 7eecf89 Author: Blake Eggleston Authored: Tue Nov 6 12:00:06 2018 -0800 Committer: Blake Eggleston Committed: Tue Nov 6 12:00:06 2018 -0800 -- .../io/sstable/metadata/MetadataCollector.java| 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/51c8387d/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java -- diff --cc src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java index d7c6b61,0ac5187..19fa20c mode 100755,100644..100755 --- a/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java @@@ -99,10 -96,10 +100,10 @@@ public class MetadataCollector implemen protected final MinMaxIntTracker localDeletionTimeTracker = new MinMaxIntTracker(Cell.NO_DELETION_TIME, Cell.NO_DELETION_TIME); protected final MinMaxIntTracker ttlTracker = new MinMaxIntTracker(Cell.NO_TTL, Cell.NO_TTL); protected double compressionRatio = NO_COMPRESSION_RATIO; -protected StreamingHistogram.StreamingHistogramBuilder estimatedTombstoneDropTime = defaultTombstoneDropTimeHistogramBuilder(); +protected StreamingTombstoneHistogramBuilder estimatedTombstoneDropTime = new StreamingTombstoneHistogramBuilder(SSTable.TOMBSTONE_HISTOGRAM_BIN_SIZE, SSTable.TOMBSTONE_HISTOGRAM_SPOOL_SIZE, SSTable.TOMBSTONE_HISTOGRAM_TTL_ROUND_SECONDS); protected int sstableLevel; - private ClusteringPrefix minClustering = ClusteringBound.TOP; - private ClusteringPrefix maxClustering = ClusteringBound.BOTTOM; + private ClusteringPrefix minClustering = null; + private ClusteringPrefix maxClustering = null; protected boolean hasLegacyCounterShards = false; protected long totalColumnsSet; protected long totalRows; @@@ -269,9 -272,12 +270,12 @@@ this.hasLegacyCounterShards = this.hasLegacyCounterShards || hasLegacyCounterShards; } -public Map finalizeMetadata(String partitioner, double bloomFilterFPChance, long repairedAt, SerializationHeader header) +public Map finalizeMetadata(String partitioner, double bloomFilterFPChance, long repairedAt, UUID pendingRepair, boolean isTransient, SerializationHeader header) { - Preconditions.checkState(comparator.compare(maxClustering, minClustering) >= 0); + Preconditions.checkState((minClustering == null && maxClustering == null) + || comparator.compare(maxClustering, minClustering) >= 0); + ByteBuffer[] minValues = minClustering != null ? minClustering.getRawValues() : EMPTY_CLUSTERING; + ByteBuffer[] maxValues = maxClustering != null ? maxClustering.getRawValues() : EMPTY_CLUSTERING; Map components = new EnumMap<>(MetadataType.class); components.put(MetadataType.VALIDATION, new ValidationMetadata(partitioner, bloomFilterFPChance)); components.put(MetadataType.STATS, new StatsMetadata(estimatedPartitionSize, - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6ec44528 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6ec44528 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6ec44528 Branch: refs/heads/trunk Commit: 6ec445282ad2ed0620d7fd16f23fab256123e7cf Parents: bfbc527 a6a9dce Author: Blake Eggleston Authored: Tue Nov 6 11:19:55 2018 -0800 Committer: Blake Eggleston Committed: Tue Nov 6 11:20:52 2018 -0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/Slice.java | 25 +- .../cassandra/io/sstable/format/Version.java| 2 + .../io/sstable/format/big/BigFormat.java| 10 +++ .../io/sstable/metadata/MetadataCollector.java | 25 +++--- .../io/sstable/metadata/StatsMetadata.java | 14 ++- .../mc-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../mc-1-big-Data.db| Bin 0 -> 65 bytes .../mc-1-big-Digest.crc32 | 1 + .../mc-1-big-Filter.db | Bin 0 -> 16 bytes .../mc-1-big-Index.db | Bin 0 -> 8 bytes .../mc-1-big-Statistics.db | Bin 0 -> 4789 bytes .../mc-1-big-Summary.db | Bin 0 -> 56 bytes .../mc-1-big-TOC.txt| 8 ++ .../db/SinglePartitionSliceCommandTest.java | 89 +++ .../cassandra/io/sstable/LegacySSTableTest.java | 35 +++- 16 files changed, 170 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ec44528/CHANGES.txt -- diff --cc CHANGES.txt index 41b3da9,f923fa0..2373cb2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,330 -1,6 +1,331 @@@ +4.0 + * Partitioned outbound internode TCP connections can occur when nodes restart (CASSANDRA-14358) + * Don't write to system_distributed.repair_history, system_traces.sessions, system_traces.events in mixed version 3.X/4.0 clusters (CASSANDRA-14841) + * Avoid running query to self through messaging service (CASSANDRA-14807) + * Allow using custom script for chronicle queue BinLog archival (CASSANDRA-14373) + * Transient->Full range movements mishandle consistency level upgrade (CASSANDRA-14759) + * ReplicaCollection follow-up (CASSANDRA-14726) + * Transient node receives full data requests (CASSANDRA-14762) + * Enable snapshot artifacts publish (CASSANDRA-12704) + * Introduce RangesAtEndpoint.unwrap to simplify StreamSession.addTransferRanges (CASSANDRA-14770) + * LOCAL_QUORUM may speculate to non-local nodes, resulting in Timeout instead of Unavailable (CASSANDRA-14735) + * Avoid creating empty compaction tasks after truncate (CASSANDRA-14780) + * Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763) + * Add a check for receiving digest response from transient node (CASSANDRA-14750) + * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704) + * Remove mentions of transient replication from repair path (CASSANDRA-14698) + * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720) + * Allow transient node to serve as a repair coordinator (CASSANDRA-14693) + * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696) + * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700) + * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145) + * Add checksumming to the native protocol (CASSANDRA-13304) + * Make AuthCache more easily extendable (CASSANDRA-14662) + * Extend RolesCache to include detailed role info (CASSANDRA-14497) + * Add fqltool compare (CASSANDRA-14619) + * Add fqltool replay (CASSANDRA-14618) + * Log keyspace in full query log (CASSANDRA-14656) + * Transient Replication and Cheap Quorums (CASSANDRA-14404) + * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675) + * Add diagnostic events for read repairs (CASSANDRA-14668) + * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671) + * Add sampler for query time and expose with nodetool (CASSANDRA-14436) + * Clean up Message.Request implementations (CASSANDRA-14677) + * Disable old native protocol versions on demand (CASANDRA-14659) + * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664) + * Improve BTree build performance by avoiding data copy (CASSANDRA-9989) + * Make monotonic read / read repair configurable
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf6ddb3b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf6ddb3b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf6ddb3b Branch: refs/heads/trunk Commit: bf6ddb3bc8af19fd5b7c300c32e0d0071bcef192 Parents: c3ef43d 6308fb2 Author: Aleksey Yeshchenko Authored: Tue Oct 23 23:32:49 2018 +0100 Committer: Aleksey Yeshchenko Committed: Tue Oct 23 23:35:49 2018 +0100 -- build.xml | 34 + .../utils/memory/LongBufferPoolTest.java| 623 --- 2 files changed, 421 insertions(+), 236 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf6ddb3b/build.xml -- diff --cc build.xml index 28c33bf,c9565f8..3d3014c --- a/build.xml +++ b/build.xml @@@ -1441,17 -1400,14 +1441,26 @@@ + + + + + + + + ++ + + + + + - ++ + http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf6ddb3b/test/burn/org/apache/cassandra/utils/memory/LongBufferPoolTest.java -- diff --cc test/burn/org/apache/cassandra/utils/memory/LongBufferPoolTest.java index 17ac569,66abe5a..57aa940 --- a/test/burn/org/apache/cassandra/utils/memory/LongBufferPoolTest.java +++ b/test/burn/org/apache/cassandra/utils/memory/LongBufferPoolTest.java @@@ -27,11 -27,11 +27,13 @@@ import java.util.concurrent.* import java.util.concurrent.atomic.AtomicBoolean; import com.google.common.util.concurrent.Uninterruptibles; ++import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; ++import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.utils.DynamicList; import static org.junit.Assert.*; @@@ -40,6 -62,10 +64,16 @@@ public class LongBufferPoolTes { private static final Logger logger = LoggerFactory.getLogger(LongBufferPoolTest.class); + private static final int AVG_BUFFER_SIZE = 16 << 10; + private static final int STDEV_BUFFER_SIZE = 10 << 10; // picked to ensure exceeding buffer size is rare, but occurs + private static final DateFormat DATE_FORMAT = new SimpleDateFormat("/MM/dd HH:mm:ss"); + ++@BeforeClass ++public static void setup() throws Exception ++{ ++DatabaseDescriptor.daemonInitialization(); ++} ++ @Test public void testAllocate() throws InterruptedException, ExecutionException { @@@ -407,9 -535,19 +543,20 @@@ } } - public static void main(String[] args) throws InterruptedException, ExecutionException + public static void main(String[] args) { - new LongBufferPoolTest().testAllocate(Runtime.getRuntime().availableProcessors(), TimeUnit.HOURS.toNanos(2L), 16 << 20); + try + { ++LongBufferPoolTest.setup(); + new LongBufferPoolTest().testAllocate(Runtime.getRuntime().availableProcessors(), + TimeUnit.HOURS.toNanos(2L), 16 << 20); + System.exit(0); + } + catch (Throwable tr) + { + System.out.println(String.format("Test failed - %s", tr.getMessage())); + System.exit(1); // Force exit so that non-daemon threads like REQUEST-SCHEDULER do not hang the process on failure + } } /** - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/12a585c9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/12a585c9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/12a585c9 Branch: refs/heads/trunk Commit: 12a585c9197002c0d7f7084f90cd54fe53c05949 Parents: 26c0efa 075f458 Author: Blake Eggleston Authored: Tue Oct 16 12:48:59 2018 -0700 Committer: Blake Eggleston Committed: Tue Oct 16 12:48:59 2018 -0700 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/26c0efa0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/26c0efa0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/26c0efa0 Branch: refs/heads/trunk Commit: 26c0efa0875077d13aa94f338f119a4303161a9d Parents: e82ecf8 4e6eb9a Author: Aleksey Yeshchenko Authored: Tue Oct 16 17:26:11 2018 +0100 Committer: Aleksey Yeshchenko Committed: Tue Oct 16 17:26:11 2018 +0100 -- CHANGES.txt | 2 + .../cassandra/db/PartitionRangeReadCommand.java | 5 +- .../org/apache/cassandra/db/ReadCommand.java| 10 ++-- .../db/SinglePartitionReadCommand.java | 41 +++-- .../UnfilteredRowIteratorWithLowerBound.java| 7 ++- .../cassandra/db/transform/RTBoundCloser.java | 16 +++ .../db/transform/RTBoundValidator.java | 25 -- .../db/transform/RTTransformationsTest.java | 48 ++-- 8 files changed, 113 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/26c0efa0/CHANGES.txt -- diff --cc CHANGES.txt index ef60329,d02226e..15cbf71 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,328 -1,7 +1,330 @@@ +4.0 + * Avoid running query to self through messaging service (CASSANDRA-14807) + * Allow using custom script for chronicle queue BinLog archival (CASSANDRA-14373) + * Transient->Full range movements mishandle consistency level upgrade (CASSANDRA-14759) + * ReplicaCollection follow-up (CASSANDRA-14726) + * Transient node receives full data requests (CASSANDRA-14762) + * Enable snapshot artifacts publish (CASSANDRA-12704) + * Introduce RangesAtEndpoint.unwrap to simplify StreamSession.addTransferRanges (CASSANDRA-14770) + * LOCAL_QUORUM may speculate to non-local nodes, resulting in Timeout instead of Unavailable (CASSANDRA-14735) + * Avoid creating empty compaction tasks after truncate (CASSANDRA-14780) + * Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763) + * Add a check for receiving digest response from transient node (CASSANDRA-14750) + * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704) + * Remove mentions of transient replication from repair path (CASSANDRA-14698) + * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720) + * Allow transient node to serve as a repair coordinator (CASSANDRA-14693) + * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696) + * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700) + * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145) + * Add checksumming to the native protocol (CASSANDRA-13304) + * Make AuthCache more easily extendable (CASSANDRA-14662) + * Extend RolesCache to include detailed role info (CASSANDRA-14497) + * Add fqltool compare (CASSANDRA-14619) + * Add fqltool replay (CASSANDRA-14618) + * Log keyspace in full query log (CASSANDRA-14656) + * Transient Replication and Cheap Quorums (CASSANDRA-14404) + * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675) + * Add diagnostic events for read repairs (CASSANDRA-14668) + * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671) + * Add sampler for query time and expose with nodetool (CASSANDRA-14436) + * Clean up Message.Request implementations (CASSANDRA-14677) + * Disable old native protocol versions on demand (CASANDRA-14659) + * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664) + * Improve BTree build performance by avoiding data copy (CASSANDRA-9989) + * Make monotonic read / read repair configurable (CASSANDRA-14635) + * Refactor CompactionStrategyManager (CASSANDRA-14621) + * Flush netty client messages immediately by default (CASSANDRA-13651) + * Improve read repair blocking behavior (CASSANDRA-10726) + * Add a virtual table to expose settings (CASSANDRA-14573) + * Fix up chunk cache handling of metrics (CASSANDRA-14628) + * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652) + * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574) + * Add diagnostic events for user audit logging (CASSANDRA-13668) + * Allow retrieving diagnostic events via JMX (CASSANDRA-14435) + * Add base classes for diagnostic events (CASSANDRA-13457) + * Clear view system metadata when dropping keyspace
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a9138c5e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a9138c5e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a9138c5e Branch: refs/heads/trunk Commit: a9138c5e9cfabd4059848c7e611520ca2239edd2 Parents: bd0cef9 7030356 Author: Blake Eggleston Authored: Thu Oct 4 13:00:13 2018 -0700 Committer: Blake Eggleston Committed: Thu Oct 4 13:00:13 2018 -0700 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/42c92b97 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/42c92b97 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/42c92b97 Branch: refs/heads/trunk Commit: 42c92b9768b58884e426490e103583b82e892d4e Parents: a063688 c7e6eee Author: Marcus Eriksson Authored: Fri Sep 28 12:56:08 2018 +0200 Committer: Marcus Eriksson Committed: Fri Sep 28 12:56:08 2018 +0200 -- CHANGES.txt | 1 + .../cassandra/index/SecondaryIndexManager.java | 5 +++- .../apache/cassandra/index/CustomIndexTest.java | 31 3 files changed, 36 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/42c92b97/CHANGES.txt -- diff --cc CHANGES.txt index 0d3571d,dfc0eeb..e89c1c5 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,323 -1,6 +1,324 @@@ +4.0 + * Enable snapshot artifacts publish (CASSANDRA-12704) + * Introduce RangesAtEndpoint.unwrap to simplify StreamSession.addTransferRanges (CASSANDRA-14770) + * LOCAL_QUORUM may speculate to non-local nodes, resulting in Timeout instead of Unavailable (CASSANDRA-14735) + * Avoid creating empty compaction tasks after truncate (CASSANDRA-14780) + * Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763) + * Add a check for receiving digest response from transient node (CASSANDRA-14750) + * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704) + * Remove mentions of transient replication from repair path (CASSANDRA-14698) + * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720) + * Allow transient node to serve as a repair coordinator (CASSANDRA-14693) + * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696) + * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700) + * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145) + * Add checksumming to the native protocol (CASSANDRA-13304) + * Make AuthCache more easily extendable (CASSANDRA-14662) + * Extend RolesCache to include detailed role info (CASSANDRA-14497) + * Add fqltool compare (CASSANDRA-14619) + * Add fqltool replay (CASSANDRA-14618) + * Log keyspace in full query log (CASSANDRA-14656) + * Transient Replication and Cheap Quorums (CASSANDRA-14404) + * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675) + * Add diagnostic events for read repairs (CASSANDRA-14668) + * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671) + * Add sampler for query time and expose with nodetool (CASSANDRA-14436) + * Clean up Message.Request implementations (CASSANDRA-14677) + * Disable old native protocol versions on demand (CASANDRA-14659) + * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664) + * Improve BTree build performance by avoiding data copy (CASSANDRA-9989) + * Make monotonic read / read repair configurable (CASSANDRA-14635) + * Refactor CompactionStrategyManager (CASSANDRA-14621) + * Flush netty client messages immediately by default (CASSANDRA-13651) + * Improve read repair blocking behavior (CASSANDRA-10726) + * Add a virtual table to expose settings (CASSANDRA-14573) + * Fix up chunk cache handling of metrics (CASSANDRA-14628) + * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652) + * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574) + * Add diagnostic events for user audit logging (CASSANDRA-13668) + * Allow retrieving diagnostic events via JMX (CASSANDRA-14435) + * Add base classes for diagnostic events (CASSANDRA-13457) + * Clear view system metadata when dropping keyspace (CASSANDRA-14646) + * Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637) + * Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640) + * Revert 4.0 GC alg back to CMS (CASANDRA-14636) + * Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627) + * Update netty to 4.1.128 (CASSANDRA-14633) + * Add a virtual table to expose thread pools (CASSANDRA-14523) + * Add a virtual table to expose caches (CASSANDRA-14538, CASSANDRA-14626) + * Fix toDate function for timestamp arguments (CASSANDRA-14502) + * Revert running dtests by default in circleci (CASSANDRA-14614) + * Stream entire SSTables when possible (CASSANDRA-14556) +
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/210da3dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/210da3dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/210da3dc Branch: refs/heads/trunk Commit: 210da3dc003a4107e125d0276476c289f2a2b97c Parents: 5069b2c c34a0f5 Author: Aleksey Yeshchenko Authored: Tue Sep 25 17:46:05 2018 +0100 Committer: Aleksey Yeshchenko Committed: Tue Sep 25 17:46:05 2018 +0100 -- CHANGES.txt | 2 + .../db/rows/RangeTombstoneBoundaryMarker.java | 4 +- .../db/partitions/PurgeFunctionTest.java| 296 +++ 3 files changed, 300 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/210da3dc/CHANGES.txt -- diff --cc CHANGES.txt index b39fe03,20cec87..9f7958c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,320 -1,7 +1,322 @@@ +4.0 + * Avoid creating empty compaction tasks after truncate (CASSANDRA-14780) + * Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763) + * Add a check for receiving digest response from transient node (CASSANDRA-14750) + * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704) + * Remove mentions of transient replication from repair path (CASSANDRA-14698) + * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720) + * Allow transient node to serve as a repair coordinator (CASSANDRA-14693) + * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696) + * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700) + * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145) + * Add checksumming to the native protocol (CASSANDRA-13304) + * Make AuthCache more easily extendable (CASSANDRA-14662) + * Extend RolesCache to include detailed role info (CASSANDRA-14497) + * Add fqltool compare (CASSANDRA-14619) + * Add fqltool replay (CASSANDRA-14618) + * Log keyspace in full query log (CASSANDRA-14656) + * Transient Replication and Cheap Quorums (CASSANDRA-14404) + * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675) + * Add diagnostic events for read repairs (CASSANDRA-14668) + * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671) + * Add sampler for query time and expose with nodetool (CASSANDRA-14436) + * Clean up Message.Request implementations (CASSANDRA-14677) + * Disable old native protocol versions on demand (CASANDRA-14659) + * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664) + * Improve BTree build performance by avoiding data copy (CASSANDRA-9989) + * Make monotonic read / read repair configurable (CASSANDRA-14635) + * Refactor CompactionStrategyManager (CASSANDRA-14621) + * Flush netty client messages immediately by default (CASSANDRA-13651) + * Improve read repair blocking behavior (CASSANDRA-10726) + * Add a virtual table to expose settings (CASSANDRA-14573) + * Fix up chunk cache handling of metrics (CASSANDRA-14628) + * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652) + * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574) + * Add diagnostic events for user audit logging (CASSANDRA-13668) + * Allow retrieving diagnostic events via JMX (CASSANDRA-14435) + * Add base classes for diagnostic events (CASSANDRA-13457) + * Clear view system metadata when dropping keyspace (CASSANDRA-14646) + * Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637) + * Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640) + * Revert 4.0 GC alg back to CMS (CASANDRA-14636) + * Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627) + * Update netty to 4.1.128 (CASSANDRA-14633) + * Add a virtual table to expose thread pools (CASSANDRA-14523) + * Add a virtual table to expose caches (CASSANDRA-14538, CASSANDRA-14626) + * Fix toDate function for timestamp arguments (CASSANDRA-14502) + * Revert running dtests by default in circleci (CASSANDRA-14614) + * Stream entire SSTables when possible (CASSANDRA-14556) + * Cell reconciliation should not depend on nowInSec (CASSANDRA-14592) + * Add experimental support for Java 11 (CASSANDRA-9608) + * Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable (CASSANDRA-14580) + * Improve logging in MessageInHandler's
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5069b2c0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5069b2c0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5069b2c0 Branch: refs/heads/trunk Commit: 5069b2c0ffc3aa335523e7b598cae05ee50ded8a Parents: 44cffc0 4d3f5a3 Author: Aleksey Yeshchenko Authored: Tue Sep 25 17:05:10 2018 +0100 Committer: Aleksey Yeshchenko Committed: Tue Sep 25 17:05:10 2018 +0100 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e36a445 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e36a445 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e36a445 Branch: refs/heads/trunk Commit: 9e36a445b3cbc7c4b28980fe93e3d1cb3edd34d8 Parents: ee9e06b 4f30dae Author: Benedict Elliott Smith Authored: Thu Sep 20 14:24:41 2018 +0100 Committer: Benedict Elliott Smith Committed: Thu Sep 20 14:24:41 2018 +0100 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/05dbb3e0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/05dbb3e0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/05dbb3e0 Branch: refs/heads/trunk Commit: 05dbb3e0ac3e261e66a70afb2b0a00ab5947b2ad Parents: c2c43f8 2725d50 Author: Marcus Eriksson Authored: Fri Sep 14 08:43:54 2018 +0200 Committer: Marcus Eriksson Committed: Fri Sep 14 08:43:54 2018 +0200 -- CHANGES.txt | 1 + .../cassandra/db/compaction/CompactionManager.java | 12 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/05dbb3e0/CHANGES.txt -- diff --cc CHANGES.txt index a30bec7,4f2a649..3c3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,317 -1,6 +1,318 @@@ +4.0 + * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704) + * Remove mentions of transient replication from repair path (CASSANDRA-14698) + * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720) + * Allow transient node to serve as a repair coordinator (CASSANDRA-14693) + * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696) + * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700) + * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145) + * Add checksumming to the native protocol (CASSANDRA-13304) + * Make AuthCache more easily extendable (CASSANDRA-14662) + * Extend RolesCache to include detailed role info (CASSANDRA-14497) + * Add fqltool compare (CASSANDRA-14619) + * Add fqltool replay (CASSANDRA-14618) + * Log keyspace in full query log (CASSANDRA-14656) + * Transient Replication and Cheap Quorums (CASSANDRA-14404) + * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675) + * Add diagnostic events for read repairs (CASSANDRA-14668) + * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671) + * Add sampler for query time and expose with nodetool (CASSANDRA-14436) + * Clean up Message.Request implementations (CASSANDRA-14677) + * Disable old native protocol versions on demand (CASANDRA-14659) + * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664) + * Improve BTree build performance by avoiding data copy (CASSANDRA-9989) + * Make monotonic read / read repair configurable (CASSANDRA-14635) + * Refactor CompactionStrategyManager (CASSANDRA-14621) + * Flush netty client messages immediately by default (CASSANDRA-13651) + * Improve read repair blocking behavior (CASSANDRA-10726) + * Add a virtual table to expose settings (CASSANDRA-14573) + * Fix up chunk cache handling of metrics (CASSANDRA-14628) + * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652) + * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574) + * Add diagnostic events for user audit logging (CASSANDRA-13668) + * Allow retrieving diagnostic events via JMX (CASSANDRA-14435) + * Add base classes for diagnostic events (CASSANDRA-13457) + * Clear view system metadata when dropping keyspace (CASSANDRA-14646) + * Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637) + * Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640) + * Revert 4.0 GC alg back to CMS (CASANDRA-14636) + * Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627) + * Update netty to 4.1.128 (CASSANDRA-14633) + * Add a virtual table to expose thread pools (CASSANDRA-14523) + * Add a virtual table to expose caches (CASSANDRA-14538, CASSANDRA-14626) + * Fix toDate function for timestamp arguments (CASSANDRA-14502) + * Revert running dtests by default in circleci (CASSANDRA-14614) + * Stream entire SSTables when possible (CASSANDRA-14556) + * Cell reconciliation should not depend on nowInSec (CASSANDRA-14592) + * Add experimental support for Java 11 (CASSANDRA-9608) + * Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable (CASSANDRA-14580) + * Improve logging in MessageInHandler's constructor (CASSANDRA-14576) + * Set broadcast address in internode messaging handshake (CASSANDRA-14579) + * Wait for schema agreement prior to building MVs (CASSANDRA-14571) + * Make all DDL statements idempotent and not dependent on global state (CASSANDRA-13426) + * Bump the hints messaging version to match the current one
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/df892a38 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/df892a38 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/df892a38 Branch: refs/heads/trunk Commit: df892a38ff7fc083f33e3f2d8d77a2590f58898d Parents: cba5d51 d8b7630 Author: Benedict Elliott Smith Authored: Fri Aug 24 17:30:31 2018 +0100 Committer: Benedict Elliott Smith Committed: Fri Aug 24 17:30:31 2018 +0100 -- src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/df892a38/src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java -- diff --cc src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java index 7b75fad,e8bcee1..44ac0a0 --- a/src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java +++ b/src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java @@@ -39,7 -43,29 +39,7 @@@ public class SortedBiMultiValMap public static , V extends Comparable> SortedBiMultiValMap create(BiMultiValMap map) { SortedBiMultiValMap newMap = SortedBiMultiValMap.create(); - newMap.forwardMap.putAll(map); -copy(map, newMap); -return newMap; -} - -public static SortedBiMultiValMap create(BiMultiValMap map, Comparator keyComparator, Comparator valueComparator) -{ -SortedBiMultiValMap newMap = create(keyComparator, valueComparator); -copy(map, newMap); -return newMap; -} - -private static void copy(BiMultiValMap map, BiMultiValMap newMap) -{ + newMap.forwardMap.putAll(map.forwardMap); // Put each individual TreeSet instead of Multimap#putAll(Multimap) to get linear complexity // See CASSANDRA-14660 for (Entry> entry : map.inverse().asMap().entrySet()) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/186a8609 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/186a8609 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/186a8609 Branch: refs/heads/trunk Commit: 186a8609bc8617c738afee1d750090f9bacb78b6 Parents: 96ef514 8922ecd Author: Benedict Elliott Smith Authored: Fri Aug 24 16:09:34 2018 +0100 Committer: Benedict Elliott Smith Committed: Fri Aug 24 16:09:34 2018 +0100 -- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/186a8609/CHANGES.txt -- diff --cc CHANGES.txt index c64881a,7c915d9..cd96555 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,293 -1,6 +1,294 @@@ +4.0 + * Flush netty client messages immediately by default (CASSANDRA-13651) + * Improve read repair blocking behavior (CASSANDRA-10726) + * Add a virtual table to expose settings (CASSANDRA-14573) + * Fix up chunk cache handling of metrics (CASSANDRA-14628) + * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652) + * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574) + * Add diagnostic events for user audit logging (CASSANDRA-13668) + * Allow retrieving diagnostic events via JMX (CASSANDRA-14435) + * Add base classes for diagnostic events (CASSANDRA-13457) + * Clear view system metadata when dropping keyspace (CASSANDRA-14646) + * Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637) + * Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640) + * Revert 4.0 GC alg back to CMS (CASANDRA-14636) + * Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627) + * Update netty to 4.1.128 (CASSANDRA-14633) + * Add a virtual table to expose thread pools (CASSANDRA-14523) + * Add a virtual table to expose caches (CASSANDRA-14538, CASSANDRA-14626) + * Fix toDate function for timestamp arguments (CASSANDRA-14502) + * Revert running dtests by default in circleci (CASSANDRA-14614) + * Stream entire SSTables when possible (CASSANDRA-14556) + * Cell reconciliation should not depend on nowInSec (CASSANDRA-14592) + * Add experimental support for Java 11 (CASSANDRA-9608) + * Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable (CASSANDRA-14580) + * Improve logging in MessageInHandler's constructor (CASSANDRA-14576) + * Set broadcast address in internode messaging handshake (CASSANDRA-14579) + * Wait for schema agreement prior to building MVs (CASSANDRA-14571) + * Make all DDL statements idempotent and not dependent on global state (CASSANDRA-13426) + * Bump the hints messaging version to match the current one (CASSANDRA-14536) + * OffsetAwareConfigurationLoader doesn't set ssl storage port causing bind errors in CircleCI (CASSANDRA-14546) + * Report why native_transport_port fails to bind (CASSANDRA-14544) + * Optimize internode messaging protocol (CASSANDRA-14485) + * Internode messaging handshake sends wrong messaging version number (CASSANDRA-14540) + * Add a virtual table to expose active client connections (CASSANDRA-14458) + * Clean up and refactor client metrics (CASSANDRA-14524) + * Nodetool import row cache invalidation races with adding sstables to tracker (CASSANDRA-14529) + * Fix assertions in LWTs after TableMetadata was made immutable (CASSANDRA-14356) + * Abort compactions quicker (CASSANDRA-14397) + * Support light-weight transactions in cassandra-stress (CASSANDRA-13529) + * Make AsyncOneResponse use the correct timeout (CASSANDRA-14509) + * Add option to sanity check tombstones on reads/compactions (CASSANDRA-14467) + * Add a virtual table to expose all running sstable tasks (CASSANDRA-14457) + * Let nodetool import take a list of directories (CASSANDRA-14442) + * Avoid unneeded memory allocations / cpu for disabled log levels (CASSANDRA-14488) + * Implement virtual keyspace interface (CASSANDRA-7622) + * nodetool import cleanup and improvements (CASSANDRA-14417) + * Bump jackson version to >= 2.9.5 (CASSANDRA-14427) + * Allow nodetool toppartitions without specifying table (CASSANDRA-14360) + * Audit logging for database activity (CASSANDRA-12151) + * Clean up build artifacts in docs container (CASSANDRA-14432) + * Minor network authz improvements (Cassandra-14413) + * Automatic sstable upgrades (CASSANDRA-14197) + * Replace deprecated junit.framework.Assert usages with org.junit.Assert (CASSANDRA-14431) + * Cassandra-stress throws NPE if insert section isn't specified in user profile (CASSSANDRA-14426) + * List clients by protocol versions `nodetool clientstats --by-protocol` (CASSANDRA-14335) + *
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ffde38a2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ffde38a2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ffde38a2 Branch: refs/heads/trunk Commit: ffde38a2567517da780c0411b0338d5a445ea551 Parents: f5adeeb 68f8966 Author: Benedict Elliott Smith Authored: Fri Aug 24 15:49:02 2018 +0100 Committer: Benedict Elliott Smith Committed: Fri Aug 24 15:49:02 2018 +0100 -- .../cassandra/utils/SortedBiMultiValMap.java| 35 +++- 1 file changed, 5 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffde38a2/src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java -- diff --cc src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java index 368d3f5,f628061..7b75fad --- a/src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java +++ b/src/java/org/apache/cassandra/utils/SortedBiMultiValMap.java @@@ -17,7 -17,8 +17,7 @@@ */ package org.apache.cassandra.utils; - import java.util.Comparator; + import java.util.Collection; -import java.util.Comparator; import java.util.SortedMap; import java.util.TreeMap; @@@ -36,40 -40,41 +36,15 @@@ public class SortedBiMultiValMap return new SortedBiMultiValMap(new TreeMap(), TreeMultimap.create()); } --public static SortedBiMultiValMap create(Comparator keyComparator, Comparator valueComparator) --{ --if (keyComparator == null) --keyComparator = defaultComparator(); --if (valueComparator == null) --valueComparator = defaultComparator(); --return new SortedBiMultiValMap(new TreeMap(keyComparator), TreeMultimap.create(valueComparator, keyComparator)); --} -- public static , V extends Comparable> SortedBiMultiValMap create(BiMultiValMap map) { SortedBiMultiValMap newMap = SortedBiMultiValMap.create(); -copy(map, newMap); -return newMap; -} - -public static SortedBiMultiValMap create(BiMultiValMap map, Comparator keyComparator, Comparator valueComparator) -{ -SortedBiMultiValMap newMap = create(keyComparator, valueComparator); -copy(map, newMap); -return newMap; -} - -private static void copy(BiMultiValMap map, BiMultiValMap newMap) -{ newMap.forwardMap.putAll(map); - newMap.reverseMap.putAll(map.inverse()); - return newMap; - } - - public static SortedBiMultiValMap create(BiMultiValMap map, Comparator keyComparator, Comparator valueComparator) - { - SortedBiMultiValMap newMap = create(keyComparator, valueComparator); - newMap.forwardMap.putAll(map); - newMap.reverseMap.putAll(map.inverse()); + // Put each individual TreeSet instead of Multimap#putAll(Multimap) to get linear complexity + // See CASSANDRA-14660 + for (Entry> entry : map.inverse().asMap().entrySet()) + newMap.reverseMap.putAll(entry.getKey(), entry.getValue()); +return newMap; } -@SuppressWarnings("unchecked") --private static Comparator defaultComparator() --{ - return new Comparator() - { - @SuppressWarnings("unchecked") - public int compare(T o1, T o2) - { - return ((Comparable) o1).compareTo(o2); - } - }; -return DEFAULT_COMPARATOR; --} } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/76c1b555 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/76c1b555 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/76c1b555 Branch: refs/heads/trunk Commit: 76c1b555708fd91e126e9d86920e81793b599d16 Parents: 07b0aca 65a4682 Author: Aleksey Yeshchenko Authored: Thu Aug 16 15:45:53 2018 +0100 Committer: Aleksey Yeshchenko Committed: Thu Aug 16 15:47:09 2018 +0100 -- CHANGES.txt | 2 + NEWS.txt| 10 +++ doc/cql3/CQL.textile| 2 +- src/java/org/apache/cassandra/db/Columns.java | 22 +-- .../org/apache/cassandra/db/ColumnsTest.java| 69 +++- 5 files changed, 96 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/76c1b555/CHANGES.txt -- diff --cc CHANGES.txt index 67e85f6,6464667..4cd4cc5 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,282 -1,7 +1,284 @@@ +4.0 + * Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637) + * Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640) + * Revert 4.0 GC alg back to CMS (CASANDRA-14636) + * Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627) + * Update netty to 4.1.128 (CASSANDRA-14633) + * Add a virtual table to expose thread pools (CASSANDRA-14523) + * Add a virtual table to expose caches (CASSANDRA-14538) + * Fix toDate function for timestamp arguments (CASSANDRA-14502) + * Revert running dtests by default in circleci (CASSANDRA-14614) + * Stream entire SSTables when possible (CASSANDRA-14556) + * Add experimental support for Java 11 (CASSANDRA-9608) + * Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable (CASSANDRA-14580) + * Improve logging in MessageInHandler's constructor (CASSANDRA-14576) + * Set broadcast address in internode messaging handshake (CASSANDRA-14579) + * Wait for schema agreement prior to building MVs (CASSANDRA-14571) + * Make all DDL statements idempotent and not dependent on global state (CASSANDRA-13426) + * Bump the hints messaging version to match the current one (CASSANDRA-14536) + * OffsetAwareConfigurationLoader doesn't set ssl storage port causing bind errors in CircleCI (CASSANDRA-14546) + * Report why native_transport_port fails to bind (CASSANDRA-14544) + * Optimize internode messaging protocol (CASSANDRA-14485) + * Internode messaging handshake sends wrong messaging version number (CASSANDRA-14540) + * Add a virtual table to expose active client connections (CASSANDRA-14458) + * Clean up and refactor client metrics (CASSANDRA-14524) + * Nodetool import row cache invalidation races with adding sstables to tracker (CASSANDRA-14529) + * Fix assertions in LWTs after TableMetadata was made immutable (CASSANDRA-14356) + * Abort compactions quicker (CASSANDRA-14397) + * Support light-weight transactions in cassandra-stress (CASSANDRA-13529) + * Make AsyncOneResponse use the correct timeout (CASSANDRA-14509) + * Add option to sanity check tombstones on reads/compactions (CASSANDRA-14467) + * Add a virtual table to expose all running sstable tasks (CASSANDRA-14457) + * Let nodetool import take a list of directories (CASSANDRA-14442) + * Avoid unneeded memory allocations / cpu for disabled log levels (CASSANDRA-14488) + * Implement virtual keyspace interface (CASSANDRA-7622) + * nodetool import cleanup and improvements (CASSANDRA-14417) + * Bump jackson version to >= 2.9.5 (CASSANDRA-14427) + * Allow nodetool toppartitions without specifying table (CASSANDRA-14360) + * Audit logging for database activity (CASSANDRA-12151) + * Clean up build artifacts in docs container (CASSANDRA-14432) + * Minor network authz improvements (Cassandra-14413) + * Automatic sstable upgrades (CASSANDRA-14197) + * Replace deprecated junit.framework.Assert usages with org.junit.Assert (CASSANDRA-14431) + * Cassandra-stress throws NPE if insert section isn't specified in user profile (CASSSANDRA-14426) + * List clients by protocol versions `nodetool clientstats --by-protocol` (CASSANDRA-14335) + * Improve LatencyMetrics performance by reducing write path processing (CASSANDRA-14281) + * Add network authz (CASSANDRA-13985) + * Use the correct IP/Port for Streaming when localAddress is left unbound (CASSANDRA-14389) + * nodetool listsnapshots is missing local system keyspace snapshots (CASSANDRA-14381) + * Remove StreamCoordinator.streamExecutor thread pool (CASSANDRA-14402) + * Rename nodetool --with-port to --print-port to disambiguate from --port (CASSANDRA-14392)
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fcb87a2d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fcb87a2d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fcb87a2d Branch: refs/heads/trunk Commit: fcb87a2d1c56418d3cc33bd0df36f243c6f1566b Parents: 45c3b46 4f4c390 Author: Ariel Weisberg Authored: Mon Aug 6 12:07:08 2018 -0400 Committer: Ariel Weisberg Committed: Mon Aug 6 12:07:08 2018 -0400 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d3a994b1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d3a994b1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d3a994b1 Branch: refs/heads/trunk Commit: d3a994b10537809267ec5ebae784ee5497cdb265 Parents: 00b3eda 31d5d87 Author: Benedict Elliott Smith Authored: Mon Jul 16 17:50:44 2018 +0100 Committer: Benedict Elliott Smith Committed: Mon Jul 16 17:50:44 2018 +0100 -- CHANGES.txt | 1 + .../db/partitions/PartitionUpdate.java | 40 ++-- 2 files changed, 29 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3a994b1/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3a994b1/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java -- diff --cc src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java index 2dc566a,4ca8f1c..b793420 --- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java +++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java @@@ -122,19 -162,34 +123,34 @@@ public class PartitionUpdate extends Ab * * @return the newly created partition update containing only {@code row}. */ - public static PartitionUpdate singleRowUpdate(TableMetadata metadata, DecoratedKey key, Row row) -public static PartitionUpdate singleRowUpdate(CFMetaData metadata, DecoratedKey key, Row row, Row staticRow) ++public static PartitionUpdate singleRowUpdate(TableMetadata metadata, DecoratedKey key, Row row, Row staticRow) { MutableDeletionInfo deletionInfo = MutableDeletionInfo.live(); - if (row.isStatic()) - { - Holder holder = new Holder(new RegularAndStaticColumns(Columns.from(row.columns()), Columns.NONE), BTree.empty(), deletionInfo, row, EncodingStats.NO_STATS); - return new PartitionUpdate(metadata, key, holder, deletionInfo, false); - } - else - { - Holder holder = new Holder(new RegularAndStaticColumns(Columns.NONE, Columns.from(row.columns())), BTree.singleton(row), deletionInfo, Rows.EMPTY_STATIC_ROW, EncodingStats.NO_STATS); - return new PartitionUpdate(metadata, key, holder, deletionInfo, false); - } + Holder holder = new Holder( -new PartitionColumns( ++new RegularAndStaticColumns( + staticRow == null ? Columns.NONE : Columns.from(staticRow.columns()), + row == null ? Columns.NONE : Columns.from(row.columns()) + ), + row == null ? BTree.empty() : BTree.singleton(row), + deletionInfo, + staticRow == null ? Rows.EMPTY_STATIC_ROW : staticRow, + EncodingStats.NO_STATS + ); + return new PartitionUpdate(metadata, key, holder, deletionInfo, false); + } + + /** + * Creates an immutable partition update that contains a single row update. + * + * @param metadata the metadata for the created update. + * @param key the partition key for the partition to update. + * @param row the row for the update (may be static). + * + * @return the newly created partition update containing only {@code row}. + */ -public static PartitionUpdate singleRowUpdate(CFMetaData metadata, DecoratedKey key, Row row) ++public static PartitionUpdate singleRowUpdate(TableMetadata metadata, DecoratedKey key, Row row) + { + return singleRowUpdate(metadata, key, row.isStatic() ? null : row, row.isStatic() ? row : null); } /** - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28217f85 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28217f85 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28217f85 Branch: refs/heads/trunk Commit: 28217f8576d416fa8fff9f695058750e2bb943df Parents: 9e3b886 847b843 Author: Jay Zhuang Authored: Thu Jul 5 10:01:12 2018 -0700 Committer: Jay Zhuang Committed: Thu Jul 5 10:01:12 2018 -0700 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e3b8864 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e3b8864 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e3b8864 Branch: refs/heads/trunk Commit: 9e3b88646ff4f97601baf40be7fb708ebb3f7fed Parents: 243c371 942fe3f Author: Sylvain Lebresne Authored: Thu Jul 5 09:30:03 2018 +0200 Committer: Sylvain Lebresne Committed: Thu Jul 5 09:30:03 2018 +0200 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/243c371f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/243c371f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/243c371f Branch: refs/heads/trunk Commit: 243c371f4881be554439731cb809680a37c875ac Parents: d500100 49e63c2 Author: Sylvain Lebresne Authored: Wed Jul 4 12:10:05 2018 +0200 Committer: Sylvain Lebresne Committed: Wed Jul 4 12:10:05 2018 +0200 -- CHANGES.txt | 1 + .../cassandra/db/context/CounterContext.java| 3 +++ .../apache/cassandra/db/CounterCellTest.java| 24 +++- 3 files changed, 27 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/243c371f/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/243c371f/src/java/org/apache/cassandra/db/context/CounterContext.java -- diff --cc src/java/org/apache/cassandra/db/context/CounterContext.java index 9b34231,b402464..29dc3f0 --- a/src/java/org/apache/cassandra/db/context/CounterContext.java +++ b/src/java/org/apache/cassandra/db/context/CounterContext.java @@@ -690,11 -690,14 +690,14 @@@ public class CounterContex * nodes. This means in particular that we always have: * updateDigest(ctx) == updateDigest(clearAllLocal(ctx)) */ -public void updateDigest(MessageDigest message, ByteBuffer context) +public void updateDigest(Hasher hasher, ByteBuffer context) { + // context can be empty due to the optimization from CASSANDRA-10657 + if (!context.hasRemaining()) + return; ByteBuffer dup = context.duplicate(); dup.position(context.position() + headerLength(context)); -message.update(dup); +HashingUtils.updateBytes(hasher, dup); } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/243c371f/test/unit/org/apache/cassandra/db/CounterCellTest.java -- diff --cc test/unit/org/apache/cassandra/db/CounterCellTest.java index b410427,5208cb2..0ee59e1 --- a/test/unit/org/apache/cassandra/db/CounterCellTest.java +++ b/test/unit/org/apache/cassandra/db/CounterCellTest.java @@@ -27,8 -28,8 +27,8 @@@ import org.junit.BeforeClass import org.junit.Test; import org.apache.cassandra.SchemaLoader; - import org.apache.cassandra.net.MessagingService; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; + import org.apache.cassandra.db.rows.BTreeRow; import org.apache.cassandra.db.rows.BufferCell; import org.apache.cassandra.db.rows.Cell; import org.apache.cassandra.db.rows.Cells; @@@ -272,12 -275,32 +274,32 @@@ public class CounterCellTes Cell original = createCounterCellFromContext(cfs, col, state, 5); -ColumnDefinition cDef = cfs.metadata.getColumnDefinition(col); +ColumnMetadata cDef = cfs.metadata().getColumn(col); Cell cleared = BufferCell.live(cDef, 5, CounterContext.instance().clearAllLocal(state.context)); -original.digest(digest1); -cleared.digest(digest2); +original.digest(hasher1); +cleared.digest(hasher2); -assert Arrays.equals(digest1.digest(), digest2.digest()); +Assert.assertEquals(hasher1.hash(), hasher2.hash()); } + + @Test + public void testDigestWithEmptyCells() throws Exception + { + // For DB-1881 + ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore(COUNTER1); + -ColumnDefinition emptyColDef = cfs.metadata.getColumnDefinition(ByteBufferUtil.bytes("val2")); ++ColumnMetadata emptyColDef = cfs.metadata().getColumn(ByteBufferUtil.bytes("val2")); + BufferCell emptyCell = BufferCell.live(emptyColDef, 0, ByteBuffer.allocate(0)); + + Row.Builder builder = BTreeRow.unsortedBuilder(0); + builder.newRow(Clustering.make(AsciiSerializer.instance.serialize("test"))); + builder.addCell(emptyCell); + Row row = builder.build(); + -MessageDigest digest = MessageDigest.getInstance("md5"); -row.digest(digest); -assertNotNull(digest.digest()); ++Hasher hasher = HashingUtils.CURRENT_HASH_FUNCTION.newHasher(); ++row.digest(hasher); ++assertNotNull(hasher.hash()); + } + } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail:
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/25524223 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/25524223 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/25524223 Branch: refs/heads/trunk Commit: 255242237a49fb27740ab9da187eaa41b0611947 Parents: 3b56d4d 191ad7b Author: Sam Tunnicliffe Authored: Thu Jun 14 18:19:36 2018 +0100 Committer: Sam Tunnicliffe Committed: Thu Jun 14 18:22:28 2018 +0100 -- CHANGES.txt| 1 + .../cassandra/db/columniterator/AbstractSSTableIterator.java | 2 +- .../cassandra/db/columniterator/SSTableReversedIterator.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/25524223/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/25524223/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java -- diff --cc src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java index 443fe49,4eaf8f6..cfc7da2 --- a/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java +++ b/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java @@@ -455,7 -492,19 +456,6 @@@ public abstract class AbstractSSTableIt currentIndexIdx = blockIdx; reader.openMarker = blockIdx > 0 ? index(blockIdx - 1).endOpenMarker : null; - mark = reader.file.mark(); - -// If we're reading an old format file and we move to the first block in the index (i.e. the -// head of the partition), we skip the static row as it's already been read when we first opened -// the iterator. If we don't do this and a static row is present, we'll re-read it but treat it -// as a regular row, causing deserialization to blow up later as that row's flags will be invalid -// see CASSANDRA-12088 & CASSANDRA-13236 -if (!reader.version.storeRows() -&& blockIdx == 0 -&& reader.deserializer.hasNext() -&& reader.deserializer.nextIsStatic()) -{ -reader.deserializer.skipNext(); -} } private long columnOffset(int i) throws IOException http://git-wip-us.apache.org/repos/asf/cassandra/blob/25524223/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d3b6a67b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d3b6a67b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d3b6a67b Branch: refs/heads/trunk Commit: d3b6a67bbf283e9965ecafa57001fd9dcbb14ba2 Parents: 843a5fd 02e9ddf Author: Paulo Motta Authored: Wed Jun 6 15:43:37 2018 -0300 Committer: Paulo Motta Committed: Wed Jun 6 15:44:42 2018 -0300 -- .../org/apache/cassandra/db/SystemKeyspace.java | 18 +- .../cassandra/schema/CompactionParams.java | 2 +- .../db/compaction/LongCompactionsTest.java | 2 +- .../unit/org/apache/cassandra/SchemaLoader.java | 2 +- .../AbstractCompactionStrategyTest.java | 2 +- .../db/compaction/AntiCompactionTest.java | 22 +- .../CompactionStrategyManagerTest.java | 2 +- .../db/compaction/CompactionsTest.java | 379 +-- .../cassandra/schema/MigrationManagerTest.java | 2 +- 9 files changed, 195 insertions(+), 236 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3b6a67b/src/java/org/apache/cassandra/db/SystemKeyspace.java -- diff --cc src/java/org/apache/cassandra/db/SystemKeyspace.java index 12ab952,973538f..b4de801 --- a/src/java/org/apache/cassandra/db/SystemKeyspace.java +++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java @@@ -101,30 -103,34 +101,30 @@@ public final class SystemKeyspac public static final String SIZE_ESTIMATES = "size_estimates"; public static final String AVAILABLE_RANGES = "available_ranges"; public static final String TRANSFERRED_RANGES = "transferred_ranges"; -public static final String VIEWS_BUILDS_IN_PROGRESS = "views_builds_in_progress"; +public static final String TRANSFERRED_RANGES_V2 = "transferred_ranges_v2"; +public static final String VIEW_BUILDS_IN_PROGRESS = "view_builds_in_progress"; public static final String BUILT_VIEWS = "built_views"; public static final String PREPARED_STATEMENTS = "prepared_statements"; - -@Deprecated public static final String LEGACY_HINTS = "hints"; -@Deprecated public static final String LEGACY_BATCHLOG = "batchlog"; -@Deprecated public static final String LEGACY_KEYSPACES = "schema_keyspaces"; -@Deprecated public static final String LEGACY_COLUMNFAMILIES = "schema_columnfamilies"; -@Deprecated public static final String LEGACY_COLUMNS = "schema_columns"; -@Deprecated public static final String LEGACY_TRIGGERS = "schema_triggers"; -@Deprecated public static final String LEGACY_USERTYPES = "schema_usertypes"; -@Deprecated public static final String LEGACY_FUNCTIONS = "schema_functions"; -@Deprecated public static final String LEGACY_AGGREGATES = "schema_aggregates"; - -public static final CFMetaData Batches = -compile(BATCHES, -"batches awaiting replay", -"CREATE TABLE %s (" -+ "id timeuuid," -+ "mutations list," -+ "version int," -+ "PRIMARY KEY ((id)))") -.copy(new LocalPartitioner(TimeUUIDType.instance)) - .compaction(CompactionParams.scts(singletonMap("min_threshold", "2"))) -.gcGraceSeconds(0); - -private static final CFMetaData Paxos = -compile(PAXOS, +public static final String REPAIRS = "repairs"; + +@Deprecated public static final String LEGACY_PEERS = "peers"; +@Deprecated public static final String LEGACY_PEER_EVENTS = "peer_events"; +@Deprecated public static final String LEGACY_TRANSFERRED_RANGES = "transferred_ranges"; + +public static final TableMetadata Batches = +parse(BATCHES, - "batches awaiting replay", - "CREATE TABLE %s (" - + "id timeuuid," - + "mutations list," - + "version int," - + "PRIMARY KEY ((id)))") - .partitioner(new LocalPartitioner(TimeUUIDType.instance)) - .compaction(CompactionParams.scts(singletonMap("min_threshold", "2"))) - .build(); ++ "batches awaiting replay", ++ "CREATE TABLE %s (" ++ + "id timeuuid," ++ + "mutations list," ++ + "version int," ++ + "PRIMARY KEY ((id)))") ++ .partitioner(new LocalPartitioner(TimeUUIDType.instance)) ++ .compaction(CompactionParams.stcs(singletonMap("min_threshold", "2"))) ++ .build(); + +private static final TableMetadata Paxos = +parse(PAXOS,
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/843a5fdf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/843a5fdf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/843a5fdf Branch: refs/heads/trunk Commit: 843a5fdf2ff8f2cb61a4e1d6632fd443bc2136fb Parents: 5d87677 77a1205 Author: Jason Brown Authored: Tue Jun 5 13:50:58 2018 -0700 Committer: Jason Brown Committed: Tue Jun 5 13:51:50 2018 -0700 -- CHANGES.txt | 1 + .../db/commitlog/AbstractCommitLogService.java | 88 +--- .../commitlog/AbstractCommitLogServiceTest.java | 49 ++- 3 files changed, 105 insertions(+), 33 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/843a5fdf/CHANGES.txt -- diff --cc CHANGES.txt index eb064be,2e77d2e..9857704 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -264,8 -16,10 +264,9 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Fix regression of lagging commitlog flush log message (CASSANDRA-14451) * Add Missing dependencies in pom-all (CASSANDRA-14422) * Cleanup StartupClusterConnectivityChecker and PING Verb (CASSANDRA-14447) - * Fix deprecated repair error notifications from 3.x clusters to legacy JMX clients (CASSANDRA-13121) * Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418) * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/069e383f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/069e383f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/069e383f Branch: refs/heads/trunk Commit: 069e383f57e3106bbe2e6ddcebeae77da1ea53e1 Parents: 7b38b7e b92d90d Author: Jay Zhuang Authored: Wed May 30 22:01:21 2018 -0700 Committer: Jay Zhuang Committed: Wed May 30 22:02:21 2018 -0700 -- CHANGES.txt | 1 + build.xml | 2 ++ 2 files changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/069e383f/CHANGES.txt -- diff --cc CHANGES.txt index 111f644,2d4ef25..b94fc62 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -260,7 -16,9 +260,8 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Add Missing dependencies in pom-all (CASSANDRA-14422) * Cleanup StartupClusterConnectivityChecker and PING Verb (CASSANDRA-14447) - * Fix deprecated repair error notifications from 3.x clusters to legacy JMX clients (CASSANDRA-13121) * Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418) * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) http://git-wip-us.apache.org/repos/asf/cassandra/blob/069e383f/build.xml -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d585410c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d585410c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d585410c Branch: refs/heads/trunk Commit: d585410ccb42011ca71441471d1e2949e5ddedb5 Parents: e210a05 0d4aacc Author: Jason BrownAuthored: Thu May 17 10:35:51 2018 -0700 Committer: Jason Brown Committed: Thu May 17 10:39:37 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/config/DatabaseDescriptor.java| 6 + .../org/apache/cassandra/gms/EndpointState.java | 2 +- src/java/org/apache/cassandra/gms/Gossiper.java | 15 +- .../apache/cassandra/gms/HeartBeatState.java| 4 +- .../cassandra/net/MessageDeliveryTask.java | 25 +- .../org/apache/cassandra/net/MessageIn.java | 6 + .../apache/cassandra/net/MessagingService.java | 36 ++- .../net/StartupClusterConnectivityChecker.java | 231 +++ .../cassandra/service/CassandraDaemon.java | 11 +- .../cassandra/net/MessageDeliveryTaskTest.java | 121 ++ .../org/apache/cassandra/net/MessageInTest.java | 66 ++ .../StartupClusterConnectivityCheckerTest.java | 160 +++-- 13 files changed, 497 insertions(+), 187 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d585410c/CHANGES.txt -- diff --cc CHANGES.txt index cfe56c6,87e7c24..097db1d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -256,6 -15,8 +256,7 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Cleanup StartupClusterConnectivityChecker and PING Verb (CASSANDRA-14447) - * Fix deprecated repair error notifications from 3.x clusters to legacy JMX clients (CASSANDRA-13121) * Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418) * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) http://git-wip-us.apache.org/repos/asf/cassandra/blob/d585410c/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 699148d,8b92c5a..592b96e --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@@ -26,9 -26,8 +26,10 @@@ import java.nio.file.NoSuchFileExceptio import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; ++import java.util.concurrent.TimeUnit; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.primitives.Ints; import com.google.common.primitives.Longs; @@@ -1487,6 -1491,6 +1488,11 @@@ public class DatabaseDescripto getTruncateRpcTimeout()); } ++public static long getPingTimeout() ++{ ++return TimeUnit.SECONDS.toMillis(getBlockForPeersTimeoutInSeconds()); ++} ++ public static double getPhiConvictThreshold() { return conf.phi_convict_threshold; http://git-wip-us.apache.org/repos/asf/cassandra/blob/d585410c/src/java/org/apache/cassandra/gms/EndpointState.java -- diff --cc src/java/org/apache/cassandra/gms/EndpointState.java index 1085447,674b597..5646bf6 --- a/src/java/org/apache/cassandra/gms/EndpointState.java +++ b/src/java/org/apache/cassandra/gms/EndpointState.java @@@ -50,7 -54,7 +50,7 @@@ public class EndpointStat private volatile long updateTimestamp; private volatile boolean isAlive; --EndpointState(HeartBeatState initialHbState) ++public EndpointState(HeartBeatState initialHbState) { this(initialHbState, new EnumMap (ApplicationState.class)); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/d585410c/src/java/org/apache/cassandra/gms/Gossiper.java -- diff --cc src/java/org/apache/cassandra/gms/Gossiper.java index 4c9,ea05525..3975187 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@@ -32,13 -31,7 +32,13 @@@ import javax.management.ObjectName import com.google.common.annotations.VisibleForTesting; import
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ecf52ed3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ecf52ed3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ecf52ed3 Branch: refs/heads/trunk Commit: ecf52ed3f82af1ae52f202c7ed856380583e9ff6 Parents: 45f2505 704f9b0 Author: Mick Semb WeverAuthored: Mon May 14 19:08:25 2018 +1000 Committer: Mick Semb Wever Committed: Mon May 14 19:08:25 2018 +1000 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4f1094e6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4f1094e6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4f1094e6 Branch: refs/heads/trunk Commit: 4f1094e66856fde9e7bc4b77cf0b9e29696cb753 Parents: a6bf9c5 443088f Author: Jason BrownAuthored: Sat May 12 05:32:10 2018 -0700 Committer: Jason Brown Committed: Sat May 12 05:33:02 2018 -0700 -- CHANGES.txt| 1 + conf/cassandra-env.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4f1094e6/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4f1094e6/conf/cassandra-env.ps1 -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/78ca3447 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/78ca3447 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/78ca3447 Branch: refs/heads/trunk Commit: 78ca3447c9735682119b01bdf98f06bb75f413ff Parents: 645d827 bc30a6f Author: Mick Semb WeverAuthored: Fri May 4 15:08:21 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 15:14:04 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../cassandra/db/view/ViewBuilderTask.java | 5 +-- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/78ca3447/CHANGES.txt -- diff --cc CHANGES.txt index f0afbe6,5f66b62..628d0af --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -246,8 -10,11 +246,9 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) - * Deprecate background repair and probablistic read_repair_chance table options - (CASSANDRA-13910) * Add missed CQL keywords to documentation (CASSANDRA-14359) * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) http://git-wip-us.apache.org/repos/asf/cassandra/blob/78ca3447/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/78ca3447/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- diff --cc src/java/org/apache/cassandra/db/compaction/CompactionInfo.java index d3235bc,93bb4c9..ccdfeb4 --- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java @@@ -32,20 -32,43 +32,43 @@@ public final class CompactionInfo imple private final OperationType tasktype; private final long completed; private final long total; - private final String unit; + private final Unit unit; private final UUID compactionId; +public CompactionInfo(TableMetadata metadata, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) +{ - this(metadata, tasktype, bytesComplete, totalBytes, "bytes", compactionId); ++this(metadata, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); +} + - public CompactionInfo(OperationType tasktype, long completed, long total, String unit, UUID compactionId) + public static enum Unit + { -BYTES("bytes"), RANGES("ranges"), KEYS("keys"); ++BYTES("bytes"), RANGES("token range parts"), KEYS("keys"); + + private final String name; + + private Unit(String name) + { + this.name = name; + } + + @Override + public String toString() + { -return name; ++return this.name; + } + + public static boolean isFileSize(String unit) + { + return BYTES.toString().equals(unit); + } + } + -public CompactionInfo(CFMetaData cfm, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) -{ -this(cfm, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); -} - + public CompactionInfo(OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) { this(null, tasktype, completed, total, unit, compactionId); } - public CompactionInfo(TableMetadata metadata, OperationType tasktype, long completed, long total, String unit, UUID compactionId) -public CompactionInfo(CFMetaData cfm, OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) ++public CompactionInfo(TableMetadata metadata, OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) {
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/645d8278 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/645d8278 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/645d8278 Branch: refs/heads/trunk Commit: 645d8278bcf6281c8272f82d0d661e386a7cbe7d Parents: dd091d4 dd9ae1d Author: Marcus ErikssonAuthored: Thu May 3 15:46:23 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:46:51 2018 +0200 -- .circleci/config.yml | 8 .../apache/cassandra/db/CassandraKeyspaceWriteHandler.java | 2 ++ .../apache/cassandra/db/streaming/CassandraStreamReader.java | 2 +- .../cassandra/db/streaming/CassandraStreamReceiver.java | 1 + src/java/org/apache/cassandra/net/MessageIn.java | 5 - .../org/apache/cassandra/net/async/MessageInHandler.java | 5 - 6 files changed, 20 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/645d8278/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java -- diff --cc src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java index 1f1bcdb,000..efba11f mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java +++ b/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java @@@ -1,92 -1,0 +1,94 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.db; + +import org.apache.cassandra.db.commitlog.CommitLog; +import org.apache.cassandra.db.commitlog.CommitLogPosition; +import org.apache.cassandra.exceptions.RequestExecutionException; +import org.apache.cassandra.tracing.Tracing; +import org.apache.cassandra.utils.concurrent.OpOrder; + +public class CassandraKeyspaceWriteHandler implements KeyspaceWriteHandler +{ +private final Keyspace keyspace; + +public CassandraKeyspaceWriteHandler(Keyspace keyspace) +{ +this.keyspace = keyspace; +} + +@Override ++@SuppressWarnings("resource") // group is closed when CassandraWriteContext is closed +public WriteContext beginWrite(Mutation mutation, boolean makeDurable) throws RequestExecutionException +{ +OpOrder.Group group = null; +try +{ +group = Keyspace.writeOrder.start(); + +// write the mutation to the commitlog and memtables +CommitLogPosition position = null; +if (makeDurable) +{ +Tracing.trace("Appending to commitlog"); +position = CommitLog.instance.add(mutation); +} +return new CassandraWriteContext(group, position); +} +catch (Throwable t) +{ +if (group != null) +{ +group.close(); +} +throw t; +} +} + ++@SuppressWarnings("resource") // group is closed when CassandraWriteContext is closed +private WriteContext createEmptyContext() +{ +OpOrder.Group group = null; +try +{ +group = Keyspace.writeOrder.start(); +return new CassandraWriteContext(group, null); +} +catch (Throwable t) +{ +if (group != null) +{ +group.close(); +} +throw t; +} +} + +@Override +public WriteContext createContextForIndexing() +{ +return createEmptyContext(); +} + +@Override +public WriteContext createContextForRead() +{ +return createEmptyContext(); +} +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/645d8278/src/java/org/apache/cassandra/db/streaming/CassandraStreamReader.java
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60ed982d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60ed982d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60ed982d Branch: refs/heads/trunk Commit: 60ed982d5309b674abfb32584f75f676951c2668 Parents: 0143974 2d19de1 Author: Jay ZhuangAuthored: Wed May 2 11:05:25 2018 -0700 Committer: Jay Zhuang Committed: Wed May 2 11:08:18 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/schema/SchemaKeyspace.java | 36 +--- .../cassandra/schema/SchemaKeyspaceTest.java| 29 3 files changed, 54 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/CHANGES.txt -- diff --cc CHANGES.txt index 27e69b8,837b891..5831978 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -246,7 -10,10 +246,8 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) - * Deprecate background repair and probablistic read_repair_chance table options - (CASSANDRA-13910) * Add missed CQL keywords to documentation (CASSANDRA-14359) * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/src/java/org/apache/cassandra/schema/SchemaKeyspace.java -- diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java index ca3c69f,027b7cf..638e912 --- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java +++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java @@@ -23,9 -25,9 +23,10 @@@ import java.util.* import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; + import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.*; import com.google.common.collect.Maps; +import com.google.common.hash.Hasher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@@ -1012,8 -1097,12 +1019,12 @@@ public final class SchemaKeyspac if (columnRows.isEmpty()) throw new MissingColumns("Columns not found in schema table for " + keyspace + "." + table); -List columns = new ArrayList<>(); +List columns = new ArrayList<>(); columnRows.forEach(row -> columns.add(createColumnFromRow(row, types))); + -if (columns.stream().noneMatch(ColumnDefinition::isPartitionKey)) ++if (columns.stream().noneMatch(ColumnMetadata::isPartitionKey)) + throw new MissingColumns("No partition key columns found in schema table for " + keyspace + "." + table); + return columns; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java -- diff --cc test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java index d4c4bb4,f3ee85d..b3a7047 --- a/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java +++ b/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java @@@ -39,9 -47,22 +39,10 @@@ import org.apache.cassandra.db.Mutation import org.apache.cassandra.db.partitions.PartitionUpdate; import org.apache.cassandra.db.rows.UnfilteredRowIterators; import org.apache.cassandra.exceptions.ConfigurationException; -import org.apache.cassandra.io.util.DataInputBuffer; -import org.apache.cassandra.io.util.DataOutputBuffer; -import org.apache.cassandra.net.MessagingService; -import org.apache.cassandra.thrift.CfDef; -import org.apache.cassandra.thrift.ColumnDef; -import org.apache.cassandra.thrift.IndexType; -import org.apache.cassandra.thrift.ThriftConversion; -import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; -import org.apache.cassandra.utils.Pair; + import static org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class SchemaKeyspaceTest @@@ -131,7 -212,129 +132,35 @@@ for (UntypedResultSet.Row row : columnsRows)
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2fe4b9dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2fe4b9dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2fe4b9dc Branch: refs/heads/trunk Commit: 2fe4b9dc69a919cadd6f78e9a4e259e6740b127f Parents: 9fecf94 b67d6fb Author: Aleksey YeshchenkoAuthored: Mon Apr 30 19:12:16 2018 +0100 Committer: Aleksey Yeshchenko Committed: Mon Apr 30 19:12:16 2018 +0100 -- .../org/apache/cassandra/io/sstable/SSTableReaderTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fe4b9dc/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9fecf947 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9fecf947 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9fecf947 Branch: refs/heads/trunk Commit: 9fecf947729e6113a79cd8069a52082b4c335629 Parents: 71a27ee 32f9e67 Author: Aleksey YeshchenkoAuthored: Mon Apr 30 18:52:43 2018 +0100 Committer: Aleksey Yeshchenko Committed: Mon Apr 30 18:52:43 2018 +0100 -- CHANGES.txt | 1 + .../apache/cassandra/hints/HintsCatalog.java| 7 ++ .../apache/cassandra/hints/HintsService.java| 2 +- .../org/apache/cassandra/hints/HintsStore.java | 7 ++ .../cassandra/service/StorageService.java | 7 +- .../cassandra/hints/HintsCatalogTest.java | 119 ++- 6 files changed, 137 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/CHANGES.txt -- diff --cc CHANGES.txt index 15c2c2e,c392059..33c81d1 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -245,6 -10,9 +245,7 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) - * Deprecate background repair and probablistic read_repair_chance table options - (CASSANDRA-13910) * Add missed CQL keywords to documentation (CASSANDRA-14359) * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/src/java/org/apache/cassandra/hints/HintsService.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/src/java/org/apache/cassandra/hints/HintsStore.java -- diff --cc src/java/org/apache/cassandra/hints/HintsStore.java index bbf57f5,032de5a..9f95884 --- a/src/java/org/apache/cassandra/hints/HintsStore.java +++ b/src/java/org/apache/cassandra/hints/HintsStore.java @@@ -77,7 -78,13 +78,13 @@@ final class HintsStor return new HintsStore(hostId, hintsDirectory, writerParams, descriptors); } + @VisibleForTesting + int getDispatchQueueSize() + { + return dispatchDequeue.size(); + } + -InetAddress address() +InetAddressAndPort address() { return StorageService.instance.getEndpointForHostId(hostId); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/src/java/org/apache/cassandra/service/StorageService.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/test/unit/org/apache/cassandra/hints/HintsCatalogTest.java -- diff --cc test/unit/org/apache/cassandra/hints/HintsCatalogTest.java index a255338,68acd0c..92cfc71 --- a/test/unit/org/apache/cassandra/hints/HintsCatalogTest.java +++ b/test/unit/org/apache/cassandra/hints/HintsCatalogTest.java @@@ -23,6 -24,13 +24,12 @@@ import java.nio.file.Files import java.util.*; import com.google.common.collect.ImmutableMap; + import org.apache.cassandra.SchemaLoader; -import org.apache.cassandra.config.Schema; + import org.apache.cassandra.db.Mutation; -import org.apache.cassandra.db.RowUpdateBuilder; + import org.apache.cassandra.schema.KeyspaceParams; ++import org.apache.cassandra.schema.Schema; + import org.apache.cassandra.utils.FBUtilities; + import org.junit.BeforeClass; import org.junit.Test; import static junit.framework.Assert.*; @@@ -117,4 -190,43 +189,43 @@@ public class HintsCatalogTes { } } + + private static Mutation createMutation(String key, long now) + { + Mutation.SimpleBuilder builder = Mutation.simpleBuilder(KEYSPACE, dk(key)); + -builder.update(Schema.instance.getCFMetaData(KEYSPACE, TABLE0)) ++builder.update(Schema.instance.getTableMetadata(KEYSPACE, TABLE0)) +.timestamp(now) +.row("column0") +.add("val", "value0"); + -builder.update(Schema.instance.getCFMetaData(KEYSPACE, TABLE1)) ++builder.update(Schema.instance.getTableMetadata(KEYSPACE, TABLE1)) +.timestamp(now + 1) +.row("column1") +.add("val",
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/703db6ff Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/703db6ff Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/703db6ff Branch: refs/heads/trunk Commit: 703db6fff5fdf30f98e61d175a2b268846f7b692 Parents: f165e72 e9462b9 Author: Blake EgglestonAuthored: Tue Apr 17 14:18:59 2018 -0700 Committer: Blake Eggleston Committed: Tue Apr 17 14:19:29 2018 -0700 -- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/703db6ff/CHANGES.txt -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/95a52a8b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/95a52a8b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/95a52a8b Branch: refs/heads/trunk Commit: 95a52a8bfbabb4acb3518ee7f5e6d256110d7bf0 Parents: 42827e6 75a9320 Author: Marcus ErikssonAuthored: Wed Apr 11 14:55:10 2018 +0200 Committer: Marcus Eriksson Committed: Wed Apr 11 14:55:10 2018 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 2 +- src/java/org/apache/cassandra/service/StorageService.java | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/95a52a8b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/95a52a8b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/95a52a8b/src/java/org/apache/cassandra/service/StorageService.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b5dbc04b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b5dbc04b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b5dbc04b Branch: refs/heads/trunk Commit: b5dbc04bda0479367d89d1e406b09fa187bf7aad Parents: 0b16546 19e329e Author: Marcus ErikssonAuthored: Tue Apr 10 15:28:29 2018 +0200 Committer: Marcus Eriksson Committed: Tue Apr 10 15:28:29 2018 +0200 -- CHANGES.txt | 1 + .../cassandra/io/sstable/CorruptSSTableException.java| 4 ++-- .../cassandra/io/sstable/format/SSTableReader.java | 11 +++ 3 files changed, 6 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b5dbc04b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b5dbc04b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fc2e420f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fc2e420f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fc2e420f Branch: refs/heads/trunk Commit: fc2e420fdcea827da24a0dd1908a53da0ac025bb Parents: 674addd 18278e4 Author: Aleksey YeshchenkoAuthored: Thu Mar 29 14:01:09 2018 +0100 Committer: Aleksey Yeshchenko Committed: Thu Mar 29 14:01:09 2018 +0100 -- CHANGES.txt | 1 + .../hints/ChecksumMismatchException.java| 28 .../apache/cassandra/hints/HintsCatalog.java| 4 ++- .../apache/cassandra/hints/HintsDescriptor.java | 20 +- 4 files changed, 51 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fc2e420f/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fc2e420f/src/java/org/apache/cassandra/hints/HintsDescriptor.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/253c003d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/253c003d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/253c003d Branch: refs/heads/trunk Commit: 253c003df7bb520225cce0cee5d6fbec3808f29f Parents: 49c1a25 f57d12e Author: Blake EgglestonAuthored: Thu Mar 15 10:57:03 2018 -0700 Committer: Blake Eggleston Committed: Thu Mar 15 10:57:03 2018 -0700 -- src/java/org/apache/cassandra/io/sstable/SSTable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/253c003d/src/java/org/apache/cassandra/io/sstable/SSTable.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/49c1a256 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/49c1a256 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/49c1a256 Branch: refs/heads/trunk Commit: 49c1a256c28e913e1e2af25dd308c8835291e7d7 Parents: 92cde9b 19a5478 Author: Aleksey YeshchenkoAuthored: Thu Mar 15 17:20:09 2018 +0300 Committer: Aleksey Yeshchenko Committed: Thu Mar 15 17:20:09 2018 +0300 -- CHANGES.txt | 3 ++- src/java/org/apache/cassandra/service/StorageProxy.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/49c1a256/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/49c1a256/src/java/org/apache/cassandra/service/StorageProxy.java -- diff --cc src/java/org/apache/cassandra/service/StorageProxy.java index b512722,52dd8ab..a47c4c6 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@@ -586,14 -522,14 +586,14 @@@ public class StorageProxy implements St return false; } - private static void commitPaxos(Commit proposal, ConsistencyLevel consistencyLevel, boolean shouldHint, long queryStartNanoTime) throws WriteTimeoutException + private static void commitPaxos(Commit proposal, ConsistencyLevel consistencyLevel, boolean allowHints, long queryStartNanoTime) throws WriteTimeoutException { boolean shouldBlock = consistencyLevel != ConsistencyLevel.ANY; -Keyspace keyspace = Keyspace.open(proposal.update.metadata().ksName); +Keyspace keyspace = Keyspace.open(proposal.update.metadata().keyspace); Token tk = proposal.update.partitionKey().getToken(); -List naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspace.getName(), tk); -Collection pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspace.getName()); +List naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspace.getName(), tk); +Collection pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspace.getName()); AbstractWriteResponseHandler responseHandler = null; if (shouldBlock) @@@ -622,16 -558,9 +622,16 @@@ MessagingService.instance().sendOneWay(message, destination); } } -else if (allowHints && shouldHint(destination)) +else { -submitHint(proposal.makeMutation(), destination, null); +if (responseHandler != null) +{ +responseHandler.expired(); +} - if (shouldHint) ++if (allowHints && shouldHint(destination)) +{ +submitHint(proposal.makeMutation(), destination, null); +} } } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/de12f29d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/de12f29d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/de12f29d Branch: refs/heads/trunk Commit: de12f29dc60e247beb91dc0a0dcd189fec7f9f9d Parents: 02c8436 5a662ea Author: Jason BrownAuthored: Wed Mar 14 10:00:05 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 10:00:52 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 1 + doc/native_protocol_v4.spec | 12 doc/native_protocol_v5.spec | 12 4 files changed, 26 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/de12f29d/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/de12f29d/doc/native_protocol_v5.spec -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd409898 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd409898 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd409898 Branch: refs/heads/trunk Commit: dd409898c2fbf9735ee4a93875c59d44352dcbb5 Parents: a7141e6 620f37c Author: Blake EgglestonAuthored: Thu Mar 8 15:55:32 2018 -0800 Committer: Blake Eggleston Committed: Thu Mar 8 15:55:32 2018 -0800 -- CHANGES.txt | 1 + .../operations/InsertUpdateIfConditionTest.java | 18 ++ 2 files changed, 19 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd409898/CHANGES.txt -- diff --cc CHANGES.txt index 9af46c3,0e9ef6d..c791e47 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,208 -1,8 +1,209 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when decompressing in netty-based streaming (CASSANDRA-13899) + * Properly close
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5c67a785 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5c67a785 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5c67a785 Branch: refs/heads/trunk Commit: 5c67a7852c903a2891951ff52f07b77fb2756412 Parents: 87f50f6 c87dc1a Author: Blake EgglestonAuthored: Thu Mar 8 14:29:13 2018 -0800 Committer: Blake Eggleston Committed: Thu Mar 8 14:29:13 2018 -0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/io/sstable/SSTable.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c67a785/CHANGES.txt -- diff --cc CHANGES.txt index da66c14,5b8ee0c..9af46c3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,208 -1,8 +1,209 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when decompressing in netty-based streaming (CASSANDRA-13899) + * Properly close
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/87f50f6a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/87f50f6a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/87f50f6a Branch: refs/heads/trunk Commit: 87f50f6a6e78f8da58d7774c2640e8aa99158429 Parents: 4b4c05e 61edf6f Author: Jason BrownAuthored: Wed Mar 7 04:07:12 2018 -0800 Committer: Jason Brown Committed: Wed Mar 7 04:10:31 2018 -0800 -- CHANGES.txt | 1 + .../db/commitlog/BatchCommitLogTest.java| 36 .../cassandra/db/commitlog/CommitLogTest.java | 4 +-- 3 files changed, 39 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/87f50f6a/CHANGES.txt -- diff --cc CHANGES.txt index 2b2baea,bb652f3..da66c14 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,208 -1,8 +1,209 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when decompressing in
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4b4c05e0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b4c05e0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b4c05e0 Branch: refs/heads/trunk Commit: 4b4c05e0de3f49a29aae80b6b8f9537626d996b5 Parents: a7a36e7 a060698 Author: Paulo MottaAuthored: Tue Mar 6 11:21:38 2018 -0300 Committer: Paulo Motta Committed: Tue Mar 6 11:24:14 2018 -0300 -- CHANGES.txt | 1 + NEWS.txt| 8 src/java/org/apache/cassandra/service/StorageProxy.java | 7 +-- 3 files changed, 14 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b4c05e0/CHANGES.txt -- diff --cc CHANGES.txt index 5fefc02,ff726a9..2b2baea --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,208 -1,8 +1,209 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when decompressing in
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5f31bb41 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5f31bb41 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5f31bb41 Branch: refs/heads/trunk Commit: 5f31bb4152986a1551edbc70981a33ff35d0dfc0 Parents: 551744a 7f02348 Author: Jason BrownAuthored: Mon Mar 5 14:36:19 2018 -0800 Committer: Jason Brown Committed: Mon Mar 5 14:37:50 2018 -0800 -- CHANGES.txt | 1 + .../cassandra/db/commitlog/AbstractCommitLogService.java| 4 ++-- .../org/apache/cassandra/db/commitlog/CommitLogSegment.java | 9 + 3 files changed, 8 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f31bb41/CHANGES.txt -- diff --cc CHANGES.txt index 72554c2,a4be758..5fefc02 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,210 -1,14 +1,211 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2201e364 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2201e364 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2201e364 Branch: refs/heads/trunk Commit: 2201e364b5b1085c18098ba10f48a4514f9c5dfc Parents: 68b8137 465d869 Author: Marcus ErikssonAuthored: Mon Mar 5 09:15:24 2018 +0100 Committer: Marcus Eriksson Committed: Mon Mar 5 09:15:24 2018 +0100 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java| 11 +++--- .../org/apache/cassandra/utils/FBUtilities.java | 36 +++ .../apache/cassandra/utils/FBUtilitiesTest.java | 37 4 files changed, 80 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2201e364/CHANGES.txt -- diff --cc CHANGES.txt index 9d0b483,163d787..72554c2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,209 -1,13 +1,210 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/72077203 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/72077203 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/72077203 Branch: refs/heads/trunk Commit: 720772033a1f92b422065a307dcacc5f024b9c07 Parents: 32110d6 abd9be1 Author: Marcus ErikssonAuthored: Mon Feb 19 07:54:33 2018 -0800 Committer: Marcus Eriksson Committed: Mon Feb 19 07:54:33 2018 -0800 -- CHANGES.txt | 2 + .../apache/cassandra/db/lifecycle/Helpers.java | 19 ++- .../apache/cassandra/db/lifecycle/LogFile.java | 38 +++-- .../cassandra/db/lifecycle/LogRecord.java | 11 ++-- .../cassandra/db/lifecycle/LogTransaction.java | 33 ++-- .../apache/cassandra/db/lifecycle/Tracker.java | 2 +- .../cassandra/db/lifecycle/HelpersTest.java | 56 +--- 7 files changed, 76 insertions(+), 85 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/72077203/CHANGES.txt -- diff --cc CHANGES.txt index 251a5f1,33d5da3..40b18ae --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,201 -1,12 +1,203 @@@ +4.0 + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when decompressing in netty-based streaming (CASSANDRA-13899) + * Properly close
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/161c37da Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/161c37da Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/161c37da Branch: refs/heads/trunk Commit: 161c37da8fa93f572e3c9474cb37fc6d96058ff6 Parents: a4cf29f 6eb65e5 Author: Marcus ErikssonAuthored: Fri Feb 9 16:26:24 2018 +0100 Committer: Marcus Eriksson Committed: Fri Feb 9 16:26:24 2018 +0100 -- CHANGES.txt | 1 + .../cassandra/db/compaction/Verifier.java | 2 ++ .../org/apache/cassandra/db/VerifyTest.java | 38 .../cassandra/io/sstable/LegacySSTableTest.java | 18 ++ 4 files changed, 59 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/161c37da/CHANGES.txt -- diff --cc CHANGES.txt index e860265,c38b69b..0f7b7fe --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -207,7 -19,9 +207,8 @@@ * Round buffer size to powers of 2 for the chunk cache (CASSANDRA-13897) * Update jackson JSON jars (CASSANDRA-13949) * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930) - * Correctly count range tombstones in traces and tombstone thresholds (CASSANDRA-8527) Merged from 3.0: + * Use the correct digest file and reload sstable metadata in nodetool verify (CASSANDRA-14217) * Handle failure when mutating repaired status in Verifier (CASSANDRA-13933) * Set encoding for javadoc generation (CASSANDRA-14154) * Fix index target computation for dense composite tables with dropped compact storage (CASSANDRA-14104) http://git-wip-us.apache.org/repos/asf/cassandra/blob/161c37da/src/java/org/apache/cassandra/db/compaction/Verifier.java -- diff --cc src/java/org/apache/cassandra/db/compaction/Verifier.java index 5a2a828,f0309b7..01e465e --- a/src/java/org/apache/cassandra/db/compaction/Verifier.java +++ b/src/java/org/apache/cassandra/db/compaction/Verifier.java @@@ -259,7 -259,9 +259,9 @@@ public class Verifier implements Closea { try { - sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE); + sstable.descriptor.getMetadataSerializer().mutateRepaired(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE, sstable.getSSTableMetadata().pendingRepair); + sstable.reloadSSTableMetadata(); + cfs.getTracker().notifySSTableRepairedStatusChanged(Collections.singleton(sstable)); } catch(IOException ioe) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/161c37da/test/unit/org/apache/cassandra/db/VerifyTest.java -- diff --cc test/unit/org/apache/cassandra/db/VerifyTest.java index 2eb741c,a332f74..8b9b437 --- a/test/unit/org/apache/cassandra/db/VerifyTest.java +++ b/test/unit/org/apache/cassandra/db/VerifyTest.java @@@ -44,13 -46,14 +45,17 @@@ import org.junit.runner.RunWith import java.io.*; import java.nio.file.Files; + import java.util.Collections; -import java.util.List; + import java.util.concurrent.ExecutionException; import java.util.zip.CRC32; import java.util.zip.CheckedInputStream; +import static org.apache.cassandra.SchemaLoader.counterCFMD; +import static org.apache.cassandra.SchemaLoader.createKeyspace; +import static org.apache.cassandra.SchemaLoader.loadSchema; +import static org.apache.cassandra.SchemaLoader.standardCFMD; + import static org.junit.Assert.assertFalse; + import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @RunWith(OrderedJUnit4ClassRunner.class) @@@ -375,6 -378,39 +380,39 @@@ public class VerifyTes } } + @Test + public void testMutateRepair() throws IOException, ExecutionException, InterruptedException + { + CompactionManager.instance.disableAutoCompaction(); + Keyspace keyspace = Keyspace.open(KEYSPACE); + ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CORRUPT_CF2); + + fillCF(cfs, 2); + + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); - sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, 1); ++ sstable.descriptor.getMetadataSerializer().mutateRepaired(sstable.descriptor, 1, sstable.getSSTableMetadata().pendingRepair); + sstable.reloadSSTableMetadata(); +
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5c3e33b1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5c3e33b1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5c3e33b1 Branch: refs/heads/trunk Commit: 5c3e33b17c59a1f8e4eb8eee60cf4ea59accb6e0 Parents: f2fc2e9 d369190 Author: Marcus ErikssonAuthored: Wed Feb 7 09:10:33 2018 +0100 Committer: Marcus Eriksson Committed: Wed Feb 7 09:10:33 2018 +0100 -- CHANGES.txt| 1 + .../cassandra/db/compaction/CompactionManager.java | 4 ++-- .../apache/cassandra/db/compaction/Verifier.java | 17 + test/unit/org/apache/cassandra/db/VerifyTest.java | 16 4 files changed, 24 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c3e33b1/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c3e33b1/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java index 046ae29,e158982..c5e5958 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@@ -410,7 -398,7 +410,7 @@@ public class CompactionManager implemen } @Override --public void execute(LifecycleTransaction input) throws IOException ++public void execute(LifecycleTransaction input) { verifyOne(cfs, input.onlyOne(), extendedVerify); } @@@ -985,7 -986,7 +985,7 @@@ } } --private void verifyOne(ColumnFamilyStore cfs, SSTableReader sstable, boolean extendedVerify) throws IOException ++private void verifyOne(ColumnFamilyStore cfs, SSTableReader sstable, boolean extendedVerify) { CompactionInfo.Holder verifyInfo = null; http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c3e33b1/src/java/org/apache/cassandra/db/compaction/Verifier.java -- diff --cc src/java/org/apache/cassandra/db/compaction/Verifier.java index af00915,44a5850..5a2a828 --- a/src/java/org/apache/cassandra/db/compaction/Verifier.java +++ b/src/java/org/apache/cassandra/db/compaction/Verifier.java @@@ -87,7 -86,7 +87,7 @@@ public class Verifier implements Closea this.verifyInfo = new VerifyInfo(dataFile, sstable); } --public void verify(boolean extended) throws IOException ++public void verify(boolean extended) { long rowStart = 0; @@@ -248,15 -248,24 +248,24 @@@ throw (Error) th; } --private void markAndThrow() throws IOException ++private void markAndThrow() { markAndThrow(true); } --private void markAndThrow(boolean mutateRepaired) throws IOException ++private void markAndThrow(boolean mutateRepaired) { if (mutateRepaired) // if we are able to mutate repaired flag, an incremental repair should be enough - sstable.descriptor.getMetadataSerializer().mutateRepaired(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE, sstable.getSSTableMetadata().pendingRepair); + { + try + { - sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE); ++ sstable.descriptor.getMetadataSerializer().mutateRepaired(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE, sstable.getSSTableMetadata().pendingRepair); + } + catch(IOException ioe) + { + outputHandler.output("Error mutating repairedAt for SSTable " + sstable.getFilename() + ", as part of markAndThrow"); + } + } throw new CorruptSSTableException(new Exception(String.format("Invalid SSTable %s, please force %srepair", sstable.getFilename(), mutateRepaired ? "" : "a full ")), sstable.getFilename()); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c3e33b1/test/unit/org/apache/cassandra/db/VerifyTest.java -- diff --cc test/unit/org/apache/cassandra/db/VerifyTest.java index 94fb9ec,6808c47..2eb741c --- a/test/unit/org/apache/cassandra/db/VerifyTest.java +++ b/test/unit/org/apache/cassandra/db/VerifyTest.java @@@ -97,7 -94,7 +97,7 @@@ public class VerifyTes @Test --public void
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/735f1a41 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/735f1a41 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/735f1a41 Branch: refs/heads/trunk Commit: 735f1a417f4646fbb4dd9308055dd0880770aff8 Parents: d6cc594 c181943 Author: Stefan PodkowinskiAuthored: Mon Jan 22 13:37:24 2018 +0100 Committer: Stefan Podkowinski Committed: Mon Jan 22 13:37:37 2018 +0100 -- redhat/cassandra.spec | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/735f1a41/redhat/cassandra.spec -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cb91eaa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cb91eaa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cb91eaa Branch: refs/heads/trunk Commit: 1cb91ed8169a7b680f1f6ab6b1418ce56e61 Parents: f428c42 d0b7566 Author: Jason BrownAuthored: Fri Jan 19 05:14:58 2018 -0800 Committer: Jason Brown Committed: Fri Jan 19 05:15:28 2018 -0800 -- bin/cassandra | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1e58a53c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1e58a53c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1e58a53c Branch: refs/heads/trunk Commit: 1e58a53ca17d1292acbb820a2f7c334210e9a33e Parents: 8587b0c 36375f8 Author: Paulo MottaAuthored: Sat Jan 13 01:27:15 2018 -0200 Committer: Paulo Motta Committed: Sat Jan 13 01:27:15 2018 -0200 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/39837d47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/39837d47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/39837d47 Branch: refs/heads/trunk Commit: 39837d4793292b2378baa30eb9704124950363db Parents: de7c24b 4faa6e1 Author: Jason BrownAuthored: Wed Jan 10 05:15:45 2018 -0800 Committer: Jason Brown Committed: Wed Jan 10 05:17:06 2018 -0800 -- CHANGES.txt | 1 + build.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/39837d47/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/39837d47/build.xml -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d52326af Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d52326af Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d52326af Branch: refs/heads/trunk Commit: d52326af623f371f820c20269bc1113db443cf38 Parents: 882c282 b28fc1b Author: Marcus ErikssonAuthored: Fri Dec 22 08:53:03 2017 +0100 Committer: Marcus Eriksson Committed: Fri Dec 22 08:53:03 2017 +0100 -- src/java/org/apache/cassandra/streaming/StreamReceiveTask.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d52326af/src/java/org/apache/cassandra/streaming/StreamReceiveTask.java -- diff --cc src/java/org/apache/cassandra/streaming/StreamReceiveTask.java index 988bc9e,f3966a7..b823311 --- a/src/java/org/apache/cassandra/streaming/StreamReceiveTask.java +++ b/src/java/org/apache/cassandra/streaming/StreamReceiveTask.java @@@ -233,11 -210,13 +233,12 @@@ public class StreamReceiveTask extends { task.finishTransaction(); +// add sstables (this will build secondary indexes too, see CASSANDRA-10130) + logger.debug("[Stream #{}] Received {} sstables from {} ({})", task.session.planId(), readers.size(), task.session.peer, readers); -// add sstables and build secondary indexes cfs.addSSTables(readers); -cfs.indexManager.buildAllIndexesBlocking(readers); //invalidate row and counter cache -if (cfs.isRowCacheEnabled() || cfs.metadata.isCounter()) +if (cfs.isRowCacheEnabled() || cfs.metadata().isCounter()) { List boundsToInvalidate = new ArrayList<>(readers.size()); readers.forEach(sstable -> boundsToInvalidate.add(new Bounds(sstable.first.getToken(), sstable.last.getToken(; - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8764ef2d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8764ef2d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8764ef2d Branch: refs/heads/trunk Commit: 8764ef2da367fac64adad0821a34e6fa15da13c6 Parents: 6cd4009 adc32ac Author: Alex PetrovAuthored: Tue Dec 19 10:59:23 2017 +0100 Committer: Alex Petrov Committed: Tue Dec 19 10:59:23 2017 +0100 -- CHANGES.txt| 1 + .../org/apache/cassandra/index/TargetParser.java | 17 ++--- 2 files changed, 11 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8764ef2d/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8764ef2d/src/java/org/apache/cassandra/index/TargetParser.java -- diff --cc src/java/org/apache/cassandra/index/TargetParser.java index ec25259,96d03af..bc679f2 --- a/src/java/org/apache/cassandra/index/TargetParser.java +++ b/src/java/org/apache/cassandra/index/TargetParser.java @@@ -77,13 -77,16 +77,16 @@@ public class TargetParse } // if it's not a CQL table, we can't assume that the column name is utf8, so - // in that case we have to do a linear scan of the table's columns to get the matching one - if (metadata.isCQLTable()) - return Pair.create(metadata.getColumn(new ColumnIdentifier(columnName, true)), targetType); - else - for (ColumnMetadata column : metadata.columns()) - if (column.name.toString().equals(columnName)) - return Pair.create(column, targetType); + // in that case we have to do a linear scan of the cfm's columns to get the matching one. + // After dropping compact storage (see CASSANDRA-10857), we can't distinguish between the + // former compact/thrift table, so we have to fall back to linear scan in both cases. -ColumnDefinition cd = cfm.getColumnDefinition(new ColumnIdentifier(columnName, true)); ++ColumnMetadata cd = metadata.getColumn(new ColumnIdentifier(columnName, true)); + if (cd != null) + return Pair.create(cd, targetType); + -for (ColumnDefinition column : cfm.allColumns()) ++for (ColumnMetadata column : metadata.columns()) + if (column.name.toString().equals(columnName)) + return Pair.create(column, targetType); return null; } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d569c831 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d569c831 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d569c831 Branch: refs/heads/trunk Commit: d569c831cbcc7c999b97c332178ae03ac45f9546 Parents: 7a40abb c000827 Author: Jason BrownAuthored: Wed Dec 13 19:52:58 2017 -0800 Committer: Jason Brown Committed: Wed Dec 13 19:53:42 2017 -0800 -- CHANGES.txt | 1 + conf/cassandra.yaml | 8 - .../org/apache/cassandra/config/Config.java | 1 - .../cassandra/config/DatabaseDescriptor.java| 10 - .../db/commitlog/AbstractCommitLogService.java | 215 +++ .../db/commitlog/PeriodicCommitLogService.java | 3 +- .../commitlog/AbstractCommitLogServiceTest.java | 166 ++ .../commitlog/CommitLogChainedMarkersTest.java | 1 - .../CommitLogSegmentBackpressureTest.java | 9 +- 9 files changed, 295 insertions(+), 119 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d569c831/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d569c831/conf/cassandra.yaml -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d569c831/src/java/org/apache/cassandra/config/Config.java -- diff --cc src/java/org/apache/cassandra/config/Config.java index 4fa3bed,a01203c..1db8217 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@@ -185,14 -198,8 +185,13 @@@ public class Confi public String commitlog_directory; public Integer commitlog_total_space_in_mb; public CommitLogSync commitlog_sync; + +/** + * @deprecated since 4.0 This value was near useless, and we're not using it anymore + */ public double commitlog_sync_batch_window_in_ms = Double.NaN; +public double commitlog_sync_group_window_in_ms = Double.NaN; public int commitlog_sync_period_in_ms; - public int commitlog_marker_period_in_ms = 0; public int commitlog_segment_size_in_mb = 32; public ParameterizedClass commitlog_compression; public int commitlog_max_compression_buffers_in_pool = 3; http://git-wip-us.apache.org/repos/asf/cassandra/blob/d569c831/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d569c831/test/unit/org/apache/cassandra/db/commitlog/CommitLogChainedMarkersTest.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d569c831/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentBackpressureTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5bb7f34 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5bb7f34 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5bb7f34 Branch: refs/heads/trunk Commit: e5bb7f343dbd6bfa476bb7c8cbfe531a3615ca49 Parents: 17e602b 0525145 Author: Jeff JirsaAuthored: Tue Dec 12 09:55:55 2017 -0800 Committer: Jeff Jirsa Committed: Tue Dec 12 09:58:06 2017 -0800 -- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5bb7f34/CHANGES.txt -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/23691f5f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/23691f5f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/23691f5f Branch: refs/heads/trunk Commit: 23691f5f8ae541a91f0a2379693d59f7120c12cd Parents: a61764d b637eb1 Author: Paulo MottaAuthored: Fri Dec 8 09:05:20 2017 +1100 Committer: Paulo Motta Committed: Fri Dec 8 09:06:05 2017 +1100 -- CHANGES.txt | 1 + .../io/sstable/format/SSTableReader.java| 3 ++- .../apache/cassandra/cql3/SimpleQueryTest.java | 20 3 files changed, 23 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/23691f5f/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/23691f5f/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/23691f5f/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a61764d6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a61764d6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a61764d6 Branch: refs/heads/trunk Commit: a61764d6cb4e877e1f0d383bc4cd49b2dd00b9d1 Parents: 3228716 cdcd652 Author: Jeff JirsaAuthored: Thu Dec 7 13:21:12 2017 -0800 Committer: Jeff Jirsa Committed: Thu Dec 7 13:21:38 2017 -0800 -- CHANGES.txt | 1 + .../org/apache/cassandra/auth/RoleResource.java | 4 ++-- .../miscellaneous/RoleSyntaxTest.java | 23 3 files changed, 26 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a61764d6/CHANGES.txt -- diff --cc CHANGES.txt index ef414b9,691b285..6d3f398 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -179,9 -8,10 +179,10 @@@ * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930) Merged from 3.0: 3.0.16 + * Accept role names containing forward-slash (CASSANDRA-14088) * Optimize CRC check chance probability calculations (CASSANDRA-14094) * Fix cleanup on keyspace with no replicas (CASSANDRA-13526) - * Fix updating base table rows with TTL not removing view entries (CASSANDRA-14071) + * Fix updating base table rows with TTL not removing materialized view entries (CASSANDRA-14071) * Reduce garbage created by DynamicSnitch (CASSANDRA-14091) * More frequent commitlog chained markers (CASSANDRA-13987) * Fix serialized size of DataLimits (CASSANDRA-14057) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a6f39834 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a6f39834 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a6f39834 Branch: refs/heads/trunk Commit: a6f39834b940afe1d5f09636df754cb50c1240ef Parents: e79e50b 4e74f01 Author: Jeff JirsaAuthored: Wed Dec 6 21:56:56 2017 -0800 Committer: Jeff Jirsa Committed: Wed Dec 6 21:57:20 2017 -0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/schema/CompressionParams.java | 3 ++- .../cassandra/streaming/compress/CompressedInputStream.java | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6f39834/CHANGES.txt -- diff --cc CHANGES.txt index ea4ab0b,1a1a2cf..34af97d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -178,8 -8,9 +178,9 @@@ * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930) Merged from 3.0: 3.0.16 + * Optimize CRC check chance probability calculations (CASSANDRA-14094) * Fix cleanup on keyspace with no replicas (CASSANDRA-13526) - * Fix updating base table rows with TTL not removing view entries (CASSANDRA-14071) + * Fix updating base table rows with TTL not removing materialized view entries (CASSANDRA-14071) * Reduce garbage created by DynamicSnitch (CASSANDRA-14091) * More frequent commitlog chained markers (CASSANDRA-13987) * Fix serialized size of DataLimits (CASSANDRA-14057) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6f39834/src/java/org/apache/cassandra/schema/CompressionParams.java -- diff --cc src/java/org/apache/cassandra/schema/CompressionParams.java index 2d60d13,f48a688..b96334b --- a/src/java/org/apache/cassandra/schema/CompressionParams.java +++ b/src/java/org/apache/cassandra/schema/CompressionParams.java @@@ -537,12 -468,6 +537,13 @@@ public final class CompressionParam return crcCheckChance; } +public boolean shouldCheckCrc() +{ +double checkChance = getCrcCheckChance(); - return checkChance > 0d && checkChance > ThreadLocalRandom.current().nextDouble(); ++return checkChance >= 1d || ++ (checkChance > 0d && checkChance > ThreadLocalRandom.current().nextDouble()); +} + @Override public boolean equals(Object obj) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6f39834/src/java/org/apache/cassandra/streaming/compress/CompressedInputStream.java -- diff --cc src/java/org/apache/cassandra/streaming/compress/CompressedInputStream.java index da63403,8a32d7a..290dd9e --- a/src/java/org/apache/cassandra/streaming/compress/CompressedInputStream.java +++ b/src/java/org/apache/cassandra/streaming/compress/CompressedInputStream.java @@@ -149,40 -114,63 +149,41 @@@ public class CompressedInputStream exte } } -@Override -public int read() throws IOException -{ -if (current >= bufferOffset + buffer.length || validBufferBytes == -1) -decompressNextChunk(); - -assert current >= bufferOffset && current < bufferOffset + validBufferBytes; - -return ((int) buffer[(int) (current++ - bufferOffset)]) & 0xff; -} - -@Override -public int read(byte[] b, int off, int len) throws IOException +private void decompress(ByteBuffer compressed) throws IOException { -long nextCurrent = current + len; - -if (current >= bufferOffset + buffer.length || validBufferBytes == -1) -decompressNextChunk(); - -assert nextCurrent >= bufferOffset; +int length = compressed.remaining(); -int read = 0; -while (read < len) +// uncompress if the buffer size is less than the max chunk size. else, if the buffer size is greater than or equal to the maxCompressedLength, +// we assume the buffer is not compressed. see CASSANDRA-10520 +final boolean releaseCompressedBuffer; +if (length - CHECKSUM_LENGTH < info.parameters.maxCompressedLength()) { -int nextLen = Math.min((len - read), (int)((bufferOffset + validBufferBytes) - current)); - -System.arraycopy(buffer, (int)(current - bufferOffset), b, off + read, nextLen); -read += nextLen; - -current += nextLen; -if (read != len) -decompressNextChunk(); +buffer.clear();
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e79e50b0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e79e50b0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e79e50b0 Branch: refs/heads/trunk Commit: e79e50b0a784e5f6e7abebfcbfed5a49c7b2ab82 Parents: 0d70789 c169d49 Author: Jeff JirsaAuthored: Wed Dec 6 21:43:13 2017 -0800 Committer: Jeff Jirsa Committed: Wed Dec 6 21:45:48 2017 -0800 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java| 24 +++--- .../org/apache/cassandra/db/CleanupTest.java| 81 3 files changed, 94 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e79e50b0/CHANGES.txt -- diff --cc CHANGES.txt index cfec6d3,3c6565c..ea4ab0b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -178,7 -8,8 +178,8 @@@ * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930) Merged from 3.0: 3.0.16 + * Fix cleanup on keyspace with no replicas (CASSANDRA-13526) - * Fix updating base table rows with TTL not removing view entries (CASSANDRA-14071) + * Fix updating base table rows with TTL not removing materialized view entries (CASSANDRA-14071) * Reduce garbage created by DynamicSnitch (CASSANDRA-14091) * More frequent commitlog chained markers (CASSANDRA-13987) * Fix serialized size of DataLimits (CASSANDRA-14057) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e79e50b0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e79e50b0/test/unit/org/apache/cassandra/db/CleanupTest.java -- diff --cc test/unit/org/apache/cassandra/db/CleanupTest.java index f576290,80e9b37..044a49e --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@@ -35,7 -37,9 +37,9 @@@ import org.junit.Test import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.ColumnDefinition; + import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.schema.ColumnMetadata; + import org.apache.cassandra.schema.KeyspaceMetadata; import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.RowFilter; @@@ -172,8 -204,55 +204,56 @@@ public class CleanupTes assertEquals(0, Util.getAll(Util.cmd(cfs).build()).size()); } + @Test + public void testCleanupWithNoTokenRange() throws Exception + { + testCleanupWithNoTokenRange(false); + } + + @Test + public void testUserDefinedCleanupWithNoTokenRange() throws Exception + { + testCleanupWithNoTokenRange(true); + } + + private void testCleanupWithNoTokenRange(boolean isUserDefined) throws Exception + { + + TokenMetadata tmd = StorageService.instance.getTokenMetadata(); + tmd.clearUnsafe(); + tmd.updateHostId(UUID.randomUUID(), InetAddress.getByName("127.0.0.1")); + byte[] tk1 = {2}; + tmd.updateNormalToken(new BytesToken(tk1), InetAddress.getByName("127.0.0.1")); + + + Keyspace keyspace = Keyspace.open(KEYSPACE2); + keyspace.setMetadata(KeyspaceMetadata.create(KEYSPACE2, KeyspaceParams.nts("DC1", 1))); + ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF_STANDARD2); + + // insert data and verify we get it back w/ range query + fillCF(cfs, "val", LOOPS); + assertEquals(LOOPS, Util.getAll(Util.cmd(cfs).build()).size()); + + // remove replication on DC1 + keyspace.setMetadata(KeyspaceMetadata.create(KEYSPACE2, KeyspaceParams.nts("DC1", 0))); + + // clear token range for localhost on DC1 + if (isUserDefined) + { + for (SSTableReader r : cfs.getLiveSSTables()) + CompactionManager.instance.forceUserDefinedCleanup(r.getFilename()); + } + else + { + CompactionManager.instance.performCleanup(cfs, 2); + } + assertEquals(0, Util.getAll(Util.cmd(cfs).build()).size()); + assertTrue(cfs.getLiveSSTables().isEmpty()); + } + + + @Test public void testuserDefinedCleanupWithNewToken() throws ExecutionException, InterruptedException, UnknownHostException { StorageService.instance.getTokenMetadata().clearUnsafe();
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d70789f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d70789f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d70789f Branch: refs/heads/trunk Commit: 0d70789fda2b9b9c39a5508857eb028b311e6fa4 Parents: df51d0c f77b663 Author: Paulo MottaAuthored: Thu Dec 7 08:20:47 2017 +1100 Committer: Paulo Motta Committed: Thu Dec 7 08:21:37 2017 +1100 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/Attributes.java | 6 + .../org/apache/cassandra/db/LivenessInfo.java | 62 - .../cassandra/db/view/ViewUpdateGenerator.java | 10 +- .../apache/cassandra/schema/TableParams.java| 4 + .../apache/cassandra/tools/JsonTransformer.java | 2 +- .../org/apache/cassandra/cql3/ViewLongTest.java | 231 +++ .../cql3/validation/operations/TTLTest.java | 104 + .../apache/cassandra/db/LivenessInfoTest.java | 112 + 9 files changed, 524 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d70789f/CHANGES.txt -- diff --cc CHANGES.txt index d526c09,8a7158d..cfec6d3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -178,6 -8,7 +178,7 @@@ * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930) Merged from 3.0: 3.0.16 - * Fix updating base table rows with TTL not removing view entries (CASSANDRA-14071) ++ * Fix updating base table rows with TTL not removing materialized view entries (CASSANDRA-14071) * Reduce garbage created by DynamicSnitch (CASSANDRA-14091) * More frequent commitlog chained markers (CASSANDRA-13987) * Fix serialized size of DataLimits (CASSANDRA-14057) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d70789f/src/java/org/apache/cassandra/db/LivenessInfo.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d70789f/src/java/org/apache/cassandra/db/view/ViewUpdateGenerator.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d70789f/src/java/org/apache/cassandra/schema/TableParams.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d70789f/src/java/org/apache/cassandra/tools/JsonTransformer.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d70789f/test/long/org/apache/cassandra/cql3/ViewLongTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed0ded12 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed0ded12 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed0ded12 Branch: refs/heads/trunk Commit: ed0ded123c037063f44536dc8363c7985be914a5 Parents: d8f0361 ae78231 Author: Blake EgglestonAuthored: Tue Dec 5 16:06:29 2017 -0800 Committer: Blake Eggleston Committed: Tue Dec 5 16:06:29 2017 -0800 -- CHANGES.txt | 2 ++ .../cassandra/locator/DynamicEndpointSnitch.java| 16 2 files changed, 14 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed0ded12/CHANGES.txt -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2402acd4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2402acd4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2402acd4 Branch: refs/heads/trunk Commit: 2402acd47e3bb514981cde742b7330666c564869 Parents: d274c6a c3a1a4f Author: Jason BrownAuthored: Tue Dec 5 05:10:08 2017 -0800 Committer: Jason Brown Committed: Tue Dec 5 05:11:21 2017 -0800 -- CHANGES.txt | 1 + conf/cassandra.yaml | 10 +- .../org/apache/cassandra/config/Config.java | 1 + .../cassandra/config/DatabaseDescriptor.java| 10 ++ .../AbstractCommitLogSegmentManager.java| 8 +- .../db/commitlog/AbstractCommitLogService.java | 84 ++--- .../cassandra/db/commitlog/CommitLog.java | 4 +- .../db/commitlog/CommitLogSegment.java | 90 -- .../db/commitlog/CompressedSegment.java | 4 +- .../db/commitlog/EncryptedSegment.java | 3 - .../db/commitlog/FileDirectSegment.java | 14 +++ .../db/commitlog/MemoryMappedSegment.java | 4 + .../db/commitlog/PeriodicCommitLogService.java | 2 +- .../cassandra/db/commitlog/CDCTestReplayer.java | 2 +- .../commitlog/CommitLogChainedMarkersTest.java | 98 .../CommitLogSegmentBackpressureTest.java | 4 +- .../CommitLogSegmentManagerCDCTest.java | 8 +- .../cassandra/db/commitlog/CommitLogTest.java | 10 +- .../db/commitlog/CommitLogTestReplayer.java | 2 +- 19 files changed, 288 insertions(+), 71 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2402acd4/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2402acd4/conf/cassandra.yaml -- diff --cc conf/cassandra.yaml index ba478e7,3569d36..02cec12 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@@ -358,24 -367,21 +358,24 @@@ counter_cache_save_period: 720 # If not set, the default directory is $CASSANDRA_HOME/data/saved_caches. # saved_caches_directory: /var/lib/cassandra/saved_caches -# commitlog_sync may be either "periodic" or "batch." +# commitlog_sync may be either "periodic", "group", or "batch." # # When in batch mode, Cassandra won't ack writes until the commit log -# has been fsynced to disk. It will wait -# commitlog_sync_batch_window_in_ms milliseconds between fsyncs. -# This window should be kept short because the writer threads will -# be unable to do extra work while waiting. (You may need to increase -# concurrent_writes for the same reason.) +# has been flushed to disk. Each incoming write will trigger the flush task. +# commitlog_sync_batch_window_in_ms is a deprecated value. Previously it had +# almost no value, and is being removed. # -# commitlog_sync: batch # commitlog_sync_batch_window_in_ms: 2 # -# the other option is "periodic" where writes may be acked immediately +# group mode is similar to batch mode, where Cassandra will not ack writes +# until the commit log has been flushed to disk. The difference is group +# mode will wait up to commitlog_sync_group_window_in_ms between flushes. +# +# commitlog_sync_group_window_in_ms: 1000 +# +# the default option is "periodic" where writes may be acked immediately # and the CommitLog is simply synced every commitlog_sync_period_in_ms - # milliseconds. + # milliseconds. commitlog_sync: periodic commitlog_sync_period_in_ms: 1 http://git-wip-us.apache.org/repos/asf/cassandra/blob/2402acd4/src/java/org/apache/cassandra/config/Config.java -- diff --cc src/java/org/apache/cassandra/config/Config.java index 1db8217,5fe752e..4fa3bed --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@@ -185,13 -198,9 +185,14 @@@ public class Confi public String commitlog_directory; public Integer commitlog_total_space_in_mb; public CommitLogSync commitlog_sync; + +/** + * @deprecated since 4.0 This value was near useless, and we're not using it anymore + */ public double commitlog_sync_batch_window_in_ms = Double.NaN; +public double commitlog_sync_group_window_in_ms = Double.NaN; public int commitlog_sync_period_in_ms; + public int commitlog_marker_period_in_ms = 0; public int commitlog_segment_size_in_mb = 32; public ParameterizedClass commitlog_compression; public int commitlog_max_compression_buffers_in_pool = 3;
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk * cassandra-3.11: Fix serialized size of DataLimits Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/da410153 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/da410153 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/da410153 Branch: refs/heads/trunk Commit: da410153ed250e03080fd48cd0f57baee481412d Parents: f1f6ed6 d2bc37f Author: Sylvain LebresneAuthored: Sat Nov 18 14:17:58 2017 +0100 Committer: Sylvain Lebresne Committed: Sat Nov 18 14:17:58 2017 +0100 -- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/da410153/CHANGES.txt -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/07258a96 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/07258a96 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/07258a96 Branch: refs/heads/trunk Commit: 07258a96bfde3a6df839b4cc2c79e500d95163f0 Parents: 7707b73 9ee44db Author: Aleksey YeschenkoAuthored: Mon Nov 13 13:15:15 2017 + Committer: Aleksey Yeschenko Committed: Mon Nov 13 13:18:03 2017 + -- CHANGES.txt | 1 + .../apache/cassandra/metrics/TableMetrics.java | 2 + .../apache/cassandra/service/DataResolver.java | 51 +--- 3 files changed, 46 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/07258a96/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/07258a96/src/java/org/apache/cassandra/metrics/TableMetrics.java -- diff --cc src/java/org/apache/cassandra/metrics/TableMetrics.java index 04fbf46,e78bb66..5c4a849 --- a/src/java/org/apache/cassandra/metrics/TableMetrics.java +++ b/src/java/org/apache/cassandra/metrics/TableMetrics.java @@@ -248,33 -201,7 +248,34 @@@ public class TableMetric } }); +public static final Gauge globalBytesRepaired = Metrics.register(globalFactory.createMetricName("BytesRepaired"), + new Gauge() +{ +public Long getValue() +{ +return totalNonSystemTablesSize(SSTableReader::isRepaired).left; +} +}); + +public static final Gauge globalBytesUnrepaired = Metrics.register(globalFactory.createMetricName("BytesUnrepaired"), + new Gauge() +{ +public Long getValue() +{ +return totalNonSystemTablesSize(s -> !s.isRepaired() && !s.isPendingRepair()).left; +} +}); + +public static final Gauge globalBytesPendingRepair = Metrics.register(globalFactory.createMetricName("BytesPendingRepair"), + new Gauge() +{ +public Long getValue() +{ +return totalNonSystemTablesSize(SSTableReader::isPendingRepair).left; +} +}); + + public final Meter readRepairRequests; public final Meter shortReadProtectionRequests; public final Map samplers; @@@ -825,26 -698,7 +826,27 @@@ casPropose = new LatencyMetrics(factory, "CasPropose", cfs.keyspace.metric.casPropose); casCommit = new LatencyMetrics(factory, "CasCommit", cfs.keyspace.metric.casCommit); +repairsStarted = createTableCounter("RepairJobsStarted"); +repairsCompleted = createTableCounter("RepairJobsCompleted"); + +anticompactionTime = createTableTimer("AnticompactionTime", cfs.keyspace.metric.anticompactionTime); +validationTime = createTableTimer("ValidationTime", cfs.keyspace.metric.validationTime); +syncTime = createTableTimer("SyncTime", cfs.keyspace.metric.repairSyncTime); + +bytesValidated = createTableHistogram("BytesValidated", cfs.keyspace.metric.bytesValidated, false); +partitionsValidated = createTableHistogram("PartitionsValidated", cfs.keyspace.metric.partitionsValidated, false); +bytesAnticompacted = createTableCounter("BytesAnticompacted"); +bytesMutatedAnticompaction = createTableCounter("BytesMutatedAnticompaction"); +mutatedAnticompactionGauge = createTableGauge("MutatedAnticompactionGauge", () -> +{ +double bytesMutated = bytesMutatedAnticompaction.getCount(); +double bytesAnticomp = bytesAnticompacted.getCount(); +if (bytesAnticomp + bytesMutated > 0) +return bytesMutated / (bytesAnticomp + bytesMutated); +return 0.0; +}); + + readRepairRequests = Metrics.meter(factory.createMetricName("ReadRepairRequests")); shortReadProtectionRequests = Metrics.meter(factory.createMetricName("ShortReadProtectionRequests")); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/07258a96/src/java/org/apache/cassandra/service/DataResolver.java -- diff --cc src/java/org/apache/cassandra/service/DataResolver.java index d4c77d1,f63f4f5..933014f --- a/src/java/org/apache/cassandra/service/DataResolver.java +++
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7707b736 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7707b736 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7707b736 Branch: refs/heads/trunk Commit: 7707b736cd216a59f29dccdbabbb8398df95e020 Parents: ec62822 387d3a4 Author: Blake EgglestonAuthored: Thu Nov 9 10:08:06 2017 -0800 Committer: Blake Eggleston Committed: Thu Nov 9 10:08:06 2017 -0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/io/sstable/SSTableLoader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7707b736/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7707b736/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba5f946e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba5f946e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba5f946e Branch: refs/heads/trunk Commit: ba5f946e5f6763549e7235b48357a1edd0d67728 Parents: 77a352b 7d6474b Author: Blake EgglestonAuthored: Wed Nov 8 16:43:50 2017 -0800 Committer: Blake Eggleston Committed: Wed Nov 8 16:58:58 2017 -0800 -- CHANGES.txt | 1 + .../org/apache/cassandra/service/ActiveRepairService.java | 7 +-- 2 files changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba5f946e/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba5f946e/src/java/org/apache/cassandra/service/ActiveRepairService.java -- diff --cc src/java/org/apache/cassandra/service/ActiveRepairService.java index ab92822,626aa91..62352ad --- a/src/java/org/apache/cassandra/service/ActiveRepairService.java +++ b/src/java/org/apache/cassandra/service/ActiveRepairService.java @@@ -469,9 -354,8 +469,9 @@@ public class ActiveRepairService implem throw new RuntimeException(errorMsg); } - public void registerParentRepairSession(UUID parentRepairSession, InetAddress coordinator, List columnFamilyStores, Collection ranges, boolean isIncremental, long repairedAt, boolean isGlobal, PreviewKind previewKind) -public synchronized void registerParentRepairSession(UUID parentRepairSession, InetAddress coordinator, List columnFamilyStores, Collection ranges, boolean isIncremental, long timestamp, boolean isGlobal) ++public synchronized void registerParentRepairSession(UUID parentRepairSession, InetAddress coordinator, List columnFamilyStores, Collection ranges, boolean isIncremental, long repairedAt, boolean isGlobal, PreviewKind previewKind) { +assert isIncremental || repairedAt == ActiveRepairService.UNREPAIRED_SSTABLE; if (!registeredForEndpointChanges) { Gossiper.instance.register(this); @@@ -479,9 -363,46 +479,12 @@@ registeredForEndpointChanges = true; } - parentRepairSessions.put(parentRepairSession, new ParentRepairSession(coordinator, columnFamilyStores, ranges, isIncremental, repairedAt, isGlobal, previewKind)); + if (!parentRepairSessions.containsKey(parentRepairSession)) + { -parentRepairSessions.put(parentRepairSession, new ParentRepairSession(coordinator, columnFamilyStores, ranges, isIncremental, timestamp, isGlobal)); ++parentRepairSessions.put(parentRepairSession, new ParentRepairSession(coordinator, columnFamilyStores, ranges, isIncremental, repairedAt, isGlobal, previewKind)); + } } -public Set currentlyRepairing(UUID cfId, UUID parentRepairSession) -{ -Set repairing = new HashSet<>(); -for (Map.Entry entry : parentRepairSessions.entrySet()) -{ -Collection sstables = entry.getValue().getActiveSSTables(cfId); -if (sstables != null && !entry.getKey().equals(parentRepairSession)) -repairing.addAll(sstables); -} -return repairing; -} - -/** - * Run final process of repair. - * This removes all resources held by parent repair session, after performing anti compaction if necessary. - * - * @param parentSession Parent session ID - * @param neighbors Repair participants (not including self) - * @param successfulRanges Ranges that repaired successfully - */ -public synchronized ListenableFuture finishParentSession(UUID parentSession, Set neighbors, Collection successfulRanges) -{ -List tasks = new ArrayList<>(neighbors.size() + 1); -for (InetAddress neighbor : neighbors) -{ -AnticompactionTask task = new AnticompactionTask(parentSession, neighbor, successfulRanges); -registerOnFdAndGossip(task); -tasks.add(task); -task.run(); // 'run' is just sending message -} -tasks.add(doAntiCompaction(parentSession, successfulRanges)); -return Futures.successfulAsList(tasks); -} - public ParentRepairSession getParentRepairSession(UUID parentSessionId) { ParentRepairSession session = parentRepairSessions.get(parentSessionId);
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e7a401b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e7a401b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e7a401b Branch: refs/heads/trunk Commit: 9e7a401b9c1e9244ebb7654f5e4bafa1d633d2ca Parents: 07fbd8e ab6201c Author: Sam TunnicliffeAuthored: Tue Nov 7 14:03:45 2017 + Committer: Sam Tunnicliffe Committed: Tue Nov 7 14:03:45 2017 + -- CHANGES.txt | 1 + .../apache/cassandra/dht/RandomPartitioner.java | 22 ++-- 2 files changed, 12 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e7a401b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e7a401b/src/java/org/apache/cassandra/dht/RandomPartitioner.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/569c6abc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/569c6abc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/569c6abc Branch: refs/heads/trunk Commit: 569c6abcfa50901fdf73d0b6e89cc1562e698c43 Parents: af2c784 ea443df Author: Blake EgglestonAuthored: Thu Oct 26 14:06:24 2017 -0700 Committer: Blake Eggleston Committed: Thu Oct 26 14:06:24 2017 -0700 -- CHANGES.txt| 1 + NEWS.txt | 8 conf/cassandra.yaml| 4 src/java/org/apache/cassandra/config/Config.java | 3 +++ .../cassandra/config/DatabaseDescriptor.java | 5 + .../cql3/statements/CreateViewStatement.java | 17 + 6 files changed, 38 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/569c6abc/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/569c6abc/NEWS.txt -- diff --cc NEWS.txt index 02a4117,f8dd93b..7a133b8 --- a/NEWS.txt +++ b/NEWS.txt @@@ -33,41 -18,16 +33,49 @@@ New feature Upgrading - -- Nothing specific to this release, but please see previous upgrading sections. +- Support for legacy auth tables in the system_auth keyspace (users, + permissions, credentials) and the migration code has been removed. Migration + of these legacy auth tables must have been completed before the upgrade to + 4.0 and the legacy tables must have been removed. See the 'Upgrading' section + for version 2.2 for migration instructions. +- Cassandra 4.0 removed support for the deprecated Thrift interface. Amongst + Tother things, this imply the removal of all yaml option related to thrift + ('start_rpc', rpc_port, ...). +- Cassandra 4.0 removed support for any pre-3.0 format. This means you + cannot upgrade from a 2.x version to 4.0 directly, you have to upgrade to + a 3.0.x/3.x version first (and run upgradesstable). In particular, this + mean Cassandra 4.0 cannot load or read pre-3.0 sstables in any way: you + will need to upgrade those sstable in 3.0.x/3.x first. +- Upgrades from 3.0.x or 3.x are supported since 3.0.13 or 3.11.0, previous + versions will causes issues during rolling upgrades (CASSANDRA-13274). +- Cassandra will no longer allow invalid keyspace replication options, such + as invalid datacenter names for NetworkTopologyStrategy. Operators MUST + add new nodes to a datacenter before they can set set ALTER or CREATE + keyspace replication policies using that datacenter. Existing keyspaces + will continue to operate, but CREATE and ALTER will validate that all + datacenters specified exist in the cluster. +- Cassandra 4.0 fixes a problem with incremental repair which caused repaired + data to be inconsistent between nodes. The fix changes the behavior of both + full and incremental repairs. For full repairs, data is no longer marked + repaired. For incremental repairs, anticompaction is run at the beginning + of the repair, instead of at the end. If incremental repair was being used + prior to upgrading, a full repair should be run after upgrading to resolve + any inconsistencies. +- Config option index_interval has been removed (it was deprecated since 2.0) +- Deprecated repair JMX APIs are removed. +- The version of snappy-java has been upgraded to 1.1.2.6 + - the miniumum value for internode message timeouts is 10ms. Previously, any +positive value was allowed. See cassandra.yaml entries like +read_request_timeout_in_ms for more details. + Materialized Views + --- +- Following a discussion regarding concerns about the design and safety of Materialized Views, the C* development + community no longer recommends them for production use, and considers them experimental. Warnings messages will + now be logged when they are created. (See https://www.mail-archive.com/dev@cassandra.apache.org/msg11511.html) +- An 'enable_materialized_views' flag has been added to cassandra.yaml to allow operators to prevent creation of + views + 3.11.1 == http://git-wip-us.apache.org/repos/asf/cassandra/blob/569c6abc/conf/cassandra.yaml --
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/af2c7845 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/af2c7845 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/af2c7845 Branch: refs/heads/trunk Commit: af2c78459ad69b3263620fbb5da484f1186133d1 Parents: 2b507c0 7d26815 Author: Blake EgglestonAuthored: Thu Oct 26 13:37:50 2017 -0700 Committer: Blake Eggleston Committed: Thu Oct 26 13:38:18 2017 -0700 -- .../CommitLogSegmentBackpressureTest.java | 146 .../commitlog/CommitLogSegmentManagerTest.java | 173 --- .../db/commitlog/CommitlogShutdownTest.java | 99 +++ 3 files changed, 245 insertions(+), 173 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2c7845/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentBackpressureTest.java -- diff --cc test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentBackpressureTest.java index 000,3956de5..f4a63a9 mode 00,100644..100644 --- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentBackpressureTest.java +++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentBackpressureTest.java @@@ -1,0 -1,145 +1,146 @@@ + /* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + package org.apache.cassandra.db.commitlog; + + import java.nio.ByteBuffer; + import java.util.ArrayList; + import java.util.Random; + import java.util.concurrent.Semaphore; + + import com.google.common.collect.ImmutableMap; + + import org.junit.Assert; + import org.junit.Test; + import org.junit.runner.RunWith; + + import org.apache.cassandra.SchemaLoader; + import org.apache.cassandra.Util; + import org.apache.cassandra.config.Config.CommitLogSync; + import org.apache.cassandra.config.DatabaseDescriptor; + import org.apache.cassandra.config.ParameterizedClass; + import org.apache.cassandra.db.ColumnFamilyStore; + import org.apache.cassandra.db.Keyspace; + import org.apache.cassandra.db.Mutation; + import org.apache.cassandra.db.RowUpdateBuilder; + import org.apache.cassandra.db.compaction.CompactionManager; + import org.apache.cassandra.db.marshal.AsciiType; + import org.apache.cassandra.db.marshal.BytesType; + import org.apache.cassandra.schema.KeyspaceParams; ++import org.apache.cassandra.schema.TableId; + import org.jboss.byteman.contrib.bmunit.BMRule; + import org.jboss.byteman.contrib.bmunit.BMRules; + import org.jboss.byteman.contrib.bmunit.BMUnitRunner; + + /** + * Since this test depends on byteman rules being setup during initialization, you shouldn't add tests to this class + */ + @RunWith(BMUnitRunner.class) + public class CommitLogSegmentBackpressureTest + { + //Block commit log service from syncing + private static final Semaphore allowSync = new Semaphore(1); + + private static final String KEYSPACE1 = "CommitLogTest"; + private static final String STANDARD1 = "Standard1"; + private static final String STANDARD2 = "Standard2"; + + private final static byte[] entropy = new byte[1024 * 256]; + + @Test + @BMRules(rules = {@BMRule(name = "Acquire Semaphore before sync", + targetClass = "AbstractCommitLogService$1", + targetMethod = "run", + targetLocation = "AT INVOKE org.apache.cassandra.db.commitlog.CommitLog.sync", + action = "org.apache.cassandra.db.commitlog.CommitLogSegmentBackpressureTest.allowSync.acquire()"), + @BMRule(name = "Release Semaphore after sync", + targetClass = "AbstractCommitLogService$1", + targetMethod = "run", + targetLocation = "AFTER INVOKE org.apache.cassandra.db.commitlog.CommitLog.sync", +
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8406b206 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8406b206 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8406b206 Branch: refs/heads/trunk Commit: 8406b206a6416c36d924eb7accdff7dbb4b7173b Parents: e38fddf f5e8d16 Author: Aleksey YeschenkoAuthored: Tue Oct 17 13:40:24 2017 +0100 Committer: Aleksey Yeschenko Committed: Tue Oct 17 13:40:24 2017 +0100 -- CHANGES.txt | 1 + .../cql3/statements/AlterKeyspaceStatement.java | 2 +- .../apache/cassandra/db/ColumnFamilyStore.java | 2 +- src/java/org/apache/cassandra/db/Keyspace.java | 4 +-- .../org/apache/cassandra/db/ReadCommand.java| 2 +- .../io/sstable/format/SSTableReader.java| 2 +- .../org/apache/cassandra/schema/Schema.java | 6 ++-- .../cassandra/schema/SchemaConstants.java | 20 + .../apache/cassandra/schema/SchemaKeyspace.java | 6 ++-- .../org/apache/cassandra/schema/TableId.java| 3 +- .../apache/cassandra/schema/TableMetadata.java | 2 +- .../apache/cassandra/service/ClientState.java | 31 +++- .../apache/cassandra/service/StorageProxy.java | 2 +- .../cassandra/service/StorageService.java | 16 -- .../cassandra/tools/nodetool/Cleanup.java | 2 +- 15 files changed, 61 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8406b206/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8406b206/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java -- diff --cc src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java index 0de5b2a,76c8d2f..b1ab138 --- a/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java @@@ -58,10 -54,10 +58,10 @@@ public class AlterKeyspaceStatement ext public void validate(ClientState state) throws RequestValidationException { -KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name); +KeyspaceMetadata ksm = Schema.instance.getKeyspaceMetadata(name); if (ksm == null) throw new InvalidRequestException("Unknown keyspace " + name); - if (SchemaConstants.isSystemKeyspace(ksm.name)) + if (SchemaConstants.isLocalSystemKeyspace(ksm.name)) throw new InvalidRequestException("Cannot alter system keyspace"); attrs.validate(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/8406b206/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 67270ad,c9514ca..f095458 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@@ -1818,7 -1797,7 +1818,7 @@@ public class ColumnFamilyStore implemen } writeSnapshotManifest(filesJSONArr, snapshotName); - if (!SchemaConstants.SYSTEM_KEYSPACE_NAMES.contains(metadata.keyspace) && !SchemaConstants.REPLICATED_SYSTEM_KEYSPACE_NAMES.contains(metadata.keyspace)) -if (!SchemaConstants.isLocalSystemKeyspace(metadata.ksName) && !SchemaConstants.isReplicatedSystemKeyspace(metadata.ksName)) ++if (!SchemaConstants.isLocalSystemKeyspace(metadata.keyspace) && !SchemaConstants.isReplicatedSystemKeyspace(metadata.keyspace)) writeSnapshotSchema(snapshotName); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/8406b206/src/java/org/apache/cassandra/db/Keyspace.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8406b206/src/java/org/apache/cassandra/db/ReadCommand.java -- diff --cc src/java/org/apache/cassandra/db/ReadCommand.java index f07f7f1,ab8779e..feaee7c --- a/src/java/org/apache/cassandra/db/ReadCommand.java +++ b/src/java/org/apache/cassandra/db/ReadCommand.java @@@ -408,7 -464,7 +408,7 @@@ public abstract class ReadCommand exten private final int failureThreshold = DatabaseDescriptor.getTombstoneFailureThreshold(); private final int warningThreshold = DatabaseDescriptor.getTombstoneWarnThreshold(); - private final boolean
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e38fddf1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e38fddf1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e38fddf1 Branch: refs/heads/trunk Commit: e38fddf19022e9574487e2f8cbf73af27d1afaf6 Parents: 922dbdb 394fb0b Author: Aleksey YeschenkoAuthored: Tue Oct 17 11:56:40 2017 +0100 Committer: Aleksey Yeschenko Committed: Tue Oct 17 11:58:05 2017 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/schema/Schema.java | 17 +++ .../cassandra/service/StorageService.java | 5 +++ .../cassandra/service/StorageServiceMBean.java | 2 ++ .../org/apache/cassandra/tools/NodeProbe.java | 5 +++ .../org/apache/cassandra/tools/NodeTool.java| 1 + .../tools/nodetool/ReloadLocalSchema.java | 32 7 files changed, 63 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e38fddf1/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e38fddf1/src/java/org/apache/cassandra/schema/Schema.java -- diff --cc src/java/org/apache/cassandra/schema/Schema.java index 6dc63aa,000..2319858 mode 100644,00..100644 --- a/src/java/org/apache/cassandra/schema/Schema.java +++ b/src/java/org/apache/cassandra/schema/Schema.java @@@ -1,804 -1,0 +1,821 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.schema; + +import java.nio.ByteBuffer; +import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.MapDifference; +import com.google.common.collect.Sets; + +import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.cql3.functions.*; +import org.apache.cassandra.db.ColumnFamilyStore; +import org.apache.cassandra.db.Keyspace; +import org.apache.cassandra.db.KeyspaceNotDefinedException; +import org.apache.cassandra.db.Mutation; +import org.apache.cassandra.db.SystemKeyspace; +import org.apache.cassandra.db.commitlog.CommitLog; +import org.apache.cassandra.db.compaction.CompactionManager; +import org.apache.cassandra.db.marshal.AbstractType; +import org.apache.cassandra.db.marshal.UserType; +import org.apache.cassandra.exceptions.ConfigurationException; +import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.exceptions.UnknownTableException; +import org.apache.cassandra.io.sstable.Descriptor; +import org.apache.cassandra.locator.LocalStrategy; +import org.apache.cassandra.utils.Pair; +import org.cliffc.high_scale_lib.NonBlockingHashMap; + +import static java.lang.String.format; + +import static com.google.common.collect.Iterables.size; + +public final class Schema +{ +public static final Schema instance = new Schema(); + +private volatile Keyspaces keyspaces = Keyspaces.none(); + +// UUID -> mutable metadata ref map. We have to update these in place every time a table changes. +private final Map metadataRefs = new NonBlockingHashMap<>(); + +// (keyspace name, index name) -> mutable metadata ref map. We have to update these in place every time an index changes. +private final Map , TableMetadataRef> indexMetadataRefs = new NonBlockingHashMap<>(); + +// Keyspace objects, one per keyspace. Only one instance should ever exist for any given keyspace. +private final Map keyspaceInstances = new NonBlockingHashMap<>(); + +private volatile UUID version; + +private final List changeListeners = new CopyOnWriteArrayList<>(); + +/** + *
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8ebef8e7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8ebef8e7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8ebef8e7 Branch: refs/heads/trunk Commit: 8ebef8e71a5ded0d5964e1ae315c9875db2e005f Parents: 982ab93 f5bc429 Author: Marcus ErikssonAuthored: Wed Oct 4 08:20:54 2017 +0200 Committer: Marcus Eriksson Committed: Wed Oct 4 08:20:54 2017 +0200 -- CHANGES.txt | 1 + .../cassandra/db/compaction/Verifier.java | 31 .../org/apache/cassandra/db/VerifyTest.java | 25 3 files changed, 52 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8ebef8e7/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8ebef8e7/src/java/org/apache/cassandra/db/compaction/Verifier.java -- diff --cc src/java/org/apache/cassandra/db/compaction/Verifier.java index bca6e79,4c07bb6..22cf813 --- a/src/java/org/apache/cassandra/db/compaction/Verifier.java +++ b/src/java/org/apache/cassandra/db/compaction/Verifier.java @@@ -234,8 -250,14 +249,14 @@@ public class Verifier implements Closea private void markAndThrow() throws IOException { - sstable.descriptor.getMetadataSerializer().mutateRepaired(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE, sstable.getSSTableMetadata().pendingRepair); - throw new CorruptSSTableException(new Exception(String.format("Invalid SSTable %s, please force repair", sstable.getFilename())), sstable.getFilename()); + markAndThrow(true); + } + + private void markAndThrow(boolean mutateRepaired) throws IOException + { + if (mutateRepaired) // if we are able to mutate repaired flag, an incremental repair should be enough - sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE); ++ sstable.descriptor.getMetadataSerializer().mutateRepaired(sstable.descriptor, ActiveRepairService.UNREPAIRED_SSTABLE, sstable.getSSTableMetadata().pendingRepair); + throw new CorruptSSTableException(new Exception(String.format("Invalid SSTable %s, please force %srepair", sstable.getFilename(), mutateRepaired ? "" : "a full ")), sstable.getFilename()); } public CompactionInfo.Holder getVerifyInfo() http://git-wip-us.apache.org/repos/asf/cassandra/blob/8ebef8e7/test/unit/org/apache/cassandra/db/VerifyTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/694b3c40 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/694b3c40 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/694b3c40 Branch: refs/heads/trunk Commit: 694b3c40137a3c9d9ec5d844ff40db6046882447 Parents: cecb2de 983c72a Author: Marcus ErikssonAuthored: Mon Oct 2 09:40:15 2017 +0200 Committer: Marcus Eriksson Committed: Mon Oct 2 09:40:15 2017 +0200 -- CHANGES.txt | 1 + .../apache/cassandra/db/lifecycle/Helpers.java | 15 + .../apache/cassandra/db/lifecycle/LogFile.java | 26 .../cassandra/db/lifecycle/LogRecord.java | 66 +++- .../cassandra/db/lifecycle/LogTransaction.java | 16 + .../apache/cassandra/db/lifecycle/Tracker.java | 2 +- .../cassandra/db/lifecycle/HelpersTest.java | 58 - 7 files changed, 181 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/694b3c40/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/694b3c40/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java -- diff --cc src/java/org/apache/cassandra/db/lifecycle/LogRecord.java index 9c1ba31,dd3fcde..0a9d73c --- a/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java +++ b/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java @@@ -148,7 -152,11 +152,7 @@@ final class LogRecor public static LogRecord make(Type type, SSTable table) { - String absoluteTablePath = FileUtils.getCanonicalPath(table.descriptor.baseFilename()); -// CASSANDRA-13294: add the sstable component separator because for legacy (2.1) files -// there is no separator after the generation number, and this would cause files of sstables with -// a higher generation number that starts with the same number, to be incorrectly classified as files -// of this record sstable + String absoluteTablePath = absolutePath(table.descriptor.baseFilename()); return make(type, getExistingFiles(absoluteTablePath), table.getAllFilePaths().size(), absoluteTablePath); } @@@ -267,6 -300,41 +296,41 @@@ return files == null ? Collections.emptyList() : Arrays.asList(files); } + /** + * absoluteFilePaths contains full file parts up to the component name + * + * this method finds all files on disk beginning with any of the paths in absoluteFilePaths + * @return a map from absoluteFilePath to actual file on disk. + */ + public static Map getExistingFiles(Set absoluteFilePaths) + { + Set uniqueDirectories = absoluteFilePaths.stream().map(path -> Paths.get(path).getParent().toFile()).collect(Collectors.toSet()); + Map fileMap = new HashMap<>(); + FilenameFilter ff = (dir, name) -> { + Descriptor descriptor = null; + try + { -descriptor = Descriptor.fromFilename(dir, name).left; ++descriptor = Descriptor.fromFilename(new File(dir, name)); + } + catch (Throwable t) + {// ignored - if we can't parse the filename, just skip the file + } + + String absolutePath = descriptor != null ? absolutePath(descriptor.baseFilename()) : null; + if (absolutePath != null && absoluteFilePaths.contains(absolutePath)) + fileMap.computeIfAbsent(absolutePath, k -> new ArrayList<>()).add(new File(dir, name)); + + return false; + }; + + // populate the file map: + for (File f : uniqueDirectories) + f.listFiles(ff); + + return fileMap; + } + + public boolean isFinal() { return type.isFinal(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/694b3c40/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/694b3c40/src/java/org/apache/cassandra/db/lifecycle/Tracker.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/694b3c40/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/77abf868 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/77abf868 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/77abf868 Branch: refs/heads/trunk Commit: 77abf868a4f60f6978c8d3e334c1a2275c4c37a3 Parents: ebefc96 be21174 Author: Blake EgglestonAuthored: Fri Sep 29 15:33:44 2017 -0700 Committer: Blake Eggleston Committed: Fri Sep 29 15:34:44 2017 -0700 -- CHANGES.txt | 1 + .../cassandra/db/commitlog/CommitLogReader.java | 48 +- .../db/commitlog/CommitLogReplayer.java | 7 ++- .../db/commitlog/CommitLogSegment.java | 2 +- .../db/commitlog/CompressedSegment.java | 2 +- .../db/commitlog/EncryptedSegment.java | 4 +- .../db/commitlog/MemoryMappedSegment.java | 2 +- .../cassandra/db/commitlog/CommitLogTest.java | 52 8 files changed, 109 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/77abf868/CHANGES.txt -- diff --cc CHANGES.txt index 99b5a59,a782333..1495c5d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -255,6 -115,6 +255,7 @@@ Merged from 2.1 * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307) * Tracing payload not passed from QueryMessage to tracing session (CASSANDRA-12835) Merged from 3.0: ++ * Filter header only commit logs before recovery (CASSANDRA-13918) * Ensure int overflow doesn't occur when calculating large partition warning size (CASSANDRA-13172) * Ensure consistent view of partition columns between coordinator and replica in ColumnFilter (CASSANDRA-13004) * Failed unregistering mbean during drop keyspace (CASSANDRA-13346) http://git-wip-us.apache.org/repos/asf/cassandra/blob/77abf868/src/java/org/apache/cassandra/db/commitlog/CommitLogReader.java -- diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogReader.java index 864325b,4d74557..75ef8e9 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReader.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReader.java @@@ -35,7 -34,8 +35,8 @@@ import org.apache.cassandra.db.commitlo import org.apache.cassandra.db.commitlog.CommitLogReadHandler.CommitLogReadException; import org.apache.cassandra.db.partitions.PartitionUpdate; import org.apache.cassandra.db.rows.SerializationHelper; +import org.apache.cassandra.exceptions.UnknownTableException; + import org.apache.cassandra.exceptions.ConfigurationException; -import org.apache.cassandra.io.util.ChannelProxy; import org.apache.cassandra.io.util.DataInputBuffer; import org.apache.cassandra.io.util.FileDataInput; import org.apache.cassandra.io.util.RandomAccessReader; @@@ -78,6 -77,48 +79,44 @@@ public class CommitLogReade readAllFiles(handler, files, CommitLogPosition.NONE); } + private static boolean shouldSkip(File file) throws IOException, ConfigurationException + { + CommitLogDescriptor desc = CommitLogDescriptor.fromFileName(file.getName()); -if (desc.version < CommitLogDescriptor.VERSION_21) -{ -return false; -} + try(RandomAccessReader reader = RandomAccessReader.open(file)) + { + CommitLogDescriptor.readHeader(reader, DatabaseDescriptor.getEncryptionContext()); + int end = reader.readInt(); + long filecrc = reader.readInt() & 0xL; + return end == 0 && filecrc == 0; + } + } + -private static List filterCommitLogFiles(File[] toFilter) ++static List filterCommitLogFiles(File[] toFilter) + { + List filtered = new ArrayList<>(toFilter.length); + for (File file: toFilter) + { + try + { + if (shouldSkip(file)) + { + logger.info("Skipping playback of empty log: {}", file.getName()); + } + else + { + filtered.add(file); + } + } + catch (Exception e) + { + // let recover deal with it + filtered.add(file); + } + } + + return filtered; + } + /** * Reads all passed in files with minPosition, no start, and no mutation limit. */ http://git-wip-us.apache.org/repos/asf/cassandra/blob/77abf868/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b4c8a97 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b4c8a97 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b4c8a97 Branch: refs/heads/trunk Commit: 6b4c8a9733f6eef276d602b440ae2f1906c1f264 Parents: 289f6b1 2a24acf Author: Jason BrownAuthored: Fri Sep 29 05:24:27 2017 -0700 Committer: Jason Brown Committed: Fri Sep 29 05:26:51 2017 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/cql3/Lists.java | 75 +++-- .../org/apache/cassandra/cql3/ListsTest.java| 166 +++ 3 files changed, 225 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b4c8a97/CHANGES.txt -- diff --cc CHANGES.txt index a9108aa,6c3a1d0..f2f23bd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -153,7 -13,8 +153,8 @@@ * Duplicate the buffer before passing it to analyser in SASI operation (CASSANDRA-13512) * Properly evict pstmts from prepared statements cache (CASSANDRA-13641) Merged from 3.0: + * AssertionError prepending to a list (CASSANDRA-13149) - * Fix support for SuperColumn tables (CASSANDRA-12373) + * Handle limit correctly on tables with strict liveness (CASSANDRA-13883) * Remove non-rpc-ready nodes from counter leader candidates (CASSANDRA-13043) * Improve short read protection performance (CASSANDRA-13794) * Fix sstable reader to support range-tombstone-marker for multi-slices (CASSANDRA-13787) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b4c8a97/src/java/org/apache/cassandra/cql3/Lists.java -- diff --cc src/java/org/apache/cassandra/cql3/Lists.java index 48fe54f,6a2a5a5..4a68df9 --- a/src/java/org/apache/cassandra/cql3/Lists.java +++ b/src/java/org/apache/cassandra/cql3/Lists.java @@@ -22,13 -22,12 +22,14 @@@ import static org.apache.cassandra.cql3 import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; +import java.util.Objects; +import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; +import java.util.stream.StreamSupport; +import org.apache.cassandra.schema.ColumnMetadata; + import com.google.common.annotations.VisibleForTesting; - -import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.cql3.functions.Function; import org.apache.cassandra.db.*; import org.apache.cassandra.db.rows.*; http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b4c8a97/test/unit/org/apache/cassandra/cql3/ListsTest.java -- diff --cc test/unit/org/apache/cassandra/cql3/ListsTest.java index 000,07623a2..63c496c mode 00,100644..100644 --- a/test/unit/org/apache/cassandra/cql3/ListsTest.java +++ b/test/unit/org/apache/cassandra/cql3/ListsTest.java @@@ -1,0 -1,166 +1,166 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + package org.apache.cassandra.cql3; + + import java.nio.ByteBuffer; + import java.util.ArrayList; + import java.util.Collections; + import java.util.List; + import java.util.UUID; + + import com.google.common.collect.Iterators; + import org.junit.Assert; + import org.junit.Test; + -import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.config.ColumnDefinition; + import org.apache.cassandra.cql3.Lists.PrecisionTime; + import org.apache.cassandra.db.Clustering; + import org.apache.cassandra.db.DecoratedKey; + import org.apache.cassandra.db.rows.Cell; + import org.apache.cassandra.db.rows.Row; + import org.apache.cassandra.dht.Murmur3Partitioner; ++import org.apache.cassandra.schema.ColumnMetadata; ++import org.apache.cassandra.schema.TableMetadata; + import
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/756fab87 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/756fab87 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/756fab87 Branch: refs/heads/trunk Commit: 756fab87c97a7a03fcf6495af166d5193fa4e6ae Parents: f1b7d6e 0e5c84a Author: Paulo MottaAuthored: Fri Sep 22 09:43:38 2017 -0500 Committer: Paulo Motta Committed: Fri Sep 22 09:44:02 2017 -0500 -- .../cassandra/triggers/TriggerExecutor.java | 7 +- .../cassandra/triggers/TriggerExecutorTest.java | 26 +++- .../apache/cassandra/triggers/TriggersTest.java | 24 +++--- 3 files changed, 41 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/756fab87/src/java/org/apache/cassandra/triggers/TriggerExecutor.java -- diff --cc src/java/org/apache/cassandra/triggers/TriggerExecutor.java index 906b342,0354fde..754183f --- a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java +++ b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java @@@ -87,7 -86,12 +87,12 @@@ public class TriggerExecuto if (intermediate == null || intermediate.isEmpty()) return updates; - return PartitionUpdate.merge(validateForSinglePartition(updates.metadata().id, updates.partitionKey(), intermediate)); -List augmented = validateForSinglePartition(updates.metadata().cfId, ++List augmented = validateForSinglePartition(updates.metadata().id, + updates.partitionKey(), + intermediate); + // concatenate augmented and origin + augmented.add(updates); + return PartitionUpdate.merge(augmented); } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/756fab87/test/unit/org/apache/cassandra/triggers/TriggerExecutorTest.java -- diff --cc test/unit/org/apache/cassandra/triggers/TriggerExecutorTest.java index a796daf,0e4130d..aa5ee9b --- a/test/unit/org/apache/cassandra/triggers/TriggerExecutorTest.java +++ b/test/unit/org/apache/cassandra/triggers/TriggerExecutorTest.java @@@ -33,7 -33,6 +33,8 @@@ import org.apache.cassandra.db.partitio import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.schema.TriggerMetadata; +import org.apache.cassandra.schema.Triggers; ++import org.apache.cassandra.triggers.TriggerExecutorTest.SameKeySameCfTrigger; import org.apache.cassandra.utils.FBUtilities; import static org.apache.cassandra.utils.ByteBufferUtil.bytes; @@@ -52,17 -51,30 +53,30 @@@ public class TriggerExecutorTes @Test public void sameKeySameCfColumnFamilies() throws ConfigurationException, InvalidRequestException { -CFMetaData metadata = makeCfMetaData("ks1", "cf1", TriggerMetadata.create("test", SameKeySameCfTrigger.class.getName())); +TableMetadata metadata = makeTableMetadata("ks1", "cf1", TriggerMetadata.create("test", SameKeySameCfTrigger.class.getName())); + // origin column 'c1' = "v1", augment extra column 'c2' = "trigger" PartitionUpdate mutated = TriggerExecutor.instance.execute(makeCf(metadata, "k1", "v1", null)); - try (RowIterator rowIterator = UnfilteredRowIterators.filter(mutated.unfilteredIterator(), - FBUtilities.nowInSeconds())) + List rows = new ArrayList<>(); + try (RowIterator iterator = UnfilteredRowIterators.filter(mutated.unfilteredIterator(), + FBUtilities.nowInSeconds())) { - Iterator cells = rowIterator.next().cells().iterator(); - assertEquals(bytes("trigger"), cells.next().value()); - - assertTrue(!rowIterator.hasNext()); + iterator.forEachRemaining(rows::add); } + + // only 1 row + assertEquals(1, rows.size()); + + List cells = new ArrayList<>(); + rows.get(0).cells().forEach(cells::add); + + // 2 columns + assertEquals(2, cells.size()); + + // check column 'c1' + assertEquals(bytes("v1"), cells.get(0).value()); + // check column 'c2' + assertEquals(bytes("trigger"), cells.get(1).value()); } @Test(expected = InvalidRequestException.class)
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f78def39 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f78def39 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f78def39 Branch: refs/heads/trunk Commit: f78def39d364960e17946ce72a6669fd68720ed6 Parents: 79e344f de6f21f Author: Aleksey YeschenkoAuthored: Thu Sep 21 17:02:27 2017 +0100 Committer: Aleksey Yeschenko Committed: Thu Sep 21 17:02:27 2017 +0100 -- src/java/org/apache/cassandra/service/DataResolver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f78def39/src/java/org/apache/cassandra/service/DataResolver.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/79e344fc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/79e344fc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/79e344fc Branch: refs/heads/trunk Commit: 79e344fc63dbe60b3817d1eb68cdc6274dbe0d58 Parents: 030ec1f 85514ed Author: Aleksey YeschenkoAuthored: Wed Sep 20 18:45:06 2017 +0100 Committer: Aleksey Yeschenko Committed: Wed Sep 20 18:45:06 2017 +0100 -- CHANGES.txt | 1 + .../apache/cassandra/service/StorageProxy.java | 25 +--- .../cassandra/service/StorageService.java | 18 +++--- 3 files changed, 32 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79e344fc/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79e344fc/src/java/org/apache/cassandra/service/StorageProxy.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79e344fc/src/java/org/apache/cassandra/service/StorageService.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/030ec1f0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/030ec1f0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/030ec1f0 Branch: refs/heads/trunk Commit: 030ec1f056d0e0b9094ddf7fcd2a491cb8ddf621 Parents: 4809f42 2bae4ca Author: Aleksey YeschenkoAuthored: Wed Sep 20 17:47:32 2017 +0100 Committer: Aleksey Yeschenko Committed: Wed Sep 20 17:47:32 2017 +0100 -- CHANGES.txt | 1 + .../apache/cassandra/db/ColumnFamilyStore.java | 5 + .../apache/cassandra/service/DataResolver.java | 303 +++ 3 files changed, 187 insertions(+), 122 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/030ec1f0/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/030ec1f0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 5aecc9d,548de88..72a63f0 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@@ -2654,10 -2635,15 +2654,15 @@@ public class ColumnFamilyStore implemen if (keyspace == null) return null; -UUID id = Schema.instance.getId(ksName, cfName); -if (id == null) +TableMetadata table = Schema.instance.getTableMetadata(ksName, cfName); +if (table == null) return null; -return keyspace.getColumnFamilyStore(id); +return keyspace.getColumnFamilyStore(table.id); } + -public static TableMetrics metricsFor(UUID tableId) ++public static TableMetrics metricsFor(TableId tableId) + { + return getIfExists(tableId).metric; + } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/030ec1f0/src/java/org/apache/cassandra/service/DataResolver.java -- diff --cc src/java/org/apache/cassandra/service/DataResolver.java index 98e3285,32fc015..b0741da --- a/src/java/org/apache/cassandra/service/DataResolver.java +++ b/src/java/org/apache/cassandra/service/DataResolver.java @@@ -27,10 -27,7 +27,9 @@@ import com.google.common.collect.Iterab import org.apache.cassandra.concurrent.Stage; import org.apache.cassandra.concurrent.StageManager; -import org.apache.cassandra.config.*; +import org.apache.cassandra.schema.ColumnMetadata; - import org.apache.cassandra.schema.Schema; +import org.apache.cassandra.schema.TableMetadata; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.*; import org.apache.cassandra.db.filter.*; import org.apache.cassandra.db.filter.DataLimits.Counter; @@@ -88,26 -99,22 +101,19 @@@ public class DataResolver extends Respo * See CASSANDRA-13747 for more details. */ - DataLimits.Counter counter = command.limits().newCounter(command.nowInSec(), true, command.selectsFullPartition()); + DataLimits.Counter mergedResultCounter = + command.limits().newCounter(command.nowInSec(), true, command.selectsFullPartition()); - UnfilteredPartitionIterator merged = mergeWithShortReadProtection(iters, sources, counter); - FilteredPartitions filtered = FilteredPartitions.filter(merged, new Filter(command.nowInSec(), command.metadata().enforceStrictLiveness())); - PartitionIterator counted = counter.applyTo(filtered); + UnfilteredPartitionIterator merged = mergeWithShortReadProtection(iters, sources, mergedResultCounter); + FilteredPartitions filtered = + FilteredPartitions.filter(merged, new Filter(command.nowInSec(), command.metadata().enforceStrictLiveness())); + PartitionIterator counted = Transformation.apply(filtered, mergedResultCounter); - -return command.isForThrift() - ? counted - : Transformation.apply(counted, new EmptyPartitionsDiscarder()); +return Transformation.apply(counted, new EmptyPartitionsDiscarder()); } - public void compareResponses() - { - // We need to fully consume the results to trigger read repairs if appropriate - try (PartitionIterator iterator = resolve()) - { - PartitionIterators.consume(iterator); - } - } - private UnfilteredPartitionIterator mergeWithShortReadProtection(List results, InetAddress[]
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/eb766921 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eb766921 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eb766921 Branch: refs/heads/trunk Commit: eb7669215938f29cfb8230fba0b382742b93bd48 Parents: bcd01f2 594f1c1 Author: Aleksey YeschenkoAuthored: Tue Sep 19 11:18:28 2017 +0100 Committer: Aleksey Yeschenko Committed: Tue Sep 19 11:18:28 2017 +0100 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/service/DataResolver.java | 10 -- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb766921/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb766921/src/java/org/apache/cassandra/service/DataResolver.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bcd01f23 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bcd01f23 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bcd01f23 Branch: refs/heads/trunk Commit: bcd01f23db3e7f8c150097d2d2451a43921c1ca2 Parents: bb542ce 2556676 Author: Marcus ErikssonAuthored: Mon Sep 18 08:55:36 2017 +0200 Committer: Marcus Eriksson Committed: Mon Sep 18 08:55:36 2017 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bcd01f23/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bcd01f23/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bb542ce7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bb542ce7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bb542ce7 Branch: refs/heads/trunk Commit: bb542ce7110f48b2c60f6c52613d37ae406309fc Parents: 8b5d1ac f9e7c2b Author: Joel KnightonAuthored: Fri Sep 15 16:23:58 2017 -0500 Committer: Joel Knighton Committed: Fri Sep 15 16:23:58 2017 -0500 -- CHANGES.txt | 1 + test/unit/org/apache/cassandra/db/CellTest.java | 4 ++-- test/unit/org/apache/cassandra/db/rows/RowsTest.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bb542ce7/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bb542ce7/test/unit/org/apache/cassandra/db/CellTest.java -- diff --cc test/unit/org/apache/cassandra/db/CellTest.java index 906da8a,ea009f6..660bc38 --- a/test/unit/org/apache/cassandra/db/CellTest.java +++ b/test/unit/org/apache/cassandra/db/CellTest.java @@@ -350,9 -349,9 +350,9 @@@ public class CellTes @Test public void testComplexCellReconcile() { -ColumnDefinition m = cfm2.getColumnDefinition(new ColumnIdentifier("m", false)); +ColumnMetadata m = cfm2.getColumn(new ColumnIdentifier("m", false)); int now1 = FBUtilities.nowInSeconds(); - long ts1 = now1*100; + long ts1 = now1*100L; Cell r1m1 = BufferCell.live(m, ts1, bb(1), CellPath.create(bb(1))); http://git-wip-us.apache.org/repos/asf/cassandra/blob/bb542ce7/test/unit/org/apache/cassandra/db/rows/RowsTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0687b80c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0687b80c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0687b80c Branch: refs/heads/trunk Commit: 0687b80cbf85843f4ab060b832f7d180c652000a Parents: aa7ba81 2a93c22 Author: Aleksey YeschenkoAuthored: Fri Sep 15 17:26:02 2017 +0100 Committer: Aleksey Yeschenko Committed: Fri Sep 15 17:26:02 2017 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/service/DataResolver.java| 14 ++ 2 files changed, 11 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0687b80c/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0687b80c/src/java/org/apache/cassandra/service/DataResolver.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/772f0ea9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/772f0ea9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/772f0ea9 Branch: refs/heads/trunk Commit: 772f0ea9d7760976bda8d735c81ae10fad096119 Parents: e7e9367 28b75ba Author: Blake EgglestonAuthored: Wed Sep 13 15:03:14 2017 -0700 Committer: Blake Eggleston Committed: Wed Sep 13 15:03:14 2017 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/repair/RepairJob.java | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/772f0ea9/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/772f0ea9/src/java/org/apache/cassandra/repair/RepairJob.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e7e93673 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e7e93673 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e7e93673 Branch: refs/heads/trunk Commit: e7e936735df8e0fdd7e7d0df92d7bd60c4602648 Parents: 2b57fb6 cbc26d8 Author: Jason BrownAuthored: Wed Sep 13 06:30:50 2017 -0700 Committer: Jason Brown Committed: Wed Sep 13 06:31:37 2017 -0700 -- CHANGES.txt | 1 + .../commitlog/CommitLogSegmentManagerTest.java | 31 2 files changed, 32 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e7e93673/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e7e93673/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerTest.java -- diff --cc test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerTest.java index 06513a5,dfbf5ad..5db7149 --- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerTest.java +++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerTest.java @@@ -44,6 -46,6 +46,7 @@@ import org.apache.cassandra.db.compacti import org.apache.cassandra.db.marshal.AsciiType; import org.apache.cassandra.db.marshal.BytesType; import org.apache.cassandra.schema.KeyspaceParams; ++import org.apache.cassandra.schema.TableId; import org.jboss.byteman.contrib.bmunit.BMRule; import org.jboss.byteman.contrib.bmunit.BMRules; import org.jboss.byteman.contrib.bmunit.BMUnitRunner; @@@ -139,4 -141,32 +142,32 @@@ public class CommitLogSegmentManagerTes Thread.currentThread().interrupt(); } } + + @Test + @BMRule(name = "Make removing commitlog segments slow", + targetClass = "CommitLogSegment", + targetMethod = "discard", + action = "Thread.sleep(50)") + public void testShutdownWithPendingTasks() throws Throwable { + CommitLog.instance.resetUnsafe(true); + ColumnFamilyStore cfs1 = Keyspace.open(KEYSPACE1).getColumnFamilyStore(STANDARD1); + -final Mutation m = new RowUpdateBuilder(cfs1.metadata, 0, "k") ++final Mutation m = new RowUpdateBuilder(cfs1.metadata.get(), 0, "k") +.clustering("bytes") +.add("val", ByteBuffer.wrap(entropy)) +.build(); + + // force creating several commitlog files + for (int i = 0; i < 10; i++) { + CommitLog.instance.add(m); + } + + // schedule discarding completed segments and immediately issue a shutdown -UUID cfid = m.getColumnFamilyIds().iterator().next(); -CommitLog.instance.discardCompletedSegments(cfid, CommitLogPosition.NONE, CommitLog.instance.getCurrentPosition()); ++TableId tableId = m.getTableIds().iterator().next(); ++CommitLog.instance.discardCompletedSegments(tableId, CommitLogPosition.NONE, CommitLog.instance.getCurrentPosition()); + CommitLog.instance.shutdownBlocking(); + + // the shutdown should block until all logs except the currently active one and perhaps a new, empty one are gone + Assert.assertTrue(new File(DatabaseDescriptor.getCommitLogLocation()).listFiles().length <= 2); + } } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2b57fb67 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2b57fb67 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2b57fb67 Branch: refs/heads/trunk Commit: 2b57fb67dbf74b9fa87ce2ce5ac407f065ac1c3f Parents: 3cec208 60a2d97 Author: Stefania AlborghettiAuthored: Wed Sep 13 16:48:42 2017 +0800 Committer: Stefania Alborghetti Committed: Wed Sep 13 16:48:42 2017 +0800 -- .../apache/cassandra/io/sstable/IndexSummaryTest.java | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b57fb67/test/unit/org/apache/cassandra/io/sstable/IndexSummaryTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c6cd8246 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c6cd8246 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c6cd8246 Branch: refs/heads/trunk Commit: c6cd8246280acde5e2244d8960b2d5c17353424f Parents: 7d4d1a3 cb2a1c8 Author: Jason BrownAuthored: Tue Sep 12 14:14:54 2017 -0700 Committer: Jason Brown Committed: Tue Sep 12 14:18:00 2017 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/cql3/Tuples.java | 28 ++-- .../cql3/validation/entities/TupleTypeTest.java | 17 +++- 3 files changed, 37 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c6cd8246/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c6cd8246/src/java/org/apache/cassandra/cql3/Tuples.java -- diff --cc src/java/org/apache/cassandra/cql3/Tuples.java index bae756a,01f3466..317e192 --- a/src/java/org/apache/cassandra/cql3/Tuples.java +++ b/src/java/org/apache/cassandra/cql3/Tuples.java @@@ -68,12 -65,7 +68,12 @@@ public class Tuple public Term prepare(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { -validateAssignableTo(keyspace, receiver); +// The parser cannot differentiate between a tuple with one element and a term between parenthesis. +// By consequence, we need to wait until we know the target type to determine which one it is. - if (elements.size() == 1 && !(receiver.type instanceof TupleType)) ++if (elements.size() == 1 && !checkIfTupleType(receiver.type)) +return elements.get(0).prepare(keyspace, receiver); + +validateTupleAssignableTo(receiver, elements); List values = new ArrayList<>(elements.size()); boolean allTerminal = true; @@@ -110,14 -102,38 +110,14 @@@ return allTerminal ? value.bind(QueryOptions.DEFAULT) : value; } -private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException -{ -if (!checkIfTupleType(receiver.type)) -throw new InvalidRequestException(String.format("Invalid tuple type literal for %s of type %s", receiver.name, receiver.type.asCQL3Type())); - -TupleType tt = getTupleType(receiver.type); -for (int i = 0; i < elements.size(); i++) -{ -if (i >= tt.size()) -{ -throw new InvalidRequestException(String.format("Invalid tuple literal for %s: too many elements. Type %s expects %d but got %d", -receiver.name, tt.asCQL3Type(), tt.size(), elements.size())); -} - -Term.Raw value = elements.get(i); -ColumnSpecification spec = componentSpecOf(receiver, i); -if (!value.testAssignment(keyspace, spec).isAssignable()) -throw new InvalidRequestException(String.format("Invalid tuple literal for %s: component %d is not of type %s", receiver.name, i, spec.type.asCQL3Type())); -} -} - public AssignmentTestable.TestResult testAssignment(String keyspace, ColumnSpecification receiver) { -try -{ -validateAssignableTo(keyspace, receiver); -return AssignmentTestable.TestResult.WEAKLY_ASSIGNABLE; -} -catch (InvalidRequestException e) -{ -return AssignmentTestable.TestResult.NOT_ASSIGNABLE; -} +// The parser cannot differentiate between a tuple with one element and a term between parenthesis. +// By consequence, we need to wait until we know the target type to determine which one it is. - if (elements.size() == 1 && !(receiver.type instanceof TupleType)) ++if (elements.size() == 1 && !checkIfTupleType(receiver.type)) +return elements.get(0).testAssignment(keyspace, receiver); + +return testTupleAssignment(receiver, elements); } @Override @@@ -420,100 -436,29 +420,112 @@@ } } -public static String tupleToString(List items) +/** + * Create a String representation of the tuple containing the specified elements. + * + * @param elements the tuple elements + * @return a
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/826c9f4a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/826c9f4a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/826c9f4a Branch: refs/heads/trunk Commit: 826c9f4a6ebad8880390f8a26058d0c1f964f687 Parents: 4718358 eb027a1 Author: Paulo MottaAuthored: Tue Sep 12 08:33:19 2017 -0500 Committer: Paulo Motta Committed: Tue Sep 12 08:33:19 2017 -0500 -- CHANGES.txt | 1 + .../cassandra/batchlog/BatchlogManager.java | 3 +- .../service/BatchlogResponseHandler.java| 4 +- .../apache/cassandra/service/StorageProxy.java | 86 +--- 4 files changed, 44 insertions(+), 50 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/826c9f4a/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/826c9f4a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/826c9f4a/src/java/org/apache/cassandra/service/BatchlogResponseHandler.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/826c9f4a/src/java/org/apache/cassandra/service/StorageProxy.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org