[cassandra-sidecar] 01/01: C* Management process
This is an automated email from the ASF dual-hosted git repository. jasobrown pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cassandra-sidecar.git commit a15ed267d1977e38ba36d061139839fad7b865f2 Author: Dinesh Joshi AuthorDate: Mon Feb 18 18:16:35 2019 -0800 C* Management process patch by Dinesh Joshi; reviewed by jasobrown and Chris Lohfink for CASSANDRA-14395 Co-authored-by: Vinay Chella Co-authored-by: Joey Lynch --- .gitignore | 79 ++ CHANGES.txt| 3 + LICENSE.txt| 209 README.md | 29 +++ build.gradle | 117 + conf/logback.xml | 76 ++ conf/sidecar.yaml | 13 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 55190 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew| 172 + gradlew.bat| 84 +++ ide/idea/codeStyleSettings.xml | 275 + .../cassandra/sidecar/CassandraSidecarDaemon.java | 81 ++ .../apache/cassandra/sidecar/Configuration.java| 94 +++ .../org/apache/cassandra/sidecar/MainModule.java | 102 .../cassandra/sidecar/routes/HealthCheck.java | 122 + .../cassandra/sidecar/routes/HealthService.java| 90 +++ .../cassandra/sidecar/HealthServiceTest.java | 105 .../org/apache/cassandra/sidecar/TestModule.java | 99 .../cassandra/sidecar/mocks/MockHealthCheck.java | 37 +++ 20 files changed, 1792 insertions(+) diff --git a/.gitignore b/.gitignore new file mode 100644 index 000..d08471c --- /dev/null +++ b/.gitignore @@ -0,0 +1,79 @@ +.gitignore + +# C* +build/ +src/gen-java/ +src/resources/org/apache/cassandra/config/ +logs/ +data/ +conf/hotspot_compiler +doc/cql3/CQL.html + +# C* debs +build-stamp +build.properties +debian/cassandra*debhelper* +debian/cassandra*.substvars +debian/cassandra/ +debian/cassandra-tools/ +debian/files + +# gitignore doesn't help with modified files - you may wish to: +# git update-index --assume-unchanged test/data/serialization/2.0/db.RowMutation.bin +# to undo: +# git update-index --no-assume-unchanged test/data/serialization/2.0/db.RowMutation.bin + +# IntelliJ +.idea/ +*.eml +*.iml +*.ipr +*.iws + +# Eclipse +.classpath +.project +.metadata +.settings/ +local.properties + +# Cscope +cscope.* + +# NetBeans +nbbuild/ +nbdist/ +nbproject/ +nb-configuration.xml +nbactions.xml + +# Maven, etc. +out/ +target/ + +# General +*.pyc +*~ +*.bak +*.sw[o,p] +*.tmp +.DS_Store +Thumbs.db + +# JSR223 +lib/jsr223/clojure/*.jar +lib/jsr223/groovy/*.jar +lib/jsr223/jaskell/*.jar +lib/jsr223/jruby/*.jar +lib/jsr223/jruby/jni +lib/jsr223/jruby/ruby +lib/jsr223/jython/*.jar +lib/jsr223/jython/cachedir +lib/jsr223/scala/*.jar + +/.ant-targets-build.xml + +# Generated files from the documentation +doc/source/configuration/cassandra_config_file.rst +doc/source/tools/nodetool + diff --git a/CHANGES.txt b/CHANGES.txt new file mode 100644 index 000..0253303 --- /dev/null +++ b/CHANGES.txt @@ -0,0 +1,3 @@ +1.0.0 +- + * C* Management process (CASSANDRA-14395) diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 000..d5c4984 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,209 @@ + + Apache License + Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation +
[cassandra-sidecar] branch master created (now a15ed26)
This is an automated email from the ASF dual-hosted git repository. jasobrown pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/cassandra-sidecar.git. at a15ed26 C* Management process This branch includes the following new commits: new a15ed26 C* Management process The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: ninja-remove unnecessary String.format
Repository: cassandra Updated Branches: refs/heads/trunk c7562d101 -> 82305d1c3 ninja-remove unnecessary String.format Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/82305d1c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/82305d1c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/82305d1c Branch: refs/heads/trunk Commit: 82305d1c3ef045ab96df6e7d8c6d0a2f33b14024 Parents: c7562d1 Author: Jason Brown Authored: Thu Dec 6 10:16:02 2018 -0800 Committer: Jason Brown Committed: Thu Dec 6 10:16:02 2018 -0800 -- .../org/apache/cassandra/locator/AbstractReplicationStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/82305d1c/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java -- diff --git a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java index 874097d..5e60f7a 100644 --- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java +++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java @@ -440,7 +440,7 @@ public abstract class AbstractReplicationStrategy if (rf.hasTransientReplicas()) { if (DatabaseDescriptor.getNumTokens() > 1) -throw new ConfigurationException(String.format("Transient replication is not supported with vnodes yet")); +throw new ConfigurationException("Transient replication is not supported with vnodes yet"); } } catch (IllegalArgumentException e) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/3] cassandra git commit: Make stop-server.bat wait for Cassandra to terminate
Make stop-server.bat wait for Cassandra to terminate patch by Georg Dietrich; reviewed by Dinesh Joshi for CASSANDRA-14829 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/85e402a7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/85e402a7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/85e402a7 Branch: refs/heads/trunk Commit: 85e402a7fda59110aeea181924035d69db693240 Parents: f77936d Author: Georg Dietrich Authored: Mon Dec 3 05:12:49 2018 -0800 Committer: Jason Brown Committed: Mon Dec 3 05:12:49 2018 -0800 -- CHANGES.txt | 1 + bin/stop-server.bat | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/85e402a7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b853ab0..8d184c6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.4 + * Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829) * Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870) Merged from 3.0: * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) http://git-wip-us.apache.org/repos/asf/cassandra/blob/85e402a7/bin/stop-server.bat -- diff --git a/bin/stop-server.bat b/bin/stop-server.bat index 66a55fd..acd88d0 100644 --- a/bin/stop-server.bat +++ b/bin/stop-server.bat @@ -38,7 +38,7 @@ FOR /F "tokens=2 delims= " %%A IN ('TASKLIST /FI ^"WINDOWTITLE eq %rand%^" /NH') REM Start with /B -> the control+c event we generate in stop-server.ps1 percolates REM up and hits this external batch file if we call powershell directly. -start /B powershell /file "%CASSANDRA_HOME%/bin/stop-server.ps1" -batchpid %PID% %* +start /WAIT /B powershell /file "%CASSANDRA_HOME%/bin/stop-server.ps1" -batchpid %PID% %* goto finally REM - - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[1/3] cassandra git commit: Make stop-server.bat wait for Cassandra to terminate
Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 f77936d80 -> 85e402a7f refs/heads/trunk f3609995c -> f54ac59ac Make stop-server.bat wait for Cassandra to terminate patch by Georg Dietrich; reviewed by Dinesh Joshi for CASSANDRA-14829 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/85e402a7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/85e402a7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/85e402a7 Branch: refs/heads/cassandra-3.11 Commit: 85e402a7fda59110aeea181924035d69db693240 Parents: f77936d Author: Georg Dietrich Authored: Mon Dec 3 05:12:49 2018 -0800 Committer: Jason Brown Committed: Mon Dec 3 05:12:49 2018 -0800 -- CHANGES.txt | 1 + bin/stop-server.bat | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/85e402a7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b853ab0..8d184c6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.4 + * Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829) * Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870) Merged from 3.0: * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) http://git-wip-us.apache.org/repos/asf/cassandra/blob/85e402a7/bin/stop-server.bat -- diff --git a/bin/stop-server.bat b/bin/stop-server.bat index 66a55fd..acd88d0 100644 --- a/bin/stop-server.bat +++ b/bin/stop-server.bat @@ -38,7 +38,7 @@ FOR /F "tokens=2 delims= " %%A IN ('TASKLIST /FI ^"WINDOWTITLE eq %rand%^" /NH') REM Start with /B -> the control+c event we generate in stop-server.ps1 percolates REM up and hits this external batch file if we call powershell directly. -start /B powershell /file "%CASSANDRA_HOME%/bin/stop-server.ps1" -batchpid %PID% %* +start /WAIT /B powershell /file "%CASSANDRA_HOME%/bin/stop-server.ps1" -batchpid %PID% %* goto finally REM - - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[3/3] 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/f54ac59a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f54ac59a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f54ac59a Branch: refs/heads/trunk Commit: f54ac59ac757ce300544e33227b0642e067930f3 Parents: f360999 85e402a Author: Jason Brown Authored: Mon Dec 3 05:13:50 2018 -0800 Committer: Jason Brown Committed: Mon Dec 3 05:15:18 2018 -0800 -- CHANGES.txt | 1 + bin/stop-server.bat | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f54ac59a/CHANGES.txt -- diff --cc CHANGES.txt index c147eca,8d184c6..80bd148 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,339 -1,5 +1,340 @@@ +4.0 + * Transient Replication: support EACH_QUORUM (CASSANDRA-14727) + * BufferPool: allocating thread for new chunks should acquire directly (CASSANDRA-14832) + * Send correct messaging version in internode messaging handshake's third message (CASSANDRA-14896) + * Make Read and Write Latency columns consistent for proxyhistograms and tablehistograms (CASSANDRA-11939) + * Make protocol checksum type option case insensitive (CASSANDRA-14716) + * Forbid re-adding static columns as regular and vice versa (CASSANDRA-14913) + * Audit log allows system keyspaces to be audited via configuration options (CASSANDRA-14498) + * Lower default chunk_length_in_kb from 64kb to 16kb (CASSANDRA-13241) + * Startup checker should wait for count rather than percentage (CASSANDRA-14297) + * 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
cassandra git commit: Correct the messaging versions used in ThirdHandshakeMessage.
Repository: cassandra Updated Branches: refs/heads/trunk c277fc56b -> f3609995c Correct the messaging versions used in ThirdHandshakeMessage. patch by jasobrown; reviewed by Ariel Weisberg for CASSANDRA-14896 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f3609995 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f3609995 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f3609995 Branch: refs/heads/trunk Commit: f3609995c09570d523527d9bd0fd69c2bc65d986 Parents: c277fc5 Author: Jason Brown Authored: Thu Nov 29 14:19:02 2018 -0800 Committer: Jason Brown Committed: Fri Nov 30 13:16:07 2018 -0800 -- .../org/apache/cassandra/net/async/HandshakeProtocol.java| 8 +++- .../apache/cassandra/net/async/OutboundHandshakeHandler.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f3609995/src/java/org/apache/cassandra/net/async/HandshakeProtocol.java -- diff --git a/src/java/org/apache/cassandra/net/async/HandshakeProtocol.java b/src/java/org/apache/cassandra/net/async/HandshakeProtocol.java index 327b20e..ebf26bd 100644 --- a/src/java/org/apache/cassandra/net/async/HandshakeProtocol.java +++ b/src/java/org/apache/cassandra/net/async/HandshakeProtocol.java @@ -214,6 +214,7 @@ public class HandshakeProtocol * The third message of the handshake, sent by the connection initiator on reception of {@link SecondHandshakeMessage}. * This message contains: * 1) the connection initiator's messaging version (4 bytes) - {@link org.apache.cassandra.net.MessagingService#current_version}. + * This indicates the max messaging version supported by this node. * 2) the connection initiator's broadcast address as encoded by {@link org.apache.cassandra.net.CompactEndpointSerializationHelper}. * This can be either 5 bytes for an IPv4 address, or 17 bytes for an IPv6 one. * @@ -230,6 +231,9 @@ public class HandshakeProtocol */ private static final int MIN_LENGTH = 9; +/** + * The internode messaging version of the peer; used for serializing to a version the peer understands. + */ final int messagingVersion; final InetAddressAndPort address; @@ -245,7 +249,9 @@ public class HandshakeProtocol int bufLength = Ints.checkedCast(Integer.BYTES + CompactEndpointSerializationHelper.instance.serializedSize(address, messagingVersion)); ByteBuf buffer = allocator.directBuffer(bufLength, bufLength); buffer.writerIndex(0); -buffer.writeInt(messagingVersion); + +// the max messaging version supported by the local node (not #messagingVersion) +buffer.writeInt(MessagingService.current_version); try { DataOutputPlus dop = new ByteBufDataOutputPlus(buffer); http://git-wip-us.apache.org/repos/asf/cassandra/blob/f3609995/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java -- diff --git a/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java b/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java index c555bed..3ccbf49 100644 --- a/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java +++ b/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java @@ -177,7 +177,7 @@ public class OutboundHandshakeHandler extends ByteToMessageDecoder try { -ctx.writeAndFlush(new ThirdHandshakeMessage(MessagingService.current_version, connectionId.local()).encode(ctx.alloc())); +ctx.writeAndFlush(new ThirdHandshakeMessage(peerMessagingVersion, connectionId.local()).encode(ctx.alloc())); ChannelWriter channelWriter = setupPipeline(ctx.channel(), peerMessagingVersion); callback.accept(HandshakeResult.success(channelWriter, peerMessagingVersion)); } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[1/6] cassandra git commit: Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 8404260f1 -> e4d0ce6ba refs/heads/cassandra-3.11 e635317cf -> 1017fe0d8 refs/heads/trunk 1c8d0ad33 -> a8ae43c03 Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO patch by Sumanth Pasupuleti; reviewed by jasobrown for CASSANDRA-14909 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4d0ce6b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4d0ce6b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4d0ce6b Branch: refs/heads/cassandra-3.0 Commit: e4d0ce6ba2d6088c7edf8475f02462e1606f606d Parents: 8404260 Author: Sumanth Pasupuleti Authored: Thu Nov 29 10:11:13 2018 -0800 Committer: Jason Brown Committed: Thu Nov 29 10:41:47 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/e4d0ce6b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 40016a1..d63016b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.18 + * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588) * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894) * Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4d0ce6b/src/java/org/apache/cassandra/transport/Message.java -- diff --git a/src/java/org/apache/cassandra/transport/Message.java b/src/java/org/apache/cassandra/transport/Message.java index 28c8920..91ece5c 100644 --- a/src/java/org/apache/cassandra/transport/Message.java +++ b/src/java/org/apache/cassandra/transport/Message.java @@ -608,7 +608,21 @@ public abstract class Message if (!alwaysLogAtError && exception instanceof IOException) { -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
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1017fe0d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1017fe0d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1017fe0d Branch: refs/heads/cassandra-3.11 Commit: 1017fe0d8a49365e730a13ec9d851a127d1462a4 Parents: e635317 e4d0ce6 Author: Jason Brown Authored: Thu Nov 29 10:47:32 2018 -0800 Committer: Jason Brown Committed: Thu Nov 29 10:50:36 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/1017fe0d/CHANGES.txt -- diff --cc CHANGES.txt index 965d945,d63016b..b853ab0 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,6 -1,5 +1,7 @@@ -3.0.18 +3.11.4 + * Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870) +Merged from 3.0: + * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588) * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894) * Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1017fe0d/src/java/org/apache/cassandra/transport/Message.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[3/6] cassandra git commit: Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO
Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO patch by Sumanth Pasupuleti; reviewed by jasobrown for CASSANDRA-14909 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4d0ce6b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4d0ce6b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4d0ce6b Branch: refs/heads/trunk Commit: e4d0ce6ba2d6088c7edf8475f02462e1606f606d Parents: 8404260 Author: Sumanth Pasupuleti Authored: Thu Nov 29 10:11:13 2018 -0800 Committer: Jason Brown Committed: Thu Nov 29 10:41:47 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/e4d0ce6b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 40016a1..d63016b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.18 + * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588) * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894) * Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4d0ce6b/src/java/org/apache/cassandra/transport/Message.java -- diff --git a/src/java/org/apache/cassandra/transport/Message.java b/src/java/org/apache/cassandra/transport/Message.java index 28c8920..91ece5c 100644 --- a/src/java/org/apache/cassandra/transport/Message.java +++ b/src/java/org/apache/cassandra/transport/Message.java @@ -608,7 +608,21 @@ public abstract class Message if (!alwaysLogAtError && exception instanceof IOException) { -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/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
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1017fe0d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1017fe0d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1017fe0d Branch: refs/heads/trunk Commit: 1017fe0d8a49365e730a13ec9d851a127d1462a4 Parents: e635317 e4d0ce6 Author: Jason Brown Authored: Thu Nov 29 10:47:32 2018 -0800 Committer: Jason Brown Committed: Thu Nov 29 10:50:36 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/1017fe0d/CHANGES.txt -- diff --cc CHANGES.txt index 965d945,d63016b..b853ab0 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,6 -1,5 +1,7 @@@ -3.0.18 +3.11.4 + * Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870) +Merged from 3.0: + * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588) * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894) * Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1017fe0d/src/java/org/apache/cassandra/transport/Message.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/6] cassandra git commit: Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO
Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO patch by Sumanth Pasupuleti; reviewed by jasobrown for CASSANDRA-14909 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4d0ce6b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4d0ce6b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4d0ce6b Branch: refs/heads/cassandra-3.11 Commit: e4d0ce6ba2d6088c7edf8475f02462e1606f606d Parents: 8404260 Author: Sumanth Pasupuleti Authored: Thu Nov 29 10:11:13 2018 -0800 Committer: Jason Brown Committed: Thu Nov 29 10:41:47 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/e4d0ce6b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 40016a1..d63016b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.18 + * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588) * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894) * Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4d0ce6b/src/java/org/apache/cassandra/transport/Message.java -- diff --git a/src/java/org/apache/cassandra/transport/Message.java b/src/java/org/apache/cassandra/transport/Message.java index 28c8920..91ece5c 100644 --- a/src/java/org/apache/cassandra/transport/Message.java +++ b/src/java/org/apache/cassandra/transport/Message.java @@ -608,7 +608,21 @@ public abstract class Message if (!alwaysLogAtError && exception instanceof IOException) { -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
cassandra git commit: Send correct messaging version in internode messaging handshake's third message.
Repository: cassandra Updated Branches: refs/heads/trunk ff8906a6c -> c5dee08df Send correct messaging version in internode messaging handshake's third message. patch by jasobrown; reviewed by Ariel Weisberg for CASSANDRA-14896 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c5dee08d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c5dee08d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c5dee08d Branch: refs/heads/trunk Commit: c5dee08dfb791ba28fecc8ca8b25a4a4d7e9cb07 Parents: ff8906a Author: Jason Brown Authored: Wed Nov 28 14:50:15 2018 -0800 Committer: Jason Brown Committed: Wed Nov 28 15:23:29 2018 -0800 -- CHANGES.txt| 1 + .../org/apache/cassandra/net/async/OutboundHandshakeHandler.java | 2 +- .../apache/cassandra/net/async/OutboundHandshakeHandlerTest.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c5dee08d/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e93649a..0f616c1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Send correct messaging version in internode messaging handshake's third message (CASSANDRA-14896) * Make Read and Write Latency columns consistent for proxyhistograms and tablehistograms (CASSANDRA-11939) * Make protocol checksum type option case insensitive (CASSANDRA-14716) * Forbid re-adding static columns as regular and vice versa (CASSANDRA-14913) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c5dee08d/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java -- diff --git a/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java b/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java index 3ccbf49..c555bed 100644 --- a/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java +++ b/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java @@ -177,7 +177,7 @@ public class OutboundHandshakeHandler extends ByteToMessageDecoder try { -ctx.writeAndFlush(new ThirdHandshakeMessage(peerMessagingVersion, connectionId.local()).encode(ctx.alloc())); +ctx.writeAndFlush(new ThirdHandshakeMessage(MessagingService.current_version, connectionId.local()).encode(ctx.alloc())); ChannelWriter channelWriter = setupPipeline(ctx.channel(), peerMessagingVersion); callback.accept(HandshakeResult.success(channelWriter, peerMessagingVersion)); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/c5dee08d/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java -- diff --git a/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java b/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java index 2d377af..172667c 100644 --- a/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java +++ b/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java @@ -181,7 +181,7 @@ public class OutboundHandshakeHandlerTest try { ThirdHandshakeMessage thirdHandshakeMessage = ThirdHandshakeMessage.maybeDecode(thridMsgBuf); -Assert.assertEquals(msgVersion, thirdHandshakeMessage.messagingVersion); +Assert.assertEquals(MESSAGING_VERSION, thirdHandshakeMessage.messagingVersion); } finally { - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Disable old native protocol versions on demand
Repository: cassandra Updated Branches: refs/heads/trunk 8b1a6247e -> 7b61b0be8 Disable old native protocol versions on demand patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14659 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7b61b0be Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7b61b0be Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7b61b0be Branch: refs/heads/trunk Commit: 7b61b0be88ef1fcc29646ae8bdbb05da825bc1b2 Parents: 8b1a624 Author: Dinesh A. Joshi Authored: Mon Aug 20 18:12:49 2018 -0700 Committer: Jason Brown Committed: Thu Aug 30 14:12:38 2018 -0700 -- CHANGES.txt | 1 + conf/cassandra.yaml | 4 ++ .../org/apache/cassandra/config/Config.java | 1 + .../cassandra/config/DatabaseDescriptor.java| 10 + .../cassandra/service/StorageService.java | 16 ++-- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../org/apache/cassandra/tools/NodeTool.java| 4 +- .../nodetool/DisableOldProtocolVersions.java| 33 +++ .../nodetool/EnableOldProtocolVersions.java | 34 .../cassandra/transport/ProtocolVersion.java| 5 +++ .../transport/ProtocolVersionTest.java | 43 12 files changed, 158 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7b61b0be/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d95b9ed..249e034 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/7b61b0be/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 12f5ab2..064ee4f 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -664,6 +664,10 @@ native_transport_port: 9042 # The default is -1, which means unlimited. # native_transport_max_concurrent_connections_per_ip: -1 +# Controls whether Cassandra honors older, yet currently supported, protocol versions. +# The default is true, which means all supported protocols will be honored. +native_transport_allow_older_protocols: true + # The address or interface to bind the native transport server to. # # Set rpc_address OR rpc_interface, not both. http://git-wip-us.apache.org/repos/asf/cassandra/blob/7b61b0be/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index f6eefc3..a13070c 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -153,6 +153,7 @@ public class Config public volatile long native_transport_max_concurrent_connections = -1L; public volatile long native_transport_max_concurrent_connections_per_ip = -1L; public boolean native_transport_flush_in_batches_legacy = false; +public volatile boolean native_transport_allow_older_protocols = true; /** * Max size of values in SSTables, in MegaBytes. http://git-wip-us.apache.org/repos/asf/cassandra/blob/7b61b0be/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index eae6fc9..af13f9c 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -1871,6 +1871,16 @@ public class DatabaseDescriptor return conf.native_transport_flush_in_batches_legacy; } +public static boolean getNativeTransportAllowOlderProtocols() +{ +return conf.native_transport_allow_older_protocols; +} + +public static void setNativeTransportAllowOlderProtocols(boolean isEnabled) +{ +conf.native_transport_allow_older_protocols = isEnabled; +} + public static double getCommitLogSyncGroupWindow() { return conf.commitlog_sync_group_window_in_ms; http://git-wip-us.apache.org/repos/asf/cassandra/blob/7b61b0be/src/java/org/apache/cassandra/service/StorageService.j
cassandra git commit: Extend IAuthenticator to accept peer SSL certificates
Repository: cassandra Updated Branches: refs/heads/trunk 298416a74 -> ac1bb7586 Extend IAuthenticator to accept peer SSL certificates patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14652 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ac1bb758 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ac1bb758 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ac1bb758 Branch: refs/heads/trunk Commit: ac1bb75867a9a878a86d9b659234f78772627287 Parents: 298416a Author: Dinesh A. Joshi Authored: Thu Aug 16 15:01:20 2018 -0700 Committer: Jason Brown Committed: Fri Aug 17 06:43:45 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/auth/IAuthenticator.java | 18 +++ .../cassandra/transport/ServerConnection.java | 33 +++- 3 files changed, 51 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac1bb758/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0e671b0..d906879 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac1bb758/src/java/org/apache/cassandra/auth/IAuthenticator.java -- diff --git a/src/java/org/apache/cassandra/auth/IAuthenticator.java b/src/java/org/apache/cassandra/auth/IAuthenticator.java index 9eb50a7..212e774 100644 --- a/src/java/org/apache/cassandra/auth/IAuthenticator.java +++ b/src/java/org/apache/cassandra/auth/IAuthenticator.java @@ -21,6 +21,8 @@ import java.net.InetAddress; import java.util.Map; import java.util.Set; +import javax.security.cert.X509Certificate; + import org.apache.cassandra.exceptions.AuthenticationException; import org.apache.cassandra.exceptions.ConfigurationException; @@ -65,6 +67,22 @@ public interface IAuthenticator SaslNegotiator newSaslNegotiator(InetAddress clientAddress); /** + * Provide a SASL handler to perform authentication for an single connection. SASL + * is a stateful protocol, so a new instance must be used for each authentication + * attempt. This method accepts certificates as well. Authentication strategies can + * override this method to gain access to client's certificate chain, if present. + * @param clientAddress the IP address of the client whom we wish to authenticate, or null + * if an internal client (one not connected over the remote transport). + * @param certificates the peer's X509 Certificate chain, if present. + * @return org.apache.cassandra.auth.IAuthenticator.SaslNegotiator implementation + * (see {@link org.apache.cassandra.auth.PasswordAuthenticator.PlainTextSaslAuthenticator}) + */ +default SaslNegotiator newSaslNegotiator(InetAddress clientAddress, X509Certificate[] certificates) +{ +return newSaslNegotiator(clientAddress); +} + +/** * A legacy method that is still used by JMX authentication. * * You should implement this for having JMX authentication through your http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac1bb758/src/java/org/apache/cassandra/transport/ServerConnection.java -- diff --git a/src/java/org/apache/cassandra/transport/ServerConnection.java b/src/java/org/apache/cassandra/transport/ServerConnection.java index d78b7c0..00e334c 100644 --- a/src/java/org/apache/cassandra/transport/ServerConnection.java +++ b/src/java/org/apache/cassandra/transport/ServerConnection.java @@ -20,8 +20,15 @@ package org.apache.cassandra.transport; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.security.cert.X509Certificate; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import io.netty.channel.Channel; import com.codahale.metrics.Counter; +import io.netty.handler.ssl.SslHandler; import org.apache.cassandra.auth.IAuthenticator; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.service.ClientState; @@ -29,6 +36,7 @@ import org.apache.cassandra.service.QueryState; public class ServerConnection extends Connection { +private static Logger logger = LoggerFactory.getLogger(ServerConnection.class); priv
cassandra-dtest git commit: Test corrupting an internode messaging connection, and ensure it reconnects.
Repository: cassandra-dtest Updated Branches: refs/heads/master e426ce1da -> 6e80b1846 Test corrupting an internode messaging connection, and ensure it reconnects. patch by jasobrown; reviewed by Dinesh Joshi for CASSANDRA-14574 Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/6e80b184 Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/6e80b184 Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/6e80b184 Branch: refs/heads/master Commit: 6e80b1846c308bb13d0b700263c89f10caa17d28 Parents: e426ce1 Author: Jason Brown Authored: Thu Aug 16 06:27:23 2018 -0700 Committer: Jason Brown Committed: Fri Aug 17 05:55:40 2018 -0700 -- byteman/corrupt_internode_messages_gossip.btm | 17 internode_messaging_test.py | 48 ++ 2 files changed, 65 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/6e80b184/byteman/corrupt_internode_messages_gossip.btm -- diff --git a/byteman/corrupt_internode_messages_gossip.btm b/byteman/corrupt_internode_messages_gossip.btm new file mode 100644 index 000..66e4fe2 --- /dev/null +++ b/byteman/corrupt_internode_messages_gossip.btm @@ -0,0 +1,17 @@ +# +# corrupt the first gossip ACK message. we corrupt it on the way out, +# in serialize(), so it fails on deserializing. However, we also need +# to hack the serializedSize(). +# + +RULE corrupt the first gossip ACK message +CLASS org.apache.cassandra.gms.GossipDigestAckSerializer +METHOD serialize(org.apache.cassandra.gms.GossipDigestAck, org.apache.cassandra.io.util.DataOutputPlus, int) +AT ENTRY +# set flag to only run this rule once. +IF NOT flagged("done") +DO + flag("done"); + $2.writeInt(-1); +ENDRULE + http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/6e80b184/internode_messaging_test.py -- diff --git a/internode_messaging_test.py b/internode_messaging_test.py new file mode 100644 index 000..d0d4d1f --- /dev/null +++ b/internode_messaging_test.py @@ -0,0 +1,48 @@ +import pytest +import logging +import time + +from dtest import Tester + +since = pytest.mark.since +logger = logging.getLogger(__name__) + +_LOG_ERR_ILLEGAL_CAPACITY = "Caused by: java.lang.IllegalArgumentException: Illegal Capacity: -1" + + +@since('4.0') +class TestInternodeMessaging(Tester): + +@pytest.fixture(autouse=True) +def fixture_add_additional_log_patterns(self, fixture_dtest_setup): +fixture_dtest_setup.ignore_log_patterns = ( +r'Illegal Capacity: -1', +r'reported message size' +) + +def test_message_corruption(self): +""" +@jira_ticket CASSANDRA-14574 + +Use byteman to corrupt an outgoing gossip ACK message, check that the recipient fails *once* on the message +but does not spin out of control trying to process the rest of the bytes in the buffer. +Then make sure normal messaging can occur after a reconnect (on a different socket, of course). +""" +cluster = self.cluster +cluster.populate(2, install_byteman=True) +cluster.start(wait_other_notice=True) + +node1, node2 = cluster.nodelist() +node1_log_mark = node1.mark_log() +node2_log_mark = node2.mark_log() + + node2.byteman_submit(['./byteman/corrupt_internode_messages_gossip.btm']) + +# wait for the deserialization error to happen on node1 +time.sleep(10) +assert len(node1.grep_log(_LOG_ERR_ILLEGAL_CAPACITY, from_mark=node1_log_mark)) == 1 + +# now, make sure node2 reconnects (and continues gossiping). +# node.watch_log_for() will time out if it cannot find the log entry +assert node2.grep_log('successfully connected to 127.0.0.1:7000 \(GOSSIP\)', + from_mark=node2_log_mark, filename='debug.log') - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Incomplete handling of exceptions when decoding incoming messages
Repository: cassandra Updated Branches: refs/heads/trunk d8c451923 -> 298416a74 Incomplete handling of exceptions when decoding incoming messages patch by jasobrown; reviewed by Dinesh Joshi for CASSANDRA-14574 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/298416a7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/298416a7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/298416a7 Branch: refs/heads/trunk Commit: 298416a7445aa50874caebc779ca3094b32f3e31 Parents: d8c4519 Author: Jason Brown Authored: Wed Jul 18 13:47:22 2018 -0700 Committer: Jason Brown Committed: Fri Aug 17 05:54:37 2018 -0700 -- CHANGES.txt | 1 + .../net/async/BaseMessageInHandler.java | 61 - .../cassandra/net/async/MessageInHandler.java | 121 +++- .../net/async/MessageInHandlerPre40.java| 137 +-- .../test/microbench/MessageOutBench.java| 6 +- .../net/async/MessageInHandlerTest.java | 65 - 6 files changed, 238 insertions(+), 153 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/298416a7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d2970a4..0e671b0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/298416a7/src/java/org/apache/cassandra/net/async/BaseMessageInHandler.java -- diff --git a/src/java/org/apache/cassandra/net/async/BaseMessageInHandler.java b/src/java/org/apache/cassandra/net/async/BaseMessageInHandler.java index 7314999..2f2a973 100644 --- a/src/java/org/apache/cassandra/net/async/BaseMessageInHandler.java +++ b/src/java/org/apache/cassandra/net/async/BaseMessageInHandler.java @@ -26,7 +26,6 @@ import java.util.Map; import java.util.function.BiConsumer; import com.google.common.annotations.VisibleForTesting; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,6 +39,14 @@ import org.apache.cassandra.net.MessageIn; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.net.ParameterType; +/** + * Parses out individual messages from the incoming buffers. Each message, both header and payload, is incrementally built up + * from the available input data, then passed to the {@link #messageConsumer}. + * + * Note: this class derives from {@link ByteToMessageDecoder} to take advantage of the {@link ByteToMessageDecoder.Cumulator} + * behavior across {@link #decode(ChannelHandlerContext, ByteBuf, List)} invocations. That way we don't have to maintain + * the not-fully consumed {@link ByteBuf}s. + */ public abstract class BaseMessageInHandler extends ByteToMessageDecoder { public static final Logger logger = LoggerFactory.getLogger(BaseMessageInHandler.class); @@ -52,7 +59,8 @@ public abstract class BaseMessageInHandler extends ByteToMessageDecoder READ_PARAMETERS_SIZE, READ_PARAMETERS_DATA, READ_PAYLOAD_SIZE, -READ_PAYLOAD +READ_PAYLOAD, +CLOSED } /** @@ -77,6 +85,8 @@ public abstract class BaseMessageInHandler extends ByteToMessageDecoder final InetAddressAndPort peer; final int messagingVersion; +protected State state; + public BaseMessageInHandler(InetAddressAndPort peer, int messagingVersion, BiConsumer messageConsumer) { this.peer = peer; @@ -84,7 +94,36 @@ public abstract class BaseMessageInHandler extends ByteToMessageDecoder this.messageConsumer = messageConsumer; } -public abstract void decode(ChannelHandlerContext ctx, ByteBuf in, List out); +// redeclared here to make the method public (for testing) +@VisibleForTesting +public void decode(ChannelHandlerContext ctx, ByteBuf in, List out) throws Exception +{ +if (state == State.CLOSED) +{ +in.skipBytes(in.readableBytes()); +return; +} + +try +{ +handleDecode(ctx, in, out); +} +catch (Exception e) +{ +// prevent any future attempts at reading messages from any inbound buffers, as we're already in a bad state +state = State.CLOSED; + +// force the buffer to appear to be consumed, thereby exiting the ByteToMessageDecoder.callDecode() loop, +// and ot
cassandra git commit: Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase
Repository: cassandra Updated Branches: refs/heads/trunk 35750e805 -> 7925f91dc Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase patch by jasobrown; reviewed by Robert Stupp for CASSANDRA-14637 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7925f91d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7925f91d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7925f91d Branch: refs/heads/trunk Commit: 7925f91dc842834c39504b5f9a68db9b5c9fd879 Parents: 35750e8 Author: Jason Brown Authored: Fri Aug 10 07:31:28 2018 -0700 Committer: Jason Brown Committed: Tue Aug 14 09:48:40 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/db/partitions/AtomicBTreePartitionBase.java | 7 ++- 2 files changed, 7 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7925f91d/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 52933c8..67e85f6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/7925f91d/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java -- diff --git a/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java b/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java index ac1a11d..56359a2 100644 --- a/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java +++ b/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java @@ -18,6 +18,7 @@ package org.apache.cassandra.db.partitions; +import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.concurrent.locks.ReentrantLock; import org.slf4j.Logger; @@ -38,7 +39,8 @@ public abstract class AtomicBTreePartitionBase extends AbstractBTreePartition } // Replacement for Unsafe.monitorEnter/monitorExit. -private final ReentrantLock lock = new ReentrantLock(); +private volatile ReentrantLock lock; +private static final AtomicReferenceFieldUpdater lockUpdater = AtomicReferenceFieldUpdater.newUpdater(AtomicBTreePartitionBase.class, ReentrantLock.class, "lock"); static { @@ -50,6 +52,9 @@ public abstract class AtomicBTreePartitionBase extends AbstractBTreePartition protected final void acquireLock() { +if (lock == null) +lockUpdater.compareAndSet(this, null, new ReentrantLock()); + lock.lock(); } - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Revert 4.0 GC alg back to CMS
Repository: cassandra Updated Branches: refs/heads/trunk d78310d53 -> ed806594e Revert 4.0 GC alg back to CMS patch by jasobrown; reviewed by Jordan West for CASSANDRA-14636 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed806594 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed806594 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed806594 Branch: refs/heads/trunk Commit: ed806594e5169458d744a06c73ec224a1f37abce Parents: d78310d Author: Jason Brown Authored: Fri Aug 10 07:09:55 2018 -0700 Committer: Jason Brown Committed: Fri Aug 10 10:44:05 2018 -0700 -- CHANGES.txt | 1 + conf/jvm11-server.options | 29 ++--- conf/jvm8-server.options | 30 +++--- 3 files changed, 30 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed806594/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b9fe48b..6a45f95 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed806594/conf/jvm11-server.options -- diff --git a/conf/jvm11-server.options b/conf/jvm11-server.options index 08a7f2e..e6c2571 100644 --- a/conf/jvm11-server.options +++ b/conf/jvm11-server.options @@ -11,35 +11,34 @@ ### CMS Settings -#-XX:+UseParNewGC -#-XX:+UseConcMarkSweepGC -#-XX:+CMSParallelRemarkEnabled -#-XX:SurvivorRatio=8 -#-XX:MaxTenuringThreshold=1 -#-XX:CMSInitiatingOccupancyFraction=75 -#-XX:+UseCMSInitiatingOccupancyOnly -#-XX:CMSWaitDuration=1 -#-XX:+CMSParallelInitialMarkEnabled -#-XX:+CMSEdenChunksRecordAlways +-XX:+UseConcMarkSweepGC +-XX:+CMSParallelRemarkEnabled +-XX:SurvivorRatio=8 +-XX:MaxTenuringThreshold=1 +-XX:CMSInitiatingOccupancyFraction=75 +-XX:+UseCMSInitiatingOccupancyOnly +-XX:CMSWaitDuration=1 +-XX:+CMSParallelInitialMarkEnabled +-XX:+CMSEdenChunksRecordAlways ## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 -#-XX:+CMSClassUnloadingEnabled +-XX:+CMSClassUnloadingEnabled ### G1 Settings ## Use the Hotspot garbage-first collector. --XX:+UseG1GC --XX:+ParallelRefProcEnabled +#-XX:+UseG1GC +#-XX:+ParallelRefProcEnabled # ## Have the JVM do less remembered set work during STW, instead ## preferring concurrent GC. Reduces p99.9 latency. --XX:G1RSetUpdatingPauseTimePercent=5 +#-XX:G1RSetUpdatingPauseTimePercent=5 # ## Main G1GC tunable: lowering the pause target will lower throughput and vise versa. ## 200ms is the JVM default and lowest viable setting ## 1000ms increases throughput. Keep it smaller than the timeouts in cassandra.yaml. --XX:MaxGCPauseMillis=500 +#-XX:MaxGCPauseMillis=500 ## Optional G1 Settings # Save CPU time on large (>= 16GB) heaps by delaying region scanning http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed806594/conf/jvm8-server.options -- diff --git a/conf/jvm8-server.options b/conf/jvm8-server.options index 14d0261..6214669 100644 --- a/conf/jvm8-server.options +++ b/conf/jvm8-server.options @@ -18,33 +18,33 @@ # ### CMS Settings -#-XX:+UseParNewGC -#-XX:+UseConcMarkSweepGC -#-XX:+CMSParallelRemarkEnabled -#-XX:SurvivorRatio=8 -#-XX:MaxTenuringThreshold=1 -#-XX:CMSInitiatingOccupancyFraction=75 -#-XX:+UseCMSInitiatingOccupancyOnly -#-XX:CMSWaitDuration=1 -#-XX:+CMSParallelInitialMarkEnabled -#-XX:+CMSEdenChunksRecordAlways +-XX:+UseParNewGC +-XX:+UseConcMarkSweepGC +-XX:+CMSParallelRemarkEnabled +-XX:SurvivorRatio=8 +-XX:MaxTenuringThreshold=1 +-XX:CMSInitiatingOccupancyFraction=75 +-XX:+UseCMSInitiatingOccupancyOnly +-XX:CMSWaitDuration=1 +-XX:+CMSParallelInitialMarkEnabled +-XX:+CMSEdenChunksRecordAlways ## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 -#-XX:+CMSClassUnloadingEnabled +-XX:+CMSClassUnloadingEnabled ### G1 Settings ## Use the Hotspot garbage-first collector. --XX:+UseG1GC --XX:+ParallelRefProcEnabled +#-XX:+UseG1GC +#-XX:+ParallelRefProcEnabled # ## Have the JVM do less remembered set work during STW, instead ## preferring concurrent GC. Reduces p99.9 latency. --XX:G1RSetUpdatingPauseTimePercent=5 +#-XX:G1RSetUpdatingPauseTimePercent=5 # ## Main G1GC tunable: lowering the pause target will lower throughput and vise versa. ## 200ms is the JVM default and lowest viable setting ##
cassandra git commit: Remove hardcoded java11 jvm args in idea workspace files
Repository: cassandra Updated Branches: refs/heads/trunk a4053682e -> d78310d53 Remove hardcoded java11 jvm args in idea workspace files patch by Jordan West; reviewed by jasobrown for CASSANDRA-14627 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d78310d5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d78310d5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d78310d5 Branch: refs/heads/trunk Commit: d78310d53f9d00dcd26feb0ec4802a2a182fdd24 Parents: a405368 Author: Jordan West Authored: Thu Aug 9 08:58:37 2018 -0700 Committer: Jason Brown Committed: Fri Aug 10 05:40:45 2018 -0700 -- CHANGES.txt| 1 + ide/idea/workspace.xml | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d78310d5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 8e4597f..b9fe48b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/d78310d5/ide/idea/workspace.xml -- diff --git a/ide/idea/workspace.xml b/ide/idea/workspace.xml index 1bfc8e2..876ed58 100644 --- a/ide/idea/workspace.xml +++ b/ide/idea/workspace.xml @@ -143,7 +143,7 @@ - + @@ -167,7 +167,7 @@ - + @@ -185,7 +185,7 @@ - + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Update netty to 4.1.128
Repository: cassandra Updated Branches: refs/heads/trunk d5ae2ae48 -> a4053682e Update netty to 4.1.128 patch by jasobrown; reviewed by Dinesh Joshi for CASSANDRA-14633 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a4053682 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a4053682 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a4053682 Branch: refs/heads/trunk Commit: a4053682e84a18bbff414eb89fafbed92b6a7b14 Parents: d5ae2ae Author: Jason Brown Authored: Thu Aug 9 04:50:10 2018 -0700 Committer: Jason Brown Committed: Fri Aug 10 05:13:35 2018 -0700 -- CHANGES.txt| 1 + build.xml | 2 +- lib/licenses/netty-4.1.14.txt | 202 lib/licenses/netty-4.1.28.txt | 202 lib/netty-all-4.1.14.Final.jar | Bin 3690637 -> 0 bytes lib/netty-all-4.1.28.Final.jar | Bin 0 -> 3839841 bytes 6 files changed, 204 insertions(+), 203 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4053682/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 103da7b..8e4597f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4053682/build.xml -- diff --git a/build.xml b/build.xml index 311bd7d..5fb9edf 100644 --- a/build.xml +++ b/build.xml @@ -468,7 +468,7 @@ - + http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4053682/lib/licenses/netty-4.1.14.txt -- diff --git a/lib/licenses/netty-4.1.14.txt b/lib/licenses/netty-4.1.14.txt deleted file mode 100644 index d645695..000 --- a/lib/licenses/netty-4.1.14.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 -http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work
cassandra git commit: Revert running dtests by default in circleci
Repository: cassandra Updated Branches: refs/heads/trunk 47a12c52a -> e663ccd98 Revert running dtests by default in circleci patch by Jordan West; reviewed by jasobrown for CASSANDRA-14614 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e663ccd9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e663ccd9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e663ccd9 Branch: refs/heads/trunk Commit: e663ccd98dbb0696db0f511c5f3428c13e7f8c73 Parents: 47a12c5 Author: Jordan West Authored: Mon Jul 30 16:28:28 2018 -0700 Committer: Jason Brown Committed: Tue Jul 31 04:27:32 2018 -0700 -- .circleci/config.yml | 4 ++-- CHANGES.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e663ccd9/.circleci/config.yml -- diff --git a/.circleci/config.yml b/.circleci/config.yml index edf7dd5..5a84f72 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -65,9 +65,9 @@ env_vars: _vars #<<: *high_capacity_env_vars workflows: version: 2 -#build_and_run_tests: *default_jobs +build_and_run_tests: *default_jobs #build_and_run_tests: *with_dtest_jobs_only -build_and_run_tests: *with_dtest_jobs +#build_and_run_tests: *with_dtest_jobs docker_image: _image kjellman/cassandra-test:0.4.3 version: 2 jobs: http://git-wip-us.apache.org/repos/asf/cassandra/blob/e663ccd9/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6ede70e..ce70797 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra-dtest git commit: Revert "relocate tokens to their proper places after moving"
Repository: cassandra-dtest Updated Branches: refs/heads/master b9d155615 -> 73591db24 Revert "relocate tokens to their proper places after moving" This reverts commit 3a338c7bac3668da4ceb27f97eab42c5ccd31d03. I accidentally pushed this. Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/73591db2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/73591db2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/73591db2 Branch: refs/heads/master Commit: 73591db24bfa89fbaed9fb10a5af4cb7b4ac5ab7 Parents: b9d1556 Author: Jason Brown Authored: Thu Jul 26 10:34:17 2018 -0700 Committer: Jason Brown Committed: Thu Jul 26 10:34:45 2018 -0700 -- topology_test.py | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/73591db2/topology_test.py -- diff --git a/topology_test.py b/topology_test.py index a00c2ca..47426f0 100644 --- a/topology_test.py +++ b/topology_test.py @@ -283,13 +283,8 @@ class TestTopology(Tester): move_node(node3, balancing_tokens[2]) time.sleep(1) + cluster.cleanup() -for node in cluster.nodelist(): -# after moving nodes we need to relocate any tokens in the wrong places, and after doing that -# we might have overlapping tokens on the disks, so run a major compaction to get balance even -if cluster.version() >= '3.2': -node.nodetool("relocatesstables") -node.nodetool("compact") # Check we can get all the keys for n in range(0, 3): @@ -297,11 +292,10 @@ class TestTopology(Tester): # Now the load should be basically even sizes = [node.data_size() for node in [node1, node2, node3]] -debug("sizes = %s" % sizes) -assert_almost_equal(sizes[0], sizes[1], error=0.05) -assert_almost_equal(sizes[0], sizes[2], error=0.05) -assert_almost_equal(sizes[1], sizes[2], error=0.05) +assert_almost_equal(sizes[0], sizes[1]) +assert_almost_equal(sizes[0], sizes[2]) +assert_almost_equal(sizes[1], sizes[2]) @pytest.mark.no_vnodes def test_decommission(self): - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/2] cassandra-dtest git commit: Deselect offheap tests when they are marked as 'no_offheap_memtables'
Deselect offheap tests when they are marked as 'no_offheap_memtables' patch by jasobrown; reviewed by Jordan West for CASSANDRA-14542 Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/b9d15561 Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/b9d15561 Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/b9d15561 Branch: refs/heads/master Commit: b9d15561512565ca58313c458701cc677f2f53b0 Parents: 3a338c7 Author: Jason Brown Authored: Sun Jun 24 15:14:42 2018 -0700 Committer: Jason Brown Committed: Thu Jul 26 10:31:08 2018 -0700 -- conftest.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/b9d15561/conftest.py -- diff --git a/conftest.py b/conftest.py index 84ece62..0040ec6 100644 --- a/conftest.py +++ b/conftest.py @@ -470,7 +470,9 @@ def pytest_collection_modifyitems(items, config): if not config.getoption("--execute-upgrade-tests"): deselect_test = True -# todo kjkj: deal with no_offheap_memtables mark +if item.get_marker("no_offheap_memtables"): +if config.getoption("use_off_heap_memtables"): +deselect_test = True if deselect_test: deselected_items.append(item) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[1/2] cassandra-dtest git commit: relocate tokens to their proper places after moving
Repository: cassandra-dtest Updated Branches: refs/heads/master f45a06b2e -> b9d155615 relocate tokens to their proper places after moving Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/3a338c7b Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/3a338c7b Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/3a338c7b Branch: refs/heads/master Commit: 3a338c7bac3668da4ceb27f97eab42c5ccd31d03 Parents: f45a06b Author: Marcus Eriksson Authored: Fri Jan 12 16:05:36 2018 +0100 Committer: Jason Brown Committed: Thu Jul 26 10:30:23 2018 -0700 -- topology_test.py | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/3a338c7b/topology_test.py -- diff --git a/topology_test.py b/topology_test.py index 47426f0..a00c2ca 100644 --- a/topology_test.py +++ b/topology_test.py @@ -283,8 +283,13 @@ class TestTopology(Tester): move_node(node3, balancing_tokens[2]) time.sleep(1) - cluster.cleanup() +for node in cluster.nodelist(): +# after moving nodes we need to relocate any tokens in the wrong places, and after doing that +# we might have overlapping tokens on the disks, so run a major compaction to get balance even +if cluster.version() >= '3.2': +node.nodetool("relocatesstables") +node.nodetool("compact") # Check we can get all the keys for n in range(0, 3): @@ -292,10 +297,11 @@ class TestTopology(Tester): # Now the load should be basically even sizes = [node.data_size() for node in [node1, node2, node3]] +debug("sizes = %s" % sizes) -assert_almost_equal(sizes[0], sizes[1]) -assert_almost_equal(sizes[0], sizes[2]) -assert_almost_equal(sizes[1], sizes[2]) +assert_almost_equal(sizes[0], sizes[1], error=0.05) +assert_almost_equal(sizes[0], sizes[2], error=0.05) +assert_almost_equal(sizes[1], sizes[2], error=0.05) @pytest.mark.no_vnodes def test_decommission(self): - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable
Repository: cassandra Updated Branches: refs/heads/trunk 9abeff38c -> 176d4bac2 Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable patch by jasobrown; reviewed by Jordan West for CASSANDRA-14580 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/176d4bac Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/176d4bac Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/176d4bac Branch: refs/heads/trunk Commit: 176d4bac22c356c80e275dcb4040bc5cbd0da1c2 Parents: 9abeff3 Author: Jason Brown Authored: Fri Jul 20 16:05:18 2018 -0700 Committer: Jason Brown Committed: Sun Jul 22 03:20:46 2018 -0700 -- CHANGES.txt | 1 + conf/cassandra.yaml | 4 src/java/org/apache/cassandra/config/Config.java | 1 + src/java/org/apache/cassandra/config/DatabaseDescriptor.java | 8 .../cassandra/db/commitlog/PeriodicCommitLogService.java | 4 +++- 5 files changed, 17 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/176d4bac/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index faf37ea..4ba3313 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/176d4bac/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 7ff056d..439b85a 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -389,6 +389,10 @@ counter_cache_save_period: 7200 commitlog_sync: periodic commitlog_sync_period_in_ms: 1 +# When in periodic commitlog mode, the number of milliseconds to block writes +# while waiting for a slow disk flush to complete. +# periodic_commitlog_sync_lag_block_in_ms: + # The size of the individual commitlog file segments. A commitlog # segment may be archived, deleted, or recycled once all the data # in it (potentially from each columnfamily in the system) has been http://git-wip-us.apache.org/repos/asf/cassandra/blob/176d4bac/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index d9250bb..0d4760e 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -204,6 +204,7 @@ public class Config public int commitlog_segment_size_in_mb = 32; public ParameterizedClass commitlog_compression; public int commitlog_max_compression_buffers_in_pool = 3; +public Integer periodic_commitlog_sync_lag_block_in_ms; public TransparentDataEncryptionOptions transparent_data_encryption_options = new TransparentDataEncryptionOptions(); public Integer max_mutation_size_in_kb; http://git-wip-us.apache.org/repos/asf/cassandra/blob/176d4bac/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 91ee63a..2dc3737 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -1866,6 +1866,14 @@ public class DatabaseDescriptor return conf.commitlog_sync_period_in_ms; } +public static long getPeriodicCommitLogSyncBlock() +{ +Integer blockMillis = conf.periodic_commitlog_sync_lag_block_in_ms; +return blockMillis == null + ? (long)(getCommitLogSyncPeriod() * 1.5) + : blockMillis; +} + public static void setCommitLogSyncPeriod(int periodMillis) { conf.commitlog_sync_period_in_ms = periodMillis; http://git-wip-us.apache.org/repos/asf/cassandra/blob/176d4bac/src/java/org/apache/cassandra/db/commitlog/PeriodicCommitLogService.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/PeriodicCommitLogService.java b/src/java/org/apache/cassandra/db/commitlog/PeriodicCommitLogService.java index efd3394..e94c616 100644 --- a/src/java/org/apache/cassandra/db/commit
cassandra git commit: Improve logging in MessageInHandler's constructor
Repository: cassandra Updated Branches: refs/heads/trunk c4263d26b -> 9abeff38c Improve logging in MessageInHandler's constructor patch by jasobrown; reviewed by Dinesh Joshi for CASSANDRA-14576 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9abeff38 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9abeff38 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9abeff38 Branch: refs/heads/trunk Commit: 9abeff38c4bdcd6e640642c38b5f253f0955e6b0 Parents: c4263d2 Author: Jason Brown Authored: Fri Jul 20 04:50:43 2018 -0700 Committer: Jason Brown Committed: Fri Jul 20 16:08:53 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/net/async/MessageInHandler.java | 5 ++--- .../cassandra/net/async/MessageInHandlerPre40.java| 5 ++--- .../cassandra/net/async/MessageInHandlerTest.java | 14 +++--- 4 files changed, 16 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9abeff38/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4b53c03..faf37ea 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9abeff38/src/java/org/apache/cassandra/net/async/MessageInHandler.java -- diff --git a/src/java/org/apache/cassandra/net/async/MessageInHandler.java b/src/java/org/apache/cassandra/net/async/MessageInHandler.java index c85d860..eb22e91 100644 --- a/src/java/org/apache/cassandra/net/async/MessageInHandler.java +++ b/src/java/org/apache/cassandra/net/async/MessageInHandler.java @@ -65,9 +65,8 @@ public class MessageInHandler extends BaseMessageInHandler { super(peer, messagingVersion, messageConsumer); -if (messagingVersion < MessagingService.VERSION_40) -throw new IllegalArgumentException(String.format("wrong messaging version for this handler", messagingVersion)); - +assert messagingVersion >= MessagingService.VERSION_40 : String.format("wrong messaging version for this handler: got %d, but expect %d or higher", + messagingVersion, MessagingService.VERSION_40); state = State.READ_FIRST_CHUNK; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9abeff38/src/java/org/apache/cassandra/net/async/MessageInHandlerPre40.java -- diff --git a/src/java/org/apache/cassandra/net/async/MessageInHandlerPre40.java b/src/java/org/apache/cassandra/net/async/MessageInHandlerPre40.java index 132ec11..fb19b43 100644 --- a/src/java/org/apache/cassandra/net/async/MessageInHandlerPre40.java +++ b/src/java/org/apache/cassandra/net/async/MessageInHandlerPre40.java @@ -59,9 +59,8 @@ public class MessageInHandlerPre40 extends BaseMessageInHandler { super(peer, messagingVersion, messageConsumer); -if (messagingVersion >= MessagingService.VERSION_40) -throw new IllegalArgumentException(String.format("wrong messaging version for this handler", messagingVersion)); - +assert messagingVersion < MessagingService.VERSION_40 : String.format("wrong messaging version for this handler: got %d, but expect lower than %d", + messagingVersion, MessagingService.VERSION_40); state = State.READ_FIRST_CHUNK; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/9abeff38/test/unit/org/apache/cassandra/net/async/MessageInHandlerTest.java -- diff --git a/test/unit/org/apache/cassandra/net/async/MessageInHandlerTest.java b/test/unit/org/apache/cassandra/net/async/MessageInHandlerTest.java index 16f4faf..8deb6dc 100644 --- a/test/unit/org/apache/cassandra/net/async/MessageInHandlerTest.java +++ b/test/unit/org/apache/cassandra/net/async/MessageInHandlerTest.java @@ -92,11 +92,19 @@ public class MessageInHandlerTest private BaseMessageInHandler getHandler(InetAddressAndPort addr, int messagingVersion, BiConsumer messageConsumer) { -if (messagingVersion >= MessagingService.VERSION_40) -return new MessageInHandler(
cassandra git commit: Set broadcast address in internode messaging handshake
Repository: cassandra Updated Branches: refs/heads/trunk 13150b001 -> c4263d26b Set broadcast address in internode messaging handshake patch by Ariel Weisberg; reviewed by jasobrown for CASSANDRA-14579 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c4263d26 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c4263d26 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c4263d26 Branch: refs/heads/trunk Commit: c4263d26b43a4a65a31f213a10f6fbd68217825c Parents: 13150b0 Author: Ariel Weisberg Authored: Fri Jul 20 14:27:12 2018 -0700 Committer: Jason Brown Committed: Fri Jul 20 15:19:51 2018 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/net/MessagingService.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4263d26/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index fe4087b..4b53c03 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4263d26/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java index f5051fb..b2e72f4 100644 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@ -1633,7 +1633,7 @@ public final class MessagingService implements MessagingServiceMBean return null; InetAddressAndPort preferredRemote = SystemKeyspace.getPreferredIP(to); -InetAddressAndPort local = FBUtilities.getLocalAddressAndPort(); +InetAddressAndPort local = FBUtilities.getBroadcastAddressAndPort(); ServerEncryptionOptions encryptionOptions = secure ? DatabaseDescriptor.getInternodeMessagingEncyptionOptions() : null; IInternodeAuthenticator authenticator = DatabaseDescriptor.getInternodeAuthenticator(); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: add a javadoc comment on VIntCoding function
Repository: cassandra Updated Branches: refs/heads/trunk 207c80c1f -> 8bc2fba3e add a javadoc comment on VIntCoding function Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8bc2fba3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8bc2fba3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8bc2fba3 Branch: refs/heads/trunk Commit: 8bc2fba3e5038ab47bc75accfea0fa55f6e208f6 Parents: 207c80c Author: Jason Brown Authored: Tue Jul 17 22:23:06 2018 -0700 Committer: Jason Brown Committed: Tue Jul 17 22:23:06 2018 -0700 -- src/java/org/apache/cassandra/utils/vint/VIntCoding.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8bc2fba3/src/java/org/apache/cassandra/utils/vint/VIntCoding.java -- diff --git a/src/java/org/apache/cassandra/utils/vint/VIntCoding.java b/src/java/org/apache/cassandra/utils/vint/VIntCoding.java index 67444a9..d4fdd63 100644 --- a/src/java/org/apache/cassandra/utils/vint/VIntCoding.java +++ b/src/java/org/apache/cassandra/utils/vint/VIntCoding.java @@ -86,6 +86,8 @@ public class VIntCoding * Note this method is the same as {@link #readUnsignedVInt(DataInput)}, * except that we do *not* block if there are not enough bytes in the buffer * to reconstruct the value. + * + * @return -1 if there are not enough bytes in the input to read the value; else, the vint unsigned value. */ public static long readUnsignedVInt(ByteBuf input) { - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Optimize internode messaging protocol
Repository: cassandra Updated Branches: refs/heads/trunk 5db822b71 -> 06209037e Optimize internode messaging protocol patch by jasobrown; reviewed by Dinesh Joshi for CASSANDRA-14485 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/06209037 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/06209037 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/06209037 Branch: refs/heads/trunk Commit: 06209037ea56b5a2a49615a99f1542d6ea1b2947 Parents: 5db822b Author: Jason Brown Authored: Tue May 29 19:21:10 2018 -0700 Committer: Jason Brown Committed: Mon Jun 25 06:41:30 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/net/MessageOut.java| 172 ++ .../net/async/BaseMessageInHandler.java | 148 .../net/async/InboundHandshakeHandler.java | 6 +- .../cassandra/net/async/MessageInHandler.java | 220 +++--- .../net/async/MessageInHandlerPre40.java| 231 +++ .../apache/cassandra/utils/vint/VIntCoding.java | 37 +++ .../test/microbench/MessageOutBench.java| 129 +++ .../net/async/HandshakeHandlersTest.java| 31 ++- .../net/async/MessageInHandlerTest.java | 105 ++--- .../cassandra/utils/vint/VIntCodingTest.java| 15 ++ 11 files changed, 832 insertions(+), 263 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/06209037/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index fb14e40..e99c9ea 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/06209037/src/java/org/apache/cassandra/net/MessageOut.java -- diff --git a/src/java/org/apache/cassandra/net/MessageOut.java b/src/java/org/apache/cassandra/net/MessageOut.java index 30968df..834435e 100644 --- a/src/java/org/apache/cassandra/net/MessageOut.java +++ b/src/java/org/apache/cassandra/net/MessageOut.java @@ -18,6 +18,7 @@ package org.apache.cassandra.net; +import java.io.IOError; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -29,47 +30,43 @@ import com.google.common.primitives.Ints; import org.apache.cassandra.concurrent.Stage; import org.apache.cassandra.db.TypeSizes; import org.apache.cassandra.io.IVersionedSerializer; +import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.io.util.DataOutputPlus; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.net.async.OutboundConnectionIdentifier.ConnectionType; import org.apache.cassandra.tracing.Tracing; import org.apache.cassandra.utils.FBUtilities; -import org.apache.cassandra.utils.Pair; +import org.apache.cassandra.utils.vint.VIntCoding; import static org.apache.cassandra.tracing.Tracing.isTracing; /** * Each message contains a header with several fixed fields, an optional key-value parameters section, and then - * the message payload itself. Note: the IP address in the header may be either IPv4 (4 bytes) or IPv6 (16 bytes). - * The diagram below shows the IPv4 address for brevity. + * the message payload itself. Note: the legacy IP address (pre-4.0) in the header may be either IPv4 (4 bytes) + * or IPv6 (16 bytes). The diagram below shows the IPv4 address for brevity. In pre-4.0, the payloadSize was + * encoded as a 4-byte integer; in 4.0 and up it is an unsigned byte (255 parameters should be enough for anyone). * * * {@code - *1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 - * 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | PROTOCOL MAGIC | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | Message ID| - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | Timestamp | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | Addr len | IP Address (IPv4) / - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * / | V
cassandra git commit: Internode messaging handshake sends wrong messaging version number
Repository: cassandra Updated Branches: refs/heads/trunk 2bad5d5b6 -> 5db822b71 Internode messaging handshake sends wrong messaging version number patch by jasobrown; reviewed by Dinesh Joshi for CASSANDRA-14540 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5db822b7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5db822b7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5db822b7 Branch: refs/heads/trunk Commit: 5db822b71ad7278ca6443455d029dd79e22388d8 Parents: 2bad5d5 Author: Jason Brown Authored: Fri Jun 22 13:56:17 2018 -0700 Committer: Jason Brown Committed: Mon Jun 25 06:36:59 2018 -0700 -- CHANGES.txt | 1 + .../net/async/OutboundHandshakeHandler.java | 2 +- .../net/async/OutboundHandshakeHandlerTest.java | 59 ++-- 3 files changed, 55 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5db822b7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 047689e..fb14e40 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5db822b7/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java -- diff --git a/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java b/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java index c555bed..3ccbf49 100644 --- a/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java +++ b/src/java/org/apache/cassandra/net/async/OutboundHandshakeHandler.java @@ -177,7 +177,7 @@ public class OutboundHandshakeHandler extends ByteToMessageDecoder try { -ctx.writeAndFlush(new ThirdHandshakeMessage(MessagingService.current_version, connectionId.local()).encode(ctx.alloc())); +ctx.writeAndFlush(new ThirdHandshakeMessage(peerMessagingVersion, connectionId.local()).encode(ctx.alloc())); ChannelWriter channelWriter = setupPipeline(ctx.channel(), peerMessagingVersion); callback.accept(HandshakeResult.success(channelWriter, peerMessagingVersion)); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/5db822b7/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java -- diff --git a/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java b/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java index be71fd4..2d377af 100644 --- a/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java +++ b/test/unit/org/apache/cassandra/net/async/OutboundHandshakeHandlerTest.java @@ -18,7 +18,6 @@ package org.apache.cassandra.net.async; -import java.net.InetSocketAddress; import java.util.LinkedList; import java.util.List; import java.util.Optional; @@ -42,6 +41,7 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.net.async.HandshakeProtocol.SecondHandshakeMessage; +import org.apache.cassandra.net.async.HandshakeProtocol.ThirdHandshakeMessage; import org.apache.cassandra.net.async.OutboundHandshakeHandler.HandshakeResult; import static org.apache.cassandra.net.async.OutboundHandshakeHandler.HandshakeResult.UNKNOWN_PROTOCOL_VERSION; @@ -102,20 +102,31 @@ public class OutboundHandshakeHandlerTest } @Test -public void decode_HappyPath() throws Exception +public void decode_HappyPath() { buf = new SecondHandshakeMessage(MESSAGING_VERSION).encode(PooledByteBufAllocator.DEFAULT); channel.writeInbound(buf); Assert.assertEquals(1, channel.outboundMessages().size()); Assert.assertTrue(channel.isOpen()); -Assert.assertTrue(channel.releaseOutbound()); // throw away any responses from decode() Assert.assertEquals(MESSAGING_VERSION, callbackHandler.result.negotiatedMessagingVersion); Assert.assertEquals(HandshakeResult.Outcome.SUCCESS, callbackHandler.result.outcome); +Assert.assertFalse(channel.outboundMessages().isEmpty()); + +ByteBuf thridMsgBuf = (ByteBuf) channel.outboundMessages().poll(); +
cassandra-dtest git commit: ninja-fix CASSANDRA-14056 to correctly handle dtest_print_tests_only
Repository: cassandra-dtest Updated Branches: refs/heads/master b617ea1b0 -> b76b49e6a ninja-fix CASSANDRA-14056 to correctly handle dtest_print_tests_only Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/b76b49e6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/b76b49e6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/b76b49e6 Branch: refs/heads/master Commit: b76b49e6ac895ead13dde707ab606bdef99d4894 Parents: b617ea1 Author: Jason Brown Authored: Sat Jun 23 04:01:42 2018 -0700 Committer: Jason Brown Committed: Sat Jun 23 04:01:42 2018 -0700 -- run_dtests.py | 19 ++- 1 file changed, 10 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/b76b49e6/run_dtests.py -- diff --git a/run_dtests.py b/run_dtests.py index ecda37b..ccd60b9 100755 --- a/run_dtests.py +++ b/run_dtests.py @@ -86,22 +86,23 @@ class RunDTests(): args = parser.parse_args() -if not args.dtest_print_tests_only and args.cassandra_dir is None: -if args.cassandra_version is None: +if not args.dtest_print_tests_only: +if args.cassandra_dir is None and args.cassandra_version is None: raise Exception("Required dtest arguments were missing! You must provide either --cassandra-dir " "or --cassandra-version. Refer to the documentation or invoke the help with --help.") +# Either cassandra_version or cassandra_dir is defined, so figure out the version +CASSANDRA_VERSION = args.cassandra_version or get_version_from_build(args.cassandra_dir) + +if args.use_off_heap_memtables and ("3.0" <= CASSANDRA_VERSION < "3.4"): +raise Exception("The selected Cassandra version %s doesn't support the provided option " +"--use-off-heap-memtables, see https://issues.apache.org/jira/browse/CASSANDRA-9472 " +"for details" % CASSANDRA_VERSION) + if args.dtest_enable_debug_logging: logging.root.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG) -# Either cassandra_version or cassandra_dir is defined, so figure out the version -CASSANDRA_VERSION = args.cassandra_version or get_version_from_build(args.cassandra_dir) - -if args.use_off_heap_memtables and ("3.0" <= CASSANDRA_VERSION < "3.4"): -raise Exception("The selected Cassandra version %s doesn't support the provided option " -"--use-off-heap-memtables, see https://issues.apache.org/jira/browse/CASSANDRA-9472 " -"for details" % CASSANDRA_VERSION) # Get dictionaries corresponding to each point in the configuration matrix # we want to run, then generate a config object for each of them. - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra-dtest git commit: ninja-fix a bad import line, as part of CASSANDRA-14056
Repository: cassandra-dtest Updated Branches: refs/heads/master 2313e39ee -> b617ea1b0 ninja-fix a bad import line, as part of CASSANDRA-14056 Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/b617ea1b Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/b617ea1b Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/b617ea1b Branch: refs/heads/master Commit: b617ea1b0a2ce9dd0ec16af20d9d9e045ce3fdc7 Parents: 2313e39 Author: Jason Brown Authored: Fri Jun 22 15:42:29 2018 -0700 Committer: Jason Brown Committed: Fri Jun 22 15:42:29 2018 -0700 -- run_dtests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/b617ea1b/run_dtests.py -- diff --git a/run_dtests.py b/run_dtests.py index 2d6ca20..ecda37b 100755 --- a/run_dtests.py +++ b/run_dtests.py @@ -41,7 +41,7 @@ from _pytest.config import Parser import argparse from conftest import pytest_addoption -from dtest import get_version_from_build +from ccmlib.common import get_version_from_build logger = logging.getLogger(__name__) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra-dtest git commit: Check --use-off-heap-memtables option and stop if not supported
Repository: cassandra-dtest Updated Branches: refs/heads/master 51c835202 -> 2313e39ee Check --use-off-heap-memtables option and stop if not supported patch by Alex Lourie; reviewed by jasobrown for CASSANDRA-14056 Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/2313e39e Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/2313e39e Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/2313e39e Branch: refs/heads/master Commit: 2313e39ee19ea12f304d3e6dd04c41d4f03798ca Parents: 51c8352 Author: Alex Lourie Authored: Tue Feb 6 14:04:03 2018 +1030 Committer: Jason Brown Committed: Thu Jun 21 06:37:27 2018 -0700 -- conftest.py | 14 -- run_dtests.py | 11 ++- 2 files changed, 22 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/2313e39e/conftest.py -- diff --git a/conftest.py b/conftest.py index 3e30942..1078989 100644 --- a/conftest.py +++ b/conftest.py @@ -18,7 +18,7 @@ from netifaces import AF_INET from psutil import virtual_memory import netifaces as ni -from ccmlib.common import validate_install_dir, is_win +from ccmlib.common import validate_install_dir, is_win, get_version_from_build from dtest_config import DTestConfig from dtest_setup import DTestSetup @@ -105,7 +105,7 @@ def fixture_dtest_cluster_name(): Not exactly sure why :\ but, this fixture needs to be scoped to function level and not session or class. If you invoke pytest with tests across multiple test classes, when scopped at session, the root logger appears to get reset between each test class invocation. -this means that the first test to run not from the first test class (and all subsequent +this means that the first test to run not from the first test class (and all subsequent tests), will have the root logger reset and see a level of NOTSET. Scoping it at the class level seems to work, and I guess it's not that much extra overhead to setup the logger once per test class vs. once per session in the grand scheme of things. @@ -415,6 +415,16 @@ def pytest_collection_modifyitems(items, config): raise Exception("Required dtest arguments were missing! You must provide either --cassandra-dir " "or --cassandra-version. Refer to the documentation or invoke the help with --help.") +# Either cassandra_version or cassandra_dir is defined, so figure out the version +CASSANDRA_VERSION = config.getoption("--cassandra-version") or get_version_from_build(config.getoption("--cassandra-dir")) + +# Check that use_off_heap_memtables is supported in this c* version +if config.getoption("--use-off-heap-memtables") and ("3.0" <= CASSANDRA_VERSION < "3.4"): +raise Exception("The selected Cassandra version %s doesn't support the provided option " +"--use-off-heap-memtables, see https://issues.apache.org/jira/browse/CASSANDRA-9472 " +"for details" % CASSANDRA_VERSION) + + selected_items = [] deselected_items = [] http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/2313e39e/run_dtests.py -- diff --git a/run_dtests.py b/run_dtests.py index 198cde2..2d6ca20 100755 --- a/run_dtests.py +++ b/run_dtests.py @@ -41,6 +41,7 @@ from _pytest.config import Parser import argparse from conftest import pytest_addoption +from dtest import get_version_from_build logger = logging.getLogger(__name__) @@ -94,6 +95,14 @@ class RunDTests(): logging.root.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG) +# Either cassandra_version or cassandra_dir is defined, so figure out the version +CASSANDRA_VERSION = args.cassandra_version or get_version_from_build(args.cassandra_dir) + +if args.use_off_heap_memtables and ("3.0" <= CASSANDRA_VERSION < "3.4"): +raise Exception("The selected Cassandra version %s doesn't support the provided option " +"--use-off-heap-memtables, see https://issues.apache.org/jira/browse/CASSANDRA-9472 " +"for details" % CASSANDRA_VERSION) + # Get dictionaries corresponding to each point in the configuration matrix # we want to run, then generate a config object for each of them. logger.debug('Generating configurations from the following matrix:\n\t{}'.format(args)) @@ -211,7 +220,7 @@ def collect_test_modules(stdout):
cassandra git commit: Nodetool import row cache invalidation races with adding sstables to tracker
Repository: cassandra Updated Branches: refs/heads/trunk 53c0ef171 -> 73e70340a Nodetool import row cache invalidation races with adding sstables to tracker patch by Jordan West; reviewed by jasobrown for CASSANDRA-14529 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73e70340 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73e70340 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73e70340 Branch: refs/heads/trunk Commit: 73e70340a173b8ff56665cddb70756e83f7d37b0 Parents: 53c0ef1 Author: Jordan West Authored: Mon Jun 18 13:54:44 2018 -0700 Committer: Jason Brown Committed: Wed Jun 20 06:10:43 2018 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/SSTableImporter.java | 9 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73e70340/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index fd236a2..9ead7e6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/73e70340/src/java/org/apache/cassandra/db/SSTableImporter.java -- diff --git a/src/java/org/apache/cassandra/db/SSTableImporter.java b/src/java/org/apache/cassandra/db/SSTableImporter.java index e9f6fe6..c919d25 100644 --- a/src/java/org/apache/cassandra/db/SSTableImporter.java +++ b/src/java/org/apache/cassandra/db/SSTableImporter.java @@ -134,8 +134,7 @@ public class SSTableImporter Descriptor oldDescriptor = entry.getKey(); if (currentDescriptors.contains(oldDescriptor)) continue; -if (options.invalidateCaches && cfs.isRowCacheEnabled()) -invalidateCachesForSSTable(oldDescriptor); + File targetDir = getTargetDirectory(dir, oldDescriptor, entry.getValue()); Descriptor newDescriptor = cfs.getUniqueDescriptorFor(entry.getKey(), targetDir); maybeMutateMetadata(entry.getKey(), options); @@ -176,6 +175,12 @@ public class SSTableImporter try (Refs refs = Refs.ref(newSSTables)) { cfs.getTracker().addSSTables(newSSTables); +for (SSTableReader reader : newSSTables) +{ +if (options.invalidateCaches && cfs.isRowCacheEnabled()) +invalidateCachesForSSTable(reader.descriptor); +} + } logger.info("Done loading load new SSTables for {}/{}", cfs.keyspace.getName(), cfs.getTableName()); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Support light-weight transactions in cassandra-stress
Repository: cassandra Updated Branches: refs/heads/trunk 6da5fb56c -> 2aeed037e Support light-weight transactions in cassandra-stress patch by Jaydeepkumar Chovatia; reviewed by Dinesh Joshi and jasobrown for CASSANDRA-13529 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2aeed037 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2aeed037 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2aeed037 Branch: refs/heads/trunk Commit: 2aeed037e0f105e72366e15afa012257e910a25d Parents: 6da5fb5 Author: Jaydeepkumar Chovatia Authored: Fri May 12 17:23:44 2017 -0700 Committer: Jason Brown Committed: Wed Jun 13 05:46:20 2018 -0700 -- CHANGES.txt | 1 + doc/source/tools/cassandra_stress.rst | 18 ++ doc/source/tools/stress-lwt-example.yaml| 70 ++ .../cql3/conditions/ColumnCondition.java| 7 +- .../cql3/statements/ModificationStatement.java | 11 + .../apache/cassandra/stress/StressProfile.java | 46 +++- .../stress/generate/PartitionGenerator.java | 10 + .../stress/operations/PartitionOperation.java | 13 +- .../stress/operations/userdefined/CASQuery.java | 227 +++ .../operations/userdefined/SchemaQuery.java | 11 +- .../operations/userdefined/SchemaStatement.java | 6 + 11 files changed, 403 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2aeed037/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6819711..629df0c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/2aeed037/doc/source/tools/cassandra_stress.rst -- diff --git a/doc/source/tools/cassandra_stress.rst b/doc/source/tools/cassandra_stress.rst index 322a981..bcac54e 100644 --- a/doc/source/tools/cassandra_stress.rst +++ b/doc/source/tools/cassandra_stress.rst @@ -220,6 +220,24 @@ Running a user mode test with multiple yaml files:: This will run operations as specified in both the example.yaml and example2.yaml files. example.yaml and example2.yaml can reference the same table although care must be taken that the table definition is identical (data generation specs can be different). +Lightweight transaction support + +cassandra-stress supports lightweight transactions. In this it will first read current data from Cassandra and then uses read value(s) +to fulfill lightweight transaction condition(s). + +Lightweight transaction update query:: + +queries: + regularupdate: + cql: update blogposts set author = ? where domain = ? and published_date = ? + fields: samerow + updatewithlwt: + cql: update blogposts set author = ? where domain = ? and published_date = ? IF body = ? AND url = ? + fields: samerow + +The full example can be found here :download:`yaml <./stress-lwt-example.yaml>` + Graphing http://git-wip-us.apache.org/repos/asf/cassandra/blob/2aeed037/doc/source/tools/stress-lwt-example.yaml -- diff --git a/doc/source/tools/stress-lwt-example.yaml b/doc/source/tools/stress-lwt-example.yaml new file mode 100644 index 000..fc5db08 --- /dev/null +++ b/doc/source/tools/stress-lwt-example.yaml @@ -0,0 +1,70 @@ +# Keyspace Name +keyspace: stresscql + +# The CQL for creating a keyspace (optional if it already exists) +# Would almost always be network topology unless running something locall +keyspace_definition: | + CREATE KEYSPACE stresscql WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; + +# Table name +table: blogposts + +# The CQL for creating a table you wish to stress (optional if it already exists) +table_definition: | + CREATE TABLE blogposts ( +domain text, +published_date timeuuid, +url text, +author text, +title text, +body text, +PRIMARY KEY(domain, published_date) + ) WITH CLUSTERING ORDER BY (published_date DESC) +AND compaction = { 'class':'LeveledCompactionStrategy' } +AND comment='A table to hold blog posts' + +### Column Distribution Specifications ### + +columnspec: + - name: domain +size: gaussian(5..100) #domain names are relatively short +p
[1/6] cassandra git commit: Fix regression of lagging commitlog flush log message
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 38096da25 -> 214a3abfc refs/heads/cassandra-3.11 b92d90dc1 -> 77a12053b refs/heads/trunk 5d8767765 -> 843a5fdf2 Fix regression of lagging commitlog flush log message patch by jasobrown, reviewed by Jordan West for CASSANDRA-14451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/214a3abf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/214a3abf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/214a3abf Branch: refs/heads/cassandra-3.0 Commit: 214a3abfcc25460af50805b543a5833697a1b341 Parents: 38096da Author: Jason Brown Authored: Fri Jun 1 05:45:23 2018 -0700 Committer: Jason Brown Committed: Tue Jun 5 13:47:37 2018 -0700 -- CHANGES.txt | 1 + .../db/commitlog/AbstractCommitLogService.java | 85 +--- .../commitlog/AbstractCommitLogServiceTest.java | 49 ++- 3 files changed, 104 insertions(+), 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/214a3abf/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 16fe6d1..dfdfbfd 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/214a3abf/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java index 1cee55d..0845bd5 100644 --- a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java +++ b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java @@ -29,6 +29,8 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; +import com.google.common.annotations.VisibleForTesting; + public abstract class AbstractCommitLogService { /** @@ -165,13 +167,15 @@ public abstract class AbstractCommitLogService // sync and signal long pollStarted = clock.currentTimeMillis(); -if (lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested) +boolean flushToDisk = lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested; +if (flushToDisk) { // in this branch, we want to flush the commit log to disk syncRequested = false; commitLog.sync(shutdown, true); lastSyncedAt = pollStarted; syncComplete.signalAll(); +syncCount++; } else { @@ -179,41 +183,15 @@ public abstract class AbstractCommitLogService commitLog.sync(false, false); } -// sleep any time we have left before the next one is due long now = clock.currentTimeMillis(); -long sleep = pollStarted + markerIntervalMillis - now; -if (sleep < 0) -{ -// if we have lagged noticeably, update our lag counter -if (firstLagAt == 0) -{ -firstLagAt = now; -totalSyncDuration = syncExceededIntervalBy = syncCount = lagCount = 0; -} -syncExceededIntervalBy -= sleep; -lagCount++; -} -syncCount++; -totalSyncDuration += now - pollStarted; - -if (firstLagAt > 0) -{ -//Only reset the lag tracking if it actually logged this time -boolean logged = NoSpamLogger.log( -logger, -NoSpamLogger.Level.WARN, -5, -TimeUnit.MINUTES, -"Out of {} commit log syncs over the past {}s with average duration of {}ms, {} have exceeded the configured commit interval by an average of {}ms", -syncCount, (now - firstLagAt) / 1000, String.format("%.2f", (double) totalSyncDuration / syncCount),
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/77a12053 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/77a12053 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/77a12053 Branch: refs/heads/trunk Commit: 77a12053b69ceebd529556d5159f9325703283eb Parents: b92d90d 214a3ab Author: Jason Brown Authored: Tue Jun 5 13:48:56 2018 -0700 Committer: Jason Brown Committed: Tue Jun 5 13:50:36 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/77a12053/CHANGES.txt -- diff --cc CHANGES.txt index 2d4ef25,dfdfbfd..2e77d2e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,21 -1,5 +1,22 @@@ -3.0.17 +3.11.3 + * Reduce nodetool GC thread count (CASSANDRA-14475) + * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) + * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) + * Update metrics to 3.1.5 (CASSANDRA-12924) + * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) + * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271) + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/77a12053/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java -- diff --cc src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java index 7c5d300,0845bd5..b7ab705 --- a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java +++ b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java @@@ -17,15 -17,6 +17,16 @@@ */ package org.apache.cassandra.db.commitlog; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.LockSupport; + ++import com.google.common.annotations.VisibleForTesting; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.codahale.metrics.Timer.Context; + import org.apache.cassandra.concurrent.NamedThreadFactory; import org.apache.cassandra.config.Config; import org.apache.cassandra.db.commitlog.CommitLogSegment.Allocation; @@@ -162,14 -160,15 +163,15 @@@ public abstract class AbstractCommitLog boolean sync() { +// always run once after shutdown signalled +boolean shutdownRequested = shutdown; + try { -// always run once after shutdown signalled -boolean run = !shutdown; - // sync and signal -long pollStarted = clock.currentTimeMillis(); -boolean flushToDisk = lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested; +long pollStarted = clock.nanoTime(); - if (lastSyncedAt + syncIntervalNanos <= pollStarted || shutdownRequested || syncRequested) ++boolean flushToDisk = lastSyncedAt + syncIntervalNanos <= pollStarted || shutdownRequested || syncRequested; + if (flushToDisk) { // in this branch, we want to flush the commit log to disk syncRequested = false; @@@ -181,47 -180,30 +183,19 @@@ else { // in
[3/6] cassandra git commit: Fix regression of lagging commitlog flush log message
Fix regression of lagging commitlog flush log message patch by jasobrown, reviewed by Jordan West for CASSANDRA-14451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/214a3abf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/214a3abf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/214a3abf Branch: refs/heads/trunk Commit: 214a3abfcc25460af50805b543a5833697a1b341 Parents: 38096da Author: Jason Brown Authored: Fri Jun 1 05:45:23 2018 -0700 Committer: Jason Brown Committed: Tue Jun 5 13:47:37 2018 -0700 -- CHANGES.txt | 1 + .../db/commitlog/AbstractCommitLogService.java | 85 +--- .../commitlog/AbstractCommitLogServiceTest.java | 49 ++- 3 files changed, 104 insertions(+), 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/214a3abf/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 16fe6d1..dfdfbfd 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/214a3abf/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java index 1cee55d..0845bd5 100644 --- a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java +++ b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java @@ -29,6 +29,8 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; +import com.google.common.annotations.VisibleForTesting; + public abstract class AbstractCommitLogService { /** @@ -165,13 +167,15 @@ public abstract class AbstractCommitLogService // sync and signal long pollStarted = clock.currentTimeMillis(); -if (lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested) +boolean flushToDisk = lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested; +if (flushToDisk) { // in this branch, we want to flush the commit log to disk syncRequested = false; commitLog.sync(shutdown, true); lastSyncedAt = pollStarted; syncComplete.signalAll(); +syncCount++; } else { @@ -179,41 +183,15 @@ public abstract class AbstractCommitLogService commitLog.sync(false, false); } -// sleep any time we have left before the next one is due long now = clock.currentTimeMillis(); -long sleep = pollStarted + markerIntervalMillis - now; -if (sleep < 0) -{ -// if we have lagged noticeably, update our lag counter -if (firstLagAt == 0) -{ -firstLagAt = now; -totalSyncDuration = syncExceededIntervalBy = syncCount = lagCount = 0; -} -syncExceededIntervalBy -= sleep; -lagCount++; -} -syncCount++; -totalSyncDuration += now - pollStarted; - -if (firstLagAt > 0) -{ -//Only reset the lag tracking if it actually logged this time -boolean logged = NoSpamLogger.log( -logger, -NoSpamLogger.Level.WARN, -5, -TimeUnit.MINUTES, -"Out of {} commit log syncs over the past {}s with average duration of {}ms, {} have exceeded the configured commit interval by an average of {}ms", -syncCount, (now - firstLagAt) / 1000, String.format("%.2f", (double) totalSyncDuration / syncCount), lagCount, String.format("%.2f", (double) syncExceededIntervalBy / lagCount)); -if (logged) -firstLagAt = 0; -
[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
[2/6] cassandra git commit: Fix regression of lagging commitlog flush log message
Fix regression of lagging commitlog flush log message patch by jasobrown, reviewed by Jordan West for CASSANDRA-14451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/214a3abf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/214a3abf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/214a3abf Branch: refs/heads/cassandra-3.11 Commit: 214a3abfcc25460af50805b543a5833697a1b341 Parents: 38096da Author: Jason Brown Authored: Fri Jun 1 05:45:23 2018 -0700 Committer: Jason Brown Committed: Tue Jun 5 13:47:37 2018 -0700 -- CHANGES.txt | 1 + .../db/commitlog/AbstractCommitLogService.java | 85 +--- .../commitlog/AbstractCommitLogServiceTest.java | 49 ++- 3 files changed, 104 insertions(+), 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/214a3abf/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 16fe6d1..dfdfbfd 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/214a3abf/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java index 1cee55d..0845bd5 100644 --- a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java +++ b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java @@ -29,6 +29,8 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; +import com.google.common.annotations.VisibleForTesting; + public abstract class AbstractCommitLogService { /** @@ -165,13 +167,15 @@ public abstract class AbstractCommitLogService // sync and signal long pollStarted = clock.currentTimeMillis(); -if (lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested) +boolean flushToDisk = lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested; +if (flushToDisk) { // in this branch, we want to flush the commit log to disk syncRequested = false; commitLog.sync(shutdown, true); lastSyncedAt = pollStarted; syncComplete.signalAll(); +syncCount++; } else { @@ -179,41 +183,15 @@ public abstract class AbstractCommitLogService commitLog.sync(false, false); } -// sleep any time we have left before the next one is due long now = clock.currentTimeMillis(); -long sleep = pollStarted + markerIntervalMillis - now; -if (sleep < 0) -{ -// if we have lagged noticeably, update our lag counter -if (firstLagAt == 0) -{ -firstLagAt = now; -totalSyncDuration = syncExceededIntervalBy = syncCount = lagCount = 0; -} -syncExceededIntervalBy -= sleep; -lagCount++; -} -syncCount++; -totalSyncDuration += now - pollStarted; - -if (firstLagAt > 0) -{ -//Only reset the lag tracking if it actually logged this time -boolean logged = NoSpamLogger.log( -logger, -NoSpamLogger.Level.WARN, -5, -TimeUnit.MINUTES, -"Out of {} commit log syncs over the past {}s with average duration of {}ms, {} have exceeded the configured commit interval by an average of {}ms", -syncCount, (now - firstLagAt) / 1000, String.format("%.2f", (double) totalSyncDuration / syncCount), lagCount, String.format("%.2f", (double) syncExceededIntervalBy / lagCount)); -if (logged) -firstLagAt = 0; -
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/77a12053 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/77a12053 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/77a12053 Branch: refs/heads/cassandra-3.11 Commit: 77a12053b69ceebd529556d5159f9325703283eb Parents: b92d90d 214a3ab Author: Jason Brown Authored: Tue Jun 5 13:48:56 2018 -0700 Committer: Jason Brown Committed: Tue Jun 5 13:50:36 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/77a12053/CHANGES.txt -- diff --cc CHANGES.txt index 2d4ef25,dfdfbfd..2e77d2e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,21 -1,5 +1,22 @@@ -3.0.17 +3.11.3 + * Reduce nodetool GC thread count (CASSANDRA-14475) + * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) + * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) + * Update metrics to 3.1.5 (CASSANDRA-12924) + * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) + * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271) + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/77a12053/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java -- diff --cc src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java index 7c5d300,0845bd5..b7ab705 --- a/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java +++ b/src/java/org/apache/cassandra/db/commitlog/AbstractCommitLogService.java @@@ -17,15 -17,6 +17,16 @@@ */ package org.apache.cassandra.db.commitlog; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.LockSupport; + ++import com.google.common.annotations.VisibleForTesting; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.codahale.metrics.Timer.Context; + import org.apache.cassandra.concurrent.NamedThreadFactory; import org.apache.cassandra.config.Config; import org.apache.cassandra.db.commitlog.CommitLogSegment.Allocation; @@@ -162,14 -160,15 +163,15 @@@ public abstract class AbstractCommitLog boolean sync() { +// always run once after shutdown signalled +boolean shutdownRequested = shutdown; + try { -// always run once after shutdown signalled -boolean run = !shutdown; - // sync and signal -long pollStarted = clock.currentTimeMillis(); -boolean flushToDisk = lastSyncedAt + syncIntervalMillis <= pollStarted || shutdown || syncRequested; +long pollStarted = clock.nanoTime(); - if (lastSyncedAt + syncIntervalNanos <= pollStarted || shutdownRequested || syncRequested) ++boolean flushToDisk = lastSyncedAt + syncIntervalNanos <= pollStarted || shutdownRequested || syncRequested; + if (flushToDisk) { // in this branch, we want to flush the commit log to disk syncRequested = false; @@@ -181,47 -180,30 +183,19 @@@ else {
cassandra git commit: Avoid unneeded memory allocations / cpu for disabled log levels
Repository: cassandra Updated Branches: refs/heads/trunk 069e383f5 -> 4d8fc5b05 Avoid unneeded memory allocations / cpu for disabled log levels patch by Benoit Wiart; reviewed by jasobrown for CASSANDRA-14488 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4d8fc5b0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4d8fc5b0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4d8fc5b0 Branch: refs/heads/trunk Commit: 4d8fc5b050efaef3da818605c31e62b508425972 Parents: 069e383 Author: benoit Authored: Sat Jun 2 11:55:28 2018 +0200 Committer: Jason Brown Committed: Sat Jun 2 05:58:32 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/db/ColumnFamilyStore.java | 3 +- .../apache/cassandra/db/ConsistencyLevel.java | 3 +- src/java/org/apache/cassandra/db/Keyspace.java | 3 +- src/java/org/apache/cassandra/db/Memtable.java | 12 +++--- .../cassandra/db/SizeEstimatesRecorder.java | 9 +++-- .../cassandra/db/TruncateVerbHandler.java | 2 +- .../db/compaction/CompactionManager.java| 6 ++- .../cassandra/db/compaction/CompactionTask.java | 39 +++- .../apache/cassandra/gms/TokenSerializer.java | 3 +- ...mitedLocalNodeFirstLocalBalancingPolicy.java | 3 +- .../io/sstable/IndexSummaryRedistribution.java | 16 .../io/sstable/format/SSTableReader.java| 6 ++- .../io/sstable/metadata/MetadataSerializer.java | 8 ++-- .../net/async/InboundHandshakeHandler.java | 3 +- .../apache/cassandra/repair/RepairSession.java | 3 +- .../cassandra/streaming/StreamCoordinator.java | 3 +- .../async/NettyStreamingMessageSender.java | 28 +- .../async/StreamingInboundHandler.java | 7 +++- .../apache/cassandra/utils/JMXServerUtils.java | 17 + 20 files changed, 106 insertions(+), 69 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d8fc5b0/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b94fc62..179e7bb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d8fc5b0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 122b783..4be65c6 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -2002,7 +2002,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean ephemeralSnapshotMarker.getParentFile().mkdirs(); Files.createFile(ephemeralSnapshotMarker.toPath()); -logger.trace("Created ephemeral snapshot marker file on {}.", ephemeralSnapshotMarker.getAbsolutePath()); +if (logger.isTraceEnabled()) +logger.trace("Created ephemeral snapshot marker file on {}.", ephemeralSnapshotMarker.getAbsolutePath()); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d8fc5b0/src/java/org/apache/cassandra/db/ConsistencyLevel.java -- diff --git a/src/java/org/apache/cassandra/db/ConsistencyLevel.java b/src/java/org/apache/cassandra/db/ConsistencyLevel.java index 840c174..8f3a51c 100644 --- a/src/java/org/apache/cassandra/db/ConsistencyLevel.java +++ b/src/java/org/apache/cassandra/db/ConsistencyLevel.java @@ -293,7 +293,8 @@ public enum ConsistencyLevel int live = Iterables.size(liveEndpoints); if (live < blockFor) { -logger.trace("Live nodes {} do not satisfy ConsistencyLevel ({} required)", Iterables.toString(liveEndpoints), blockFor); +if (logger.isTraceEnabled()) +logger.trace("Live nodes {} do not satisfy ConsistencyLevel ({} required)", Iterables.toString(liveEndpoints), blockFor); throw new UnavailableException(this, blockFor, live); } break; http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d8fc5b0/src/java/org/apache/cassandra/db/Keyspace.java ---
[1/3] cassandra git commit: Reduce nodetool GC thread count
Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 7068ef625 -> b8cbdde2b refs/heads/trunk 0d464cd25 -> c5285d21c Reduce nodetool GC thread count patch by Thomas Steinmaurer; reviewed by jasobrown for CASSANDRA-14475 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8cbdde2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8cbdde2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8cbdde2 Branch: refs/heads/cassandra-3.11 Commit: b8cbdde2b854229d950d7087ac1847f8453d2b1e Parents: 7068ef6 Author: Thomas Steinmaurer Authored: Tue May 29 05:19:26 2018 -0700 Committer: Jason Brown Committed: Tue May 29 05:19:26 2018 -0700 -- CHANGES.txt | 1 + bin/nodetool | 1 + 2 files changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8cbdde2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 87e7c24..3879a55 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Reduce nodetool GC thread count (CASSANDRA-14475) * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) * Update metrics to 3.1.5 (CASSANDRA-12924) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8cbdde2/bin/nodetool -- diff --git a/bin/nodetool b/bin/nodetool index b1cfba5..6456b19 100755 --- a/bin/nodetool +++ b/bin/nodetool @@ -106,6 +106,7 @@ if [ "x$MAX_HEAP_SIZE" = "x" ]; then fi "$JAVA" $JAVA_AGENT -ea -cp "$CLASSPATH" $JVM_OPTS -Xmx$MAX_HEAP_SIZE \ +-XX:ParallelGCThreads=1 \ -Dcassandra.storagedir="$cassandra_storagedir" \ -Dlogback.configurationFile=logback-tools.xml \ $JVM_ARGS \ - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[3/3] 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/c5285d21 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c5285d21 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c5285d21 Branch: refs/heads/trunk Commit: c5285d21c12ea44dffc884dfc4393450651a07cb Parents: 0d464cd b8cbdde Author: Jason Brown Authored: Tue May 29 05:20:28 2018 -0700 Committer: Jason Brown Committed: Tue May 29 05:21:36 2018 -0700 -- CHANGES.txt | 1 + bin/nodetool | 1 + 2 files changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c5285d21/CHANGES.txt -- diff --cc CHANGES.txt index e7e5ecb,3879a55..111f644 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,251 -1,8 +1,252 @@@ +4.0 + * 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) + * Client TOPOLOGY_CHANGE messages have wrong port. (CASSANDRA-14398) + * Add ability to load new SSTables from a separate directory (CASSANDRA-6719) + * Eliminate background repair and probablistic read_repair_chance table options + (CASSANDRA-13910) + * Bind to correct local address in 4.0 streaming (CASSANDRA-14362) + * Use standard Amazon naming for datacenter and rack in Ec2Snitch (CASSANDRA-7839) + * Fix junit failure for SSTableReaderTest (CASSANDRA-14387) + * Abstract write path for pluggable storage (CASSANDRA-14118) + * nodetool describecluster should be more informative (CASSANDRA-13853) + * Compaction performance improvements (CASSANDRA-14261) + * Refactor Pair usage to avoid boxing ints/longs (CASSANDRA-14260) + * Add options to nodetool tablestats to sort and limit output (CASSANDRA-13889) + * Rename internals to reflect CQL vocabulary (CASSANDRA-14354) + * Add support for hybrid MIN(), MAX() speculative retry policies + (CASSANDRA-14293, CASSANDRA-14338, CASSANDRA-14352) + * Fix some regressions caused by 14058 (CASSANDRA-14353) + * Abstract repair for pluggable storage (CASSANDRA-14116) + * Add meaningful toString() impls (CASSANDRA-13653) + * Add sstableloader option to accept target keyspace name (CASSANDRA-13884) + * Move processing of EchoMessage response to gossip stage (CASSANDRA-13713) + * Add coordinator write metric per CF (CASSANDRA-14232) + * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314) + * Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315) + * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322) + * Add ability to specify driver name and version (CASSANDRA-14275) + * Abstract streaming for pluggable storage (CASSANDRA-14115) + * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294) + * 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
[2/3] cassandra git commit: Reduce nodetool GC thread count
Reduce nodetool GC thread count patch by Thomas Steinmaurer; reviewed by jasobrown for CASSANDRA-14475 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8cbdde2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8cbdde2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8cbdde2 Branch: refs/heads/trunk Commit: b8cbdde2b854229d950d7087ac1847f8453d2b1e Parents: 7068ef6 Author: Thomas Steinmaurer Authored: Tue May 29 05:19:26 2018 -0700 Committer: Jason Brown Committed: Tue May 29 05:19:26 2018 -0700 -- CHANGES.txt | 1 + bin/nodetool | 1 + 2 files changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8cbdde2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 87e7c24..3879a55 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Reduce nodetool GC thread count (CASSANDRA-14475) * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) * Update metrics to 3.1.5 (CASSANDRA-12924) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8cbdde2/bin/nodetool -- diff --git a/bin/nodetool b/bin/nodetool index b1cfba5..6456b19 100755 --- a/bin/nodetool +++ b/bin/nodetool @@ -106,6 +106,7 @@ if [ "x$MAX_HEAP_SIZE" = "x" ]; then fi "$JAVA" $JAVA_AGENT -ea -cp "$CLASSPATH" $JVM_OPTS -Xmx$MAX_HEAP_SIZE \ +-XX:ParallelGCThreads=1 \ -Dcassandra.storagedir="$cassandra_storagedir" \ -Dlogback.configurationFile=logback-tools.xml \ $JVM_ARGS \ - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Bump jackson version to >= 2.9.5
Repository: cassandra Updated Branches: refs/heads/trunk 43205143b -> 76ef78b7d Bump jackson version to >= 2.9.5 patch by Lerh Chuan Low; reviewed by jasobrown for CASSANDRA-14427 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/76ef78b7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/76ef78b7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/76ef78b7 Branch: refs/heads/trunk Commit: 76ef78b7d74972bd235159ca304648ab439fb715 Parents: 4320514 Author: Lerh Chuan Low <l...@instaclustr.com> Authored: Mon Apr 30 10:47:16 2018 +1000 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu May 17 22:26:54 2018 -0700 -- CHANGES.txt | 1 + build.xml | 10 +- lib/jackson-annotations-2.9.5.jar | Bin 0 -> 66983 bytes lib/jackson-core-2.9.5.jar | Bin 0 -> 321590 bytes lib/jackson-core-asl-1.9.13.jar | Bin 232248 -> 0 bytes lib/jackson-databind-2.9.5.jar | Bin 0 -> 1342410 bytes lib/jackson-mapper-asl-1.9.13.jar | Bin 780664 -> 0 bytes lib/licenses/jackson-annotations-2.9.5.txt | 202 +++ lib/licenses/jackson-core-2.9.5.txt | 202 +++ lib/licenses/jackson-core-asl-1.9.13.txt| 202 --- lib/licenses/jackson-databind-2.9.5.txt | 202 +++ lib/licenses/jackson-mapper-asl-1.9.13.txt | 202 --- src/java/org/apache/cassandra/cql3/Json.java| 6 +- .../db/compaction/CompactionLogger.java | 28 +-- .../compaction/CompactionStrategyManager.java | 2 +- .../DateTieredCompactionStrategy.java | 6 +- .../compaction/LeveledCompactionStrategy.java | 6 +- .../apache/cassandra/tools/JsonTransformer.java | 20 +- .../org/apache/cassandra/utils/FBUtilities.java | 6 +- .../db/marshal/JsonConversionTest.java | 3 +- 20 files changed, 652 insertions(+), 446 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 097db1d..a36a990 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/build.xml -- diff --git a/build.xml b/build.xml index e3724ca..544b696 100644 --- a/build.xml +++ b/build.xml @@ -385,8 +385,9 @@ - - + + + @@ -598,8 +599,9 @@ - - + + + http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/lib/jackson-annotations-2.9.5.jar -- diff --git a/lib/jackson-annotations-2.9.5.jar b/lib/jackson-annotations-2.9.5.jar new file mode 100644 index 000..98ea004 Binary files /dev/null and b/lib/jackson-annotations-2.9.5.jar differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/lib/jackson-core-2.9.5.jar -- diff --git a/lib/jackson-core-2.9.5.jar b/lib/jackson-core-2.9.5.jar new file mode 100644 index 000..b70d1ef Binary files /dev/null and b/lib/jackson-core-2.9.5.jar differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/lib/jackson-core-asl-1.9.13.jar -- diff --git a/lib/jackson-core-asl-1.9.13.jar b/lib/jackson-core-asl-1.9.13.jar deleted file mode 100644 index bb4fe1d..000 Binary files a/lib/jackson-core-asl-1.9.13.jar and /dev/null differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/lib/jackson-databind-2.9.5.jar -- diff --git a/lib/jackson-databind-2.9.5.jar b/lib/jackson-databind-2.9.5.jar new file mode 100644 index 000..7a95150 Binary files /dev/null and b/lib/jackson-databind-2.9.5.jar differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/76ef78b7/lib/jackson-mapper-asl-1.9.13.jar -- diff --git a/lib/jackson-mapper-asl-1.9.13.jar b/lib/jackson-mapper-asl
[3/6] cassandra git commit: Cleanup StartupClusterConnectivityChecker and PING Verb
Cleanup StartupClusterConnectivityChecker and PING Verb patch by jasobrown; reviewed by Ariel Weisberg for CASSANDRA-14447 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/06b3521a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/06b3521a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/06b3521a Branch: refs/heads/trunk Commit: 06b3521acdb21dd3d85902d59146b9d08ad7d752 Parents: 6efa99c Author: Jason Brown <jasedbr...@gmail.com> Authored: Fri Apr 6 11:47:35 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu May 17 10:34:31 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/net/MessagingService.java | 15 - .../org/apache/cassandra/net/PingMessage.java | 60 3 files changed, 73 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3da808a..1293bd4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java index e0f77b7..047f51f 100644 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@ -147,13 +147,20 @@ public final class MessagingService implements MessagingServiceMBean PAXOS_PROPOSE, PAXOS_COMMIT, @Deprecated PAGED_RANGE, -// remember to add new verbs at the end, since we serialize by ordinal -UNUSED_1, +PING, + +// UNUSED verbs were used as padding for backward/forward compatability before 4.0, +// but it wasn't quite as bullet/future proof as needed. We still need to keep these entries +// around, at least for a major rev or two (post-4.0). see CASSANDRA-13993 for a discussion. +// For now, though, the UNUSED are legacy values (placeholders, basically) that should only be used +// for correctly adding VERBs that need to be emergency additions to 3.0/3.11. +// We can reclaim them (their id's, to be correct) in future versions, if desired, though. UNUSED_2, UNUSED_3, UNUSED_4, UNUSED_5, ; +// remember to add new verbs at the end, since we serialize by ordinal // This is to support a "late" choice of the verb based on the messaging service version. // See CASSANDRA-12249 for more details. @@ -210,9 +217,10 @@ public final class MessagingService implements MessagingServiceMBean put(Verb.SNAPSHOT, Stage.MISC); put(Verb.ECHO, Stage.GOSSIP); -put(Verb.UNUSED_1, Stage.INTERNAL_RESPONSE); put(Verb.UNUSED_2, Stage.INTERNAL_RESPONSE); put(Verb.UNUSED_3, Stage.INTERNAL_RESPONSE); + +put(Verb.PING, Stage.READ); }}; /** @@ -251,6 +259,7 @@ public final class MessagingService implements MessagingServiceMBean put(Verb.HINT, HintMessage.serializer); put(Verb.BATCH_STORE, Batch.serializer); put(Verb.BATCH_REMOVE, UUIDSerializer.serializer); +put(Verb.PING, PingMessage.serializer); }}; /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/src/java/org/apache/cassandra/net/PingMessage.java -- diff --git a/src/java/org/apache/cassandra/net/PingMessage.java b/src/java/org/apache/cassandra/net/PingMessage.java new file mode 100644 index 000..8eaf23e --- /dev/null +++ b/src/java/org/apache/cassandra/net/PingMessage.java @@ -0,0 +1,60 @@ +/* + * 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
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d4aacc8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d4aacc8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d4aacc8 Branch: refs/heads/trunk Commit: 0d4aacc832b1ffa428970d5c0e235d54585e22c2 Parents: ab8348c 06b3521 Author: Jason BrownAuthored: Thu May 17 10:34:56 2018 -0700 Committer: Jason Brown Committed: Thu May 17 10:35:36 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/net/MessagingService.java | 14 - .../org/apache/cassandra/net/PingMessage.java | 60 3 files changed, 72 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d4aacc8/CHANGES.txt -- diff --cc CHANGES.txt index d70b381,1293bd4..87e7c24 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,20 -1,5 +1,21 @@@ -3.0.17 +3.11.3 + * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) + * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) + * Update metrics to 3.1.5 (CASSANDRA-12924) + * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) + * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271) + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d4aacc8/src/java/org/apache/cassandra/net/MessagingService.java -- diff --cc src/java/org/apache/cassandra/net/MessagingService.java index 027e218,047f51f..59ed8f3 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@@ -206,36 -143,18 +206,41 @@@ public final class MessagingService imp _TRACE, // dummy verb so we can use MS.droppedMessagesMap ECHO, REPAIR_MESSAGE, -PAXOS_PREPARE, -PAXOS_PROPOSE, -PAXOS_COMMIT, -@Deprecated PAGED_RANGE, +PAXOS_PREPARE +{ +public long getTimeout() +{ +return DatabaseDescriptor.getWriteRpcTimeout(); +} +}, +PAXOS_PROPOSE +{ +public long getTimeout() +{ +return DatabaseDescriptor.getWriteRpcTimeout(); +} +}, +PAXOS_COMMIT +{ +public long getTimeout() +{ +return DatabaseDescriptor.getWriteRpcTimeout(); +} +}, +@Deprecated PAGED_RANGE +{ +public long getTimeout() +{ +return DatabaseDescriptor.getRangeRpcTimeout(); +} +}, - // remember to add new verbs at the end, since we serialize by ordinal - UNUSED_1, + PING, - + // UNUSED verbs were used as padding for backward/forward compatability before 4.0, + // but it wasn't quite as bullet/future proof as needed. We still need to keep these entries + // around, at least for a major rev or two (post-4.0). see CASSANDRA-13993 for a discussion. + // For now, though, the UNUSED are legacy values (placeholders, basically) that should only be used + // for correctly adding VERBs that need to be emergency additions to 3.0/3.11. + // We can reclaim them (their id's, to be correct) in future versions, if desired, though. UNUSED_2,
[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
[2/6] cassandra git commit: Cleanup StartupClusterConnectivityChecker and PING Verb
Cleanup StartupClusterConnectivityChecker and PING Verb patch by jasobrown; reviewed by Ariel Weisberg for CASSANDRA-14447 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/06b3521a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/06b3521a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/06b3521a Branch: refs/heads/cassandra-3.11 Commit: 06b3521acdb21dd3d85902d59146b9d08ad7d752 Parents: 6efa99c Author: Jason Brown <jasedbr...@gmail.com> Authored: Fri Apr 6 11:47:35 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu May 17 10:34:31 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/net/MessagingService.java | 15 - .../org/apache/cassandra/net/PingMessage.java | 60 3 files changed, 73 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3da808a..1293bd4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java index e0f77b7..047f51f 100644 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@ -147,13 +147,20 @@ public final class MessagingService implements MessagingServiceMBean PAXOS_PROPOSE, PAXOS_COMMIT, @Deprecated PAGED_RANGE, -// remember to add new verbs at the end, since we serialize by ordinal -UNUSED_1, +PING, + +// UNUSED verbs were used as padding for backward/forward compatability before 4.0, +// but it wasn't quite as bullet/future proof as needed. We still need to keep these entries +// around, at least for a major rev or two (post-4.0). see CASSANDRA-13993 for a discussion. +// For now, though, the UNUSED are legacy values (placeholders, basically) that should only be used +// for correctly adding VERBs that need to be emergency additions to 3.0/3.11. +// We can reclaim them (their id's, to be correct) in future versions, if desired, though. UNUSED_2, UNUSED_3, UNUSED_4, UNUSED_5, ; +// remember to add new verbs at the end, since we serialize by ordinal // This is to support a "late" choice of the verb based on the messaging service version. // See CASSANDRA-12249 for more details. @@ -210,9 +217,10 @@ public final class MessagingService implements MessagingServiceMBean put(Verb.SNAPSHOT, Stage.MISC); put(Verb.ECHO, Stage.GOSSIP); -put(Verb.UNUSED_1, Stage.INTERNAL_RESPONSE); put(Verb.UNUSED_2, Stage.INTERNAL_RESPONSE); put(Verb.UNUSED_3, Stage.INTERNAL_RESPONSE); + +put(Verb.PING, Stage.READ); }}; /** @@ -251,6 +259,7 @@ public final class MessagingService implements MessagingServiceMBean put(Verb.HINT, HintMessage.serializer); put(Verb.BATCH_STORE, Batch.serializer); put(Verb.BATCH_REMOVE, UUIDSerializer.serializer); +put(Verb.PING, PingMessage.serializer); }}; /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/src/java/org/apache/cassandra/net/PingMessage.java -- diff --git a/src/java/org/apache/cassandra/net/PingMessage.java b/src/java/org/apache/cassandra/net/PingMessage.java new file mode 100644 index 000..8eaf23e --- /dev/null +++ b/src/java/org/apache/cassandra/net/PingMessage.java @@ -0,0 +1,60 @@ +/* + * 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
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d4aacc8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d4aacc8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d4aacc8 Branch: refs/heads/cassandra-3.11 Commit: 0d4aacc832b1ffa428970d5c0e235d54585e22c2 Parents: ab8348c 06b3521 Author: Jason BrownAuthored: Thu May 17 10:34:56 2018 -0700 Committer: Jason Brown Committed: Thu May 17 10:35:36 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/net/MessagingService.java | 14 - .../org/apache/cassandra/net/PingMessage.java | 60 3 files changed, 72 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d4aacc8/CHANGES.txt -- diff --cc CHANGES.txt index d70b381,1293bd4..87e7c24 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,20 -1,5 +1,21 @@@ -3.0.17 +3.11.3 + * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) + * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) + * Update metrics to 3.1.5 (CASSANDRA-12924) + * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) + * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271) + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d4aacc8/src/java/org/apache/cassandra/net/MessagingService.java -- diff --cc src/java/org/apache/cassandra/net/MessagingService.java index 027e218,047f51f..59ed8f3 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@@ -206,36 -143,18 +206,41 @@@ public final class MessagingService imp _TRACE, // dummy verb so we can use MS.droppedMessagesMap ECHO, REPAIR_MESSAGE, -PAXOS_PREPARE, -PAXOS_PROPOSE, -PAXOS_COMMIT, -@Deprecated PAGED_RANGE, +PAXOS_PREPARE +{ +public long getTimeout() +{ +return DatabaseDescriptor.getWriteRpcTimeout(); +} +}, +PAXOS_PROPOSE +{ +public long getTimeout() +{ +return DatabaseDescriptor.getWriteRpcTimeout(); +} +}, +PAXOS_COMMIT +{ +public long getTimeout() +{ +return DatabaseDescriptor.getWriteRpcTimeout(); +} +}, +@Deprecated PAGED_RANGE +{ +public long getTimeout() +{ +return DatabaseDescriptor.getRangeRpcTimeout(); +} +}, - // remember to add new verbs at the end, since we serialize by ordinal - UNUSED_1, + PING, - + // UNUSED verbs were used as padding for backward/forward compatability before 4.0, + // but it wasn't quite as bullet/future proof as needed. We still need to keep these entries + // around, at least for a major rev or two (post-4.0). see CASSANDRA-13993 for a discussion. + // For now, though, the UNUSED are legacy values (placeholders, basically) that should only be used + // for correctly adding VERBs that need to be emergency additions to 3.0/3.11. + // We can reclaim them (their id's, to be correct) in future versions, if desired, though.
[1/6] cassandra git commit: Cleanup StartupClusterConnectivityChecker and PING Verb
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 6efa99c7a -> 06b3521ac refs/heads/cassandra-3.11 ab8348c57 -> 0d4aacc83 refs/heads/trunk e210a05a5 -> d585410cc Cleanup StartupClusterConnectivityChecker and PING Verb patch by jasobrown; reviewed by Ariel Weisberg for CASSANDRA-14447 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/06b3521a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/06b3521a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/06b3521a Branch: refs/heads/cassandra-3.0 Commit: 06b3521acdb21dd3d85902d59146b9d08ad7d752 Parents: 6efa99c Author: Jason Brown <jasedbr...@gmail.com> Authored: Fri Apr 6 11:47:35 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu May 17 10:34:31 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/net/MessagingService.java | 15 - .../org/apache/cassandra/net/PingMessage.java | 60 3 files changed, 73 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3da808a..1293bd4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java index e0f77b7..047f51f 100644 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@ -147,13 +147,20 @@ public final class MessagingService implements MessagingServiceMBean PAXOS_PROPOSE, PAXOS_COMMIT, @Deprecated PAGED_RANGE, -// remember to add new verbs at the end, since we serialize by ordinal -UNUSED_1, +PING, + +// UNUSED verbs were used as padding for backward/forward compatability before 4.0, +// but it wasn't quite as bullet/future proof as needed. We still need to keep these entries +// around, at least for a major rev or two (post-4.0). see CASSANDRA-13993 for a discussion. +// For now, though, the UNUSED are legacy values (placeholders, basically) that should only be used +// for correctly adding VERBs that need to be emergency additions to 3.0/3.11. +// We can reclaim them (their id's, to be correct) in future versions, if desired, though. UNUSED_2, UNUSED_3, UNUSED_4, UNUSED_5, ; +// remember to add new verbs at the end, since we serialize by ordinal // This is to support a "late" choice of the verb based on the messaging service version. // See CASSANDRA-12249 for more details. @@ -210,9 +217,10 @@ public final class MessagingService implements MessagingServiceMBean put(Verb.SNAPSHOT, Stage.MISC); put(Verb.ECHO, Stage.GOSSIP); -put(Verb.UNUSED_1, Stage.INTERNAL_RESPONSE); put(Verb.UNUSED_2, Stage.INTERNAL_RESPONSE); put(Verb.UNUSED_3, Stage.INTERNAL_RESPONSE); + +put(Verb.PING, Stage.READ); }}; /** @@ -251,6 +259,7 @@ public final class MessagingService implements MessagingServiceMBean put(Verb.HINT, HintMessage.serializer); put(Verb.BATCH_STORE, Batch.serializer); put(Verb.BATCH_REMOVE, UUIDSerializer.serializer); +put(Verb.PING, PingMessage.serializer); }}; /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/06b3521a/src/java/org/apache/cassandra/net/PingMessage.java -- diff --git a/src/java/org/apache/cassandra/net/PingMessage.java b/src/java/org/apache/cassandra/net/PingMessage.java new file mode 100644 index 000..8eaf23e --- /dev/null +++ b/src/java/org/apache/cassandra/net/PingMessage.java @@ -0,0 +1,60 @@ +/* + * 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
[2/3] cassandra git commit: Fix New SASI view creation during Index Redistribution
Fix New SASI view creation during Index Redistribution patch by Jordan West; reviewed by jasobrown for CASSANDRA-14055 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ab8348c5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ab8348c5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ab8348c5 Branch: refs/heads/trunk Commit: ab8348c578c0bb2d3baefaf387b4d9bc67f4c861 Parents: 704f9b0 Author: Jordan West <jorda...@gmail.com> Authored: Mon Feb 12 21:18:21 2018 -0800 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Mon May 14 12:43:27 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/index/sasi/conf/view/View.java| 10 ++- .../cassandra/index/sasi/SASIIndexTest.java | 73 3 files changed, 82 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab8348c5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0e4346b..d70b381 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) * Update metrics to 3.1.5 (CASSANDRA-12924) * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab8348c5/src/java/org/apache/cassandra/index/sasi/conf/view/View.java -- diff --git a/src/java/org/apache/cassandra/index/sasi/conf/view/View.java b/src/java/org/apache/cassandra/index/sasi/conf/view/View.java index 25f32d9..b0afc5b 100644 --- a/src/java/org/apache/cassandra/index/sasi/conf/view/View.java +++ b/src/java/org/apache/cassandra/index/sasi/conf/view/View.java @@ -19,6 +19,7 @@ package org.apache.cassandra.index.sasi.conf.view; import java.nio.ByteBuffer; import java.util.*; +import java.util.stream.Collectors; import org.apache.cassandra.index.sasi.SSTableIndex; import org.apache.cassandra.index.sasi.conf.ColumnIndex; @@ -59,10 +60,15 @@ public class View implements Iterable : new RangeTermTree.Builder(index.getMode().mode, validator); List<Interval<Key, SSTableIndex>> keyIntervals = new ArrayList<>(); -for (SSTableIndex sstableIndex : Iterables.concat(currentView, newIndexes)) +// Ensure oldSSTables and newIndexes are disjoint (in index redistribution case the intersection can be non-empty). +// also favor newIndexes over currentView in case an SSTable has been re-opened (also occurs during redistribution) +// See CASSANDRA-14055 +Collection toRemove = new HashSet<>(oldSSTables); + toRemove.removeAll(newIndexes.stream().map(SSTableIndex::getSSTable).collect(Collectors.toSet())); +for (SSTableIndex sstableIndex : Iterables.concat(newIndexes, currentView)) { SSTableReader sstable = sstableIndex.getSSTable(); -if (oldSSTables.contains(sstable) || sstable.isMarkedCompacted() || newView.containsKey(sstable.descriptor)) +if (toRemove.contains(sstable) || sstable.isMarkedCompacted() || newView.containsKey(sstable.descriptor)) { sstableIndex.release(); continue; http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab8348c5/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java index 1b2f97d..a57af61 100644 --- a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java +++ b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java @@ -18,6 +18,7 @@ package org.apache.cassandra.index.sasi; import java.io.FileWriter; +import java.io.IOException; import java.io.Writer; import java.nio.ByteBuffer; import java.nio.file.FileSystems; @@ -60,6 +61,7 @@ import org.apache.cassandra.index.sasi.exceptions.TimeQuotaExceededException; import org.apache.cassandra.index.sasi.memory.IndexMemtable; import org.apache.cassandra.index.sasi.plan.QueryController; import org.apache.cassandra.index.sasi.plan.QueryPlan; +import org.apache.cassandra.io.sstable.IndexSummaryManager; import org.apache.cassandra.io.sstable.SSTable; import org.apache.cassandra.schema.IndexMetadata; import org.apache.cassandra.schema.KeyspaceMetadata; @@ -898,6 +900,77 @@ public class SASIIndexTest } @Test +public void testIndexRedistribution() throws IOException +{ +
[1/3] cassandra git commit: Fix New SASI view creation during Index Redistribution
Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 704f9b093 -> ab8348c57 refs/heads/trunk ecf52ed3f -> e210a05a5 Fix New SASI view creation during Index Redistribution patch by Jordan West; reviewed by jasobrown for CASSANDRA-14055 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ab8348c5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ab8348c5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ab8348c5 Branch: refs/heads/cassandra-3.11 Commit: ab8348c578c0bb2d3baefaf387b4d9bc67f4c861 Parents: 704f9b0 Author: Jordan West <jorda...@gmail.com> Authored: Mon Feb 12 21:18:21 2018 -0800 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Mon May 14 12:43:27 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/index/sasi/conf/view/View.java| 10 ++- .../cassandra/index/sasi/SASIIndexTest.java | 73 3 files changed, 82 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab8348c5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0e4346b..d70b381 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055) * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416) * Update metrics to 3.1.5 (CASSANDRA-12924) * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab8348c5/src/java/org/apache/cassandra/index/sasi/conf/view/View.java -- diff --git a/src/java/org/apache/cassandra/index/sasi/conf/view/View.java b/src/java/org/apache/cassandra/index/sasi/conf/view/View.java index 25f32d9..b0afc5b 100644 --- a/src/java/org/apache/cassandra/index/sasi/conf/view/View.java +++ b/src/java/org/apache/cassandra/index/sasi/conf/view/View.java @@ -19,6 +19,7 @@ package org.apache.cassandra.index.sasi.conf.view; import java.nio.ByteBuffer; import java.util.*; +import java.util.stream.Collectors; import org.apache.cassandra.index.sasi.SSTableIndex; import org.apache.cassandra.index.sasi.conf.ColumnIndex; @@ -59,10 +60,15 @@ public class View implements Iterable : new RangeTermTree.Builder(index.getMode().mode, validator); List<Interval<Key, SSTableIndex>> keyIntervals = new ArrayList<>(); -for (SSTableIndex sstableIndex : Iterables.concat(currentView, newIndexes)) +// Ensure oldSSTables and newIndexes are disjoint (in index redistribution case the intersection can be non-empty). +// also favor newIndexes over currentView in case an SSTable has been re-opened (also occurs during redistribution) +// See CASSANDRA-14055 +Collection toRemove = new HashSet<>(oldSSTables); + toRemove.removeAll(newIndexes.stream().map(SSTableIndex::getSSTable).collect(Collectors.toSet())); +for (SSTableIndex sstableIndex : Iterables.concat(newIndexes, currentView)) { SSTableReader sstable = sstableIndex.getSSTable(); -if (oldSSTables.contains(sstable) || sstable.isMarkedCompacted() || newView.containsKey(sstable.descriptor)) +if (toRemove.contains(sstable) || sstable.isMarkedCompacted() || newView.containsKey(sstable.descriptor)) { sstableIndex.release(); continue; http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab8348c5/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java index 1b2f97d..a57af61 100644 --- a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java +++ b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java @@ -18,6 +18,7 @@ package org.apache.cassandra.index.sasi; import java.io.FileWriter; +import java.io.IOException; import java.io.Writer; import java.nio.ByteBuffer; import java.nio.file.FileSystems; @@ -60,6 +61,7 @@ import org.apache.cassandra.index.sasi.exceptions.TimeQuotaExceededException; import org.apache.cassandra.index.sasi.memory.IndexMemtable; import org.apache.cassandra.index.sasi.plan.QueryController; import org.apache.cassandra.index.sasi.plan.QueryPlan; +import org.apache.cassandra.io.sstable.IndexSummaryManager; import org.apache.cassandra.io.sstable.SSTable; import org.apache.cassandra.schema.IndexMetadata; import org.apache.cassandra.schema.KeyspaceM
[3/3] 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/e210a05a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e210a05a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e210a05a Branch: refs/heads/trunk Commit: e210a05a55e40ce89bd1f51960177971bfda8596 Parents: ecf52ed ab8348c Author: Jason BrownAuthored: Mon May 14 12:44:38 2018 -0700 Committer: Jason Brown Committed: Mon May 14 12:46:34 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/index/sasi/conf/view/View.java| 10 ++- .../cassandra/index/sasi/SASIIndexTest.java | 77 3 files changed, 86 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e210a05a/CHANGES.txt -- diff --cc CHANGES.txt index 01c67f4,d70b381..cfe56c6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,247 -1,7 +1,248 @@@ +4.0 + * 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) + * Client TOPOLOGY_CHANGE messages have wrong port. (CASSANDRA-14398) + * Add ability to load new SSTables from a separate directory (CASSANDRA-6719) + * Eliminate background repair and probablistic read_repair_chance table options + (CASSANDRA-13910) + * Bind to correct local address in 4.0 streaming (CASSANDRA-14362) + * Use standard Amazon naming for datacenter and rack in Ec2Snitch (CASSANDRA-7839) + * Fix junit failure for SSTableReaderTest (CASSANDRA-14387) + * Abstract write path for pluggable storage (CASSANDRA-14118) + * nodetool describecluster should be more informative (CASSANDRA-13853) + * Compaction performance improvements (CASSANDRA-14261) + * Refactor Pair usage to avoid boxing ints/longs (CASSANDRA-14260) + * Add options to nodetool tablestats to sort and limit output (CASSANDRA-13889) + * Rename internals to reflect CQL vocabulary (CASSANDRA-14354) + * Add support for hybrid MIN(), MAX() speculative retry policies + (CASSANDRA-14293, CASSANDRA-14338, CASSANDRA-14352) + * Fix some regressions caused by 14058 (CASSANDRA-14353) + * Abstract repair for pluggable storage (CASSANDRA-14116) + * Add meaningful toString() impls (CASSANDRA-13653) + * Add sstableloader option to accept target keyspace name (CASSANDRA-13884) + * Move processing of EchoMessage response to gossip stage (CASSANDRA-13713) + * Add coordinator write metric per CF (CASSANDRA-14232) + * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314) + * Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315) + * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322) + * Add ability to specify driver name and version (CASSANDRA-14275) + * Abstract streaming for pluggable storage (CASSANDRA-14115) + * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294) + * 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
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/443088fd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/443088fd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/443088fd Branch: refs/heads/trunk Commit: 443088fd13ce8ad71fa96389095bfb117f65c6bd Parents: 14bfc94 b9b2a4e Author: Jason BrownAuthored: Sat May 12 05:29:20 2018 -0700 Committer: Jason Brown Committed: Sat May 12 05:31:34 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/443088fd/CHANGES.txt -- diff --cc CHANGES.txt index fc643ad,7c557f7..3e8f687 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,18 -1,5 +1,19 @@@ -3.0.17 +3.11.3 + * Update metrics to 3.1.5 (CASSANDRA-12924) + * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) + * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271) + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * 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) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) http://git-wip-us.apache.org/repos/asf/cassandra/blob/443088fd/conf/cassandra-env.ps1 -- diff --cc conf/cassandra-env.ps1 index 49d03ce,74511f0..c78a3fc --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@@ -390,9 -390,36 +390,9 @@@ Function SetCassandraEnvironmen if ($env:CASSANDRA_HEAPDUMP_DIR) { $unixTimestamp = [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds - $env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof" + $env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=""$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof""" } -if ($env:JVM_VERSION.CompareTo("1.8.0") -eq -1 -or [convert]::ToInt32($env:JVM_PATCH_VERSION) -lt 40) -{ -echo "Cassandra 3.0 and later require Java 8u40 or later." -exit -} - -# enable assertions. disabling this in production will give a modest -# performance benefit (around 5%). -$env:JVM_OPTS = "$env:JVM_OPTS -ea" - -# Specifies the default port over which Cassandra will be available for -# JMX connections. -$JMX_PORT="7199" - -# store in env to check if it's avail in verification -$env:JMX_PORT=$JMX_PORT - -# enable thread priorities, primarily so we can give periodic tasks -# a lower priority to avoid interfering with client workload -$env:JVM_OPTS="$env:JVM_OPTS -XX:+UseThreadPriorities" -# allows lowering thread priority without being root on linux - probably -# not necessary on Windows but doesn't harm anything. -# see http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workar -$env:JVM_OPTS="$env:JVM_OPTS -XX:ThreadPriorityPolicy=42" - -$env:JVM_OPTS="$env:JVM_OPTS -XX:+HeapDumpOnOutOfMemoryError" - # stop the jvm on OutOfMemoryError as it can result in some data corruption # uncomment the preferred option # ExitOnOutOfMemoryError and CrashOnOutOfMemoryError require a JRE greater or equals to 1.7 update 101 or 1.8 update 92 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/6] cassandra git commit: Cassandra not starting when using enhanced startup scripts in windows
Cassandra not starting when using enhanced startup scripts in windows patch by Shyam Phirke; reviewed by jasobrown CASSANDRA-14418 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9b2a4e1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9b2a4e1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9b2a4e1 Branch: refs/heads/cassandra-3.11 Commit: b9b2a4e1a07af518cebd4441469c940d5ac0c2ea Parents: 9bf5133 Author: Shyam Phirke <shyam_phi...@bmc.com> Authored: Sat May 12 05:28:20 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Sat May 12 05:28:20 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/b9b2a4e1/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e2f6d07..7c557f7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9b2a4e1/conf/cassandra-env.ps1 -- diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1 index 405ed92..74511f0 100644 --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@ -377,7 +377,7 @@ Function SetCassandraEnvironment } # provides hints to the JIT compiler -$env:JVM_OPTS = "$env:JVM_OPTS -XX:CompileCommandFile=$env:CASSANDRA_CONF\hotspot_compiler" +$env:JVM_OPTS = "$env:JVM_OPTS -XX:CompileCommandFile=""$env:CASSANDRA_CONF\hotspot_compiler""" # add the jamm javaagent if (($env:JVM_VENDOR -ne "OpenJDK") -or ($env:JVM_VERSION.CompareTo("1.6.0") -eq 1) -or @@ -390,7 +390,7 @@ Function SetCassandraEnvironment if ($env:CASSANDRA_HEAPDUMP_DIR) { $unixTimestamp = [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds -$env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof" +$env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=""$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof""" } if ($env:JVM_VERSION.CompareTo("1.8.0") -eq -1 -or [convert]::ToInt32($env:JVM_PATCH_VERSION) -lt 40) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[1/6] cassandra git commit: Cassandra not starting when using enhanced startup scripts in windows
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 9bf513374 -> b9b2a4e1a refs/heads/cassandra-3.11 14bfc9493 -> 443088fd1 refs/heads/trunk a6bf9c535 -> 4f1094e66 Cassandra not starting when using enhanced startup scripts in windows patch by Shyam Phirke; reviewed by jasobrown CASSANDRA-14418 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9b2a4e1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9b2a4e1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9b2a4e1 Branch: refs/heads/cassandra-3.0 Commit: b9b2a4e1a07af518cebd4441469c940d5ac0c2ea Parents: 9bf5133 Author: Shyam Phirke <shyam_phi...@bmc.com> Authored: Sat May 12 05:28:20 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Sat May 12 05:28:20 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/b9b2a4e1/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e2f6d07..7c557f7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9b2a4e1/conf/cassandra-env.ps1 -- diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1 index 405ed92..74511f0 100644 --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@ -377,7 +377,7 @@ Function SetCassandraEnvironment } # provides hints to the JIT compiler -$env:JVM_OPTS = "$env:JVM_OPTS -XX:CompileCommandFile=$env:CASSANDRA_CONF\hotspot_compiler" +$env:JVM_OPTS = "$env:JVM_OPTS -XX:CompileCommandFile=""$env:CASSANDRA_CONF\hotspot_compiler""" # add the jamm javaagent if (($env:JVM_VENDOR -ne "OpenJDK") -or ($env:JVM_VERSION.CompareTo("1.6.0") -eq 1) -or @@ -390,7 +390,7 @@ Function SetCassandraEnvironment if ($env:CASSANDRA_HEAPDUMP_DIR) { $unixTimestamp = [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds -$env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof" +$env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=""$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof""" } if ($env:JVM_VERSION.CompareTo("1.8.0") -eq -1 -or [convert]::ToInt32($env:JVM_PATCH_VERSION) -lt 40) - 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
[3/6] cassandra git commit: Cassandra not starting when using enhanced startup scripts in windows
Cassandra not starting when using enhanced startup scripts in windows patch by Shyam Phirke; reviewed by jasobrown CASSANDRA-14418 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9b2a4e1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9b2a4e1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9b2a4e1 Branch: refs/heads/trunk Commit: b9b2a4e1a07af518cebd4441469c940d5ac0c2ea Parents: 9bf5133 Author: Shyam Phirke <shyam_phi...@bmc.com> Authored: Sat May 12 05:28:20 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Sat May 12 05:28:20 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/b9b2a4e1/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e2f6d07..7c557f7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * 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) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9b2a4e1/conf/cassandra-env.ps1 -- diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1 index 405ed92..74511f0 100644 --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@ -377,7 +377,7 @@ Function SetCassandraEnvironment } # provides hints to the JIT compiler -$env:JVM_OPTS = "$env:JVM_OPTS -XX:CompileCommandFile=$env:CASSANDRA_CONF\hotspot_compiler" +$env:JVM_OPTS = "$env:JVM_OPTS -XX:CompileCommandFile=""$env:CASSANDRA_CONF\hotspot_compiler""" # add the jamm javaagent if (($env:JVM_VENDOR -ne "OpenJDK") -or ($env:JVM_VERSION.CompareTo("1.6.0") -eq 1) -or @@ -390,7 +390,7 @@ Function SetCassandraEnvironment if ($env:CASSANDRA_HEAPDUMP_DIR) { $unixTimestamp = [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds -$env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof" +$env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=""$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof""" } if ($env:JVM_VERSION.CompareTo("1.8.0") -eq -1 -or [convert]::ToInt32($env:JVM_PATCH_VERSION) -lt 40) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/443088fd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/443088fd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/443088fd Branch: refs/heads/cassandra-3.11 Commit: 443088fd13ce8ad71fa96389095bfb117f65c6bd Parents: 14bfc94 b9b2a4e Author: Jason BrownAuthored: Sat May 12 05:29:20 2018 -0700 Committer: Jason Brown Committed: Sat May 12 05:31:34 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/443088fd/CHANGES.txt -- diff --cc CHANGES.txt index fc643ad,7c557f7..3e8f687 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,18 -1,5 +1,19 @@@ -3.0.17 +3.11.3 + * Update metrics to 3.1.5 (CASSANDRA-12924) + * Detect OpenJDK jvm type and architecture (CASSANDRA-12793) + * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271) + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * 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) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) http://git-wip-us.apache.org/repos/asf/cassandra/blob/443088fd/conf/cassandra-env.ps1 -- diff --cc conf/cassandra-env.ps1 index 49d03ce,74511f0..c78a3fc --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@@ -390,9 -390,36 +390,9 @@@ Function SetCassandraEnvironmen if ($env:CASSANDRA_HEAPDUMP_DIR) { $unixTimestamp = [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds - $env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof" + $env:JVM_OPTS="$env:JVM_OPTS -XX:HeapDumpPath=""$env:CASSANDRA_HEAPDUMP_DIR\cassandra-$unixTimestamp-pid$pid.hprof""" } -if ($env:JVM_VERSION.CompareTo("1.8.0") -eq -1 -or [convert]::ToInt32($env:JVM_PATCH_VERSION) -lt 40) -{ -echo "Cassandra 3.0 and later require Java 8u40 or later." -exit -} - -# enable assertions. disabling this in production will give a modest -# performance benefit (around 5%). -$env:JVM_OPTS = "$env:JVM_OPTS -ea" - -# Specifies the default port over which Cassandra will be available for -# JMX connections. -$JMX_PORT="7199" - -# store in env to check if it's avail in verification -$env:JMX_PORT=$JMX_PORT - -# enable thread priorities, primarily so we can give periodic tasks -# a lower priority to avoid interfering with client workload -$env:JVM_OPTS="$env:JVM_OPTS -XX:+UseThreadPriorities" -# allows lowering thread priority without being root on linux - probably -# not necessary on Windows but doesn't harm anything. -# see http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workar -$env:JVM_OPTS="$env:JVM_OPTS -XX:ThreadPriorityPolicy=42" - -$env:JVM_OPTS="$env:JVM_OPTS -XX:+HeapDumpOnOutOfMemoryError" - # stop the jvm on OutOfMemoryError as it can result in some data corruption # uncomment the preferred option # ExitOnOutOfMemoryError and CrashOnOutOfMemoryError require a JRE greater or equals to 1.7 update 101 or 1.8 update 92 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[1/4] cassandra git commit: Audit logging for database activity
Repository: cassandra Updated Branches: refs/heads/trunk aba582fb4 -> f56871b88 http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/test/unit/org/apache/cassandra/audit/InMemoryAuditLogger.java -- diff --git a/test/unit/org/apache/cassandra/audit/InMemoryAuditLogger.java b/test/unit/org/apache/cassandra/audit/InMemoryAuditLogger.java new file mode 100644 index 000..7052d76 --- /dev/null +++ b/test/unit/org/apache/cassandra/audit/InMemoryAuditLogger.java @@ -0,0 +1,47 @@ +/* + * 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.audit; + +import java.nio.file.Path; +import java.util.LinkedList; +import java.util.Queue; + +public class InMemoryAuditLogger implements IAuditLogger +{ +final Queue inMemQueue = new LinkedList<>(); +private boolean enabled = true; + +@Override +public boolean enabled() +{ +return enabled; +} + +@Override +public void log(AuditLogEntry logMessage) +{ +inMemQueue.offer(logMessage); +} + +@Override +public void stop() +{ +enabled = false; +inMemQueue.clear(); +} +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java -- diff --git a/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java b/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java index 084ad7e..4078e2a 100644 --- a/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java +++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorRefTest.java @@ -119,6 +119,11 @@ public class DatabaseDescriptorRefTest "org.apache.cassandra.LogbackStatusListener$1", "org.apache.cassandra.LogbackStatusListener$2", "org.apache.cassandra.TeeingAppender", +"org.apache.cassandra.audit.IAuditLogger", +"org.apache.cassandra.audit.BinAuditLogger", +"org.apache.cassandra.audit.BinLogAuditLogger", +"org.apache.cassandra.audit.FullQueryLogger", +"org.apache.cassandra.audit.AuditLogOptions", // generated classes "org.apache.cassandra.config.ConfigBeanInfo", "org.apache.cassandra.config.ConfigCustomizer", http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --git a/test/unit/org/apache/cassandra/cql3/CQLTester.java b/test/unit/org/apache/cassandra/cql3/CQLTester.java index dacb37c..e53342d 100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@ -543,6 +543,13 @@ public abstract class CQLTester return tables.get(tables.size() - 1); } +protected String currentKeyspace() +{ +if (keyspaces.isEmpty()) +return null; +return keyspaces.get(keyspaces.size() - 1); +} + protected ByteBuffer unset() { return ByteBufferUtil.UNSET_BYTE_BUFFER; http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/test/unit/org/apache/cassandra/db/fullquerylog/FullQueryLoggerTest.java -- diff --git a/test/unit/org/apache/cassandra/db/fullquerylog/FullQueryLoggerTest.java b/test/unit/org/apache/cassandra/db/fullquerylog/FullQueryLoggerTest.java deleted file mode 100644 index 175cf8c..000 --- a/test/unit/org/apache/cassandra/db/fullquerylog/FullQueryLoggerTest.java +++ /dev/null @@ -1,601 +0,0 @@ -/* - * 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
[3/4] cassandra git commit: Audit logging for database activity
http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 2c28796..d945368 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -32,6 +32,7 @@ import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.cassandra.audit.AuditLogOptions; import org.apache.cassandra.db.ConsistencyLevel; /** @@ -380,6 +381,8 @@ public class Config public volatile boolean automatic_sstable_upgrade = false; public volatile int max_concurrent_automatic_sstable_upgrades = 1; +public volatile AuditLogOptions audit_logging_options = new AuditLogOptions(); + /** * @deprecated migrate to {@link DatabaseDescriptor#isClientInitialized()} http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 6b11974..699148d 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -36,6 +36,7 @@ import com.google.common.primitives.Longs; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.cassandra.audit.AuditLogOptions; import org.apache.cassandra.auth.AllowAllInternodeAuthenticator; import org.apache.cassandra.auth.AuthConfig; import org.apache.cassandra.auth.IAuthenticator; @@ -2579,4 +2580,14 @@ public class DatabaseDescriptor if (value > getConcurrentCompactors()) logger.warn("max_concurrent_automatic_sstable_upgrades ({}) is larger than concurrent_compactors ({})", value, getConcurrentCompactors()); } + +public static AuditLogOptions getAuditLoggingOptions() +{ +return conf.audit_logging_options; +} + +public static void setAuditLoggingOptions(AuditLogOptions auditLoggingOptions) +{ +conf.audit_logging_options = auditLoggingOptions; +} } http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/cql3/CQLStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/CQLStatement.java b/src/java/org/apache/cassandra/cql3/CQLStatement.java index f3b2090..1e4dad3 100644 --- a/src/java/org/apache/cassandra/cql3/CQLStatement.java +++ b/src/java/org/apache/cassandra/cql3/CQLStatement.java @@ -17,13 +17,14 @@ */ package org.apache.cassandra.cql3; +import org.apache.cassandra.audit.IAuditLogContext; import org.apache.cassandra.cql3.functions.Function; import org.apache.cassandra.exceptions.*; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.service.QueryState; import org.apache.cassandra.transport.messages.ResultMessage; -public interface CQLStatement +public interface CQLStatement extends IAuditLogContext { /** * Returns the number of bound terms in this statement. http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java index 0f6d624..e26910d 100644 --- a/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java @@ -17,6 +17,7 @@ */ package org.apache.cassandra.cql3.statements; +import org.apache.cassandra.audit.AuditLogEntryType; import org.apache.cassandra.auth.Permission; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.exceptions.*; @@ -117,4 +118,10 @@ public class AlterKeyspaceStatement extends SchemaAlteringStatement { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } + +@Override +public AuditLogContext getAuditLogContext() +{ +return new AuditLogContext(AuditLogEntryType.ALTER_KEYSPACE, keyspace(), null); +} } http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/cql3/statements/AlterRoleStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterRoleStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterRoleStatement.java index 64ffe57..957ac97 100644
[4/4] cassandra git commit: Audit logging for database activity
Audit logging for database activity patch by Vinay Chella; reviewed by jasobrown for CASSANDRA-12151 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f56871b8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f56871b8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f56871b8 Branch: refs/heads/trunk Commit: f56871b88be1e8965f166769c12cfa43313bac74 Parents: aba582f Author: Vinay Chella <vinaykumar...@gmail.com> Authored: Fri Feb 23 20:16:16 2018 -0800 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Fri May 11 05:44:16 2018 -0700 -- CHANGES.txt | 1 + NEWS.txt| 2 + conf/cassandra.yaml | 14 + doc/source/operating/audit_logging.rst | 203 ++ .../apache/cassandra/audit/AuditLogEntry.java | 298 .../cassandra/audit/AuditLogEntryCategory.java | 27 + .../cassandra/audit/AuditLogEntryType.java | 83 +++ .../apache/cassandra/audit/AuditLogFilter.java | 162 + .../apache/cassandra/audit/AuditLogManager.java | 317 + .../apache/cassandra/audit/AuditLogOptions.java | 61 ++ .../apache/cassandra/audit/BinAuditLogger.java | 85 +++ .../cassandra/audit/BinLogAuditLogger.java | 387 +++ .../apache/cassandra/audit/FileAuditLogger.java | 57 ++ .../apache/cassandra/audit/FullQueryLogger.java | 197 ++ .../cassandra/audit/IAuditLogContext.java | 53 ++ .../apache/cassandra/audit/IAuditLogger.java| 47 ++ .../apache/cassandra/audit/NoOpAuditLogger.java | 42 ++ .../org/apache/cassandra/config/Config.java | 3 + .../cassandra/config/DatabaseDescriptor.java| 11 + .../org/apache/cassandra/cql3/CQLStatement.java | 3 +- .../cql3/statements/AlterKeyspaceStatement.java | 7 + .../cql3/statements/AlterRoleStatement.java | 7 + .../cql3/statements/AlterTableStatement.java| 7 + .../cql3/statements/AlterTypeStatement.java | 7 + .../cql3/statements/AlterViewStatement.java | 7 + .../cql3/statements/BatchStatement.java | 7 + .../cassandra/cql3/statements/CFStatement.java | 2 +- .../statements/CreateAggregateStatement.java| 7 + .../statements/CreateFunctionStatement.java | 7 + .../cql3/statements/CreateIndexStatement.java | 6 + .../statements/CreateKeyspaceStatement.java | 7 + .../cql3/statements/CreateRoleStatement.java| 6 + .../cql3/statements/CreateTableStatement.java | 6 + .../cql3/statements/CreateTriggerStatement.java | 8 + .../cql3/statements/CreateTypeStatement.java| 7 + .../cql3/statements/CreateViewStatement.java| 6 + .../cql3/statements/DeleteStatement.java| 6 + .../cql3/statements/DropAggregateStatement.java | 7 + .../cql3/statements/DropFunctionStatement.java | 8 +- .../cql3/statements/DropIndexStatement.java | 7 + .../cql3/statements/DropKeyspaceStatement.java | 7 + .../cql3/statements/DropRoleStatement.java | 7 + .../cql3/statements/DropTableStatement.java | 7 + .../cql3/statements/DropTriggerStatement.java | 7 + .../cql3/statements/DropTypeStatement.java | 9 +- .../cql3/statements/DropViewStatement.java | 7 + .../statements/GrantPermissionsStatement.java | 9 + .../cql3/statements/GrantRoleStatement.java | 7 + .../statements/ListPermissionsStatement.java| 7 + .../cql3/statements/ListRolesStatement.java | 7 + .../statements/RevokePermissionsStatement.java | 8 + .../cql3/statements/RevokeRoleStatement.java| 7 + .../cql3/statements/SelectStatement.java| 8 + .../cql3/statements/TruncateStatement.java | 7 + .../cql3/statements/UpdateStatement.java| 7 + .../cassandra/cql3/statements/UseStatement.java | 7 + .../db/fullquerylog/FullQueryLogger.java| 530 -- .../apache/cassandra/service/StorageProxy.java | 9 +- .../cassandra/service/StorageService.java | 40 ++ .../cassandra/service/StorageServiceMBean.java | 5 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../org/apache/cassandra/tools/NodeTool.java| 4 +- .../apache/cassandra/tools/fqltool/Dump.java| 64 +- .../tools/nodetool/DisableAuditLog.java | 33 + .../tools/nodetool/EnableAuditLog.java | 55 ++ .../org/apache/cassandra/transport/Message.java | 5 + .../transport/messages/AuthResponse.java| 18 + .../transport/messages/BatchMessage.java| 59 +- .../transport/messages/ExecuteMessage.java | 61 +- .../transport/messages/PrepareMessage.java | 30 +- .../transport/messages/QueryMessage.java| 36 +- .../org/apache/cassandra/utils/FBUtilities.java | 24 + .../apache/cassandra/utils/binlog/BinLog.java | 2 +- .../cassandra/audit/AuditLogFil
[2/4] cassandra git commit: Audit logging for database activity
http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/transport/messages/AuthResponse.java -- diff --git a/src/java/org/apache/cassandra/transport/messages/AuthResponse.java b/src/java/org/apache/cassandra/transport/messages/AuthResponse.java index 332b024..88c3085 100644 --- a/src/java/org/apache/cassandra/transport/messages/AuthResponse.java +++ b/src/java/org/apache/cassandra/transport/messages/AuthResponse.java @@ -20,6 +20,8 @@ package org.apache.cassandra.transport.messages; import java.nio.ByteBuffer; import io.netty.buffer.ByteBuf; +import org.apache.cassandra.audit.AuditLogEntry; +import org.apache.cassandra.audit.AuditLogEntryType; import org.apache.cassandra.auth.AuthenticatedUser; import org.apache.cassandra.auth.IAuthenticator; import org.apache.cassandra.exceptions.AuthenticationException; @@ -79,6 +81,14 @@ public class AuthResponse extends Message.Request AuthenticatedUser user = negotiator.getAuthenticatedUser(); queryState.getClientState().login(user); AuthMetrics.instance.markSuccess(); +if (auditLogEnabled) +{ +AuditLogEntry auditEntry = new AuditLogEntry.Builder(queryState.getClientState()) + .setOperation("LOGIN SUCCESSFUL") + .setType(AuditLogEntryType.LOGIN_SUCCESS) + .build(); +auditLogManager.log(auditEntry); +} // authentication is complete, send a ready message to the client return new AuthSuccess(challenge); } @@ -90,6 +100,14 @@ public class AuthResponse extends Message.Request catch (AuthenticationException e) { AuthMetrics.instance.markFailure(); +if (auditLogEnabled) +{ +AuditLogEntry auditEntry = new AuditLogEntry.Builder(queryState.getClientState()) + .setOperation("LOGIN FAILURE") + .setType(AuditLogEntryType.LOGIN_ERROR) + .build(); +auditLogManager.log(auditEntry, e); +} return ErrorMessage.fromException(e); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/f56871b8/src/java/org/apache/cassandra/transport/messages/BatchMessage.java -- diff --git a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java index dcaa8da..5ffadac 100644 --- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java +++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java @@ -19,24 +19,31 @@ package org.apache.cassandra.transport.messages; 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.ImmutableMap; -import io.netty.buffer.ByteBuf; -import org.apache.cassandra.cql3.*; +import io.netty.buffer.ByteBuf; +import org.apache.cassandra.audit.AuditLogEntry; +import org.apache.cassandra.audit.AuditLogEntryType; +import org.apache.cassandra.cql3.Attributes; +import org.apache.cassandra.cql3.BatchQueryOptions; +import org.apache.cassandra.cql3.QueryHandler; +import org.apache.cassandra.cql3.QueryOptions; +import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.statements.BatchStatement; import org.apache.cassandra.cql3.statements.ModificationStatement; import org.apache.cassandra.cql3.statements.ParsedStatement; -import org.apache.cassandra.db.fullquerylog.FullQueryLogger; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.exceptions.PreparedQueryNotFoundException; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.service.QueryState; import org.apache.cassandra.tracing.Tracing; -import org.apache.cassandra.transport.*; +import org.apache.cassandra.transport.CBUtil; +import org.apache.cassandra.transport.Message; +import org.apache.cassandra.transport.ProtocolException; +import org.apache.cassandra.transport.ProtocolVersion; import org.apache.cassandra.utils.JVMStabilityInspector; import org.apache.cassandra.utils.MD5Digest; import org.apache.cassandra.utils.UUIDGen; @@ -176,30 +183,20 @@ public class BatchMessage extends Message.Request QueryHandler handler = ClientState.getCQLQueryHandler(); List prepared = new ArrayList<>(queryOrIdList.size()); -boolean fullQueryLogEnabled = FullQueryLogger.instance.enabled(); -List queryStrings = fullQueryLogEnabled ?
cassandra git commit: Clean up build artifacts in docs container
Repository: cassandra Updated Branches: refs/heads/trunk 426876169 -> f2ee3db65 Clean up build artifacts in docs container patch by James Lamb; reviewed by Dinesh Joshi for CASSANDRA-14432 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f2ee3db6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f2ee3db6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f2ee3db6 Branch: refs/heads/trunk Commit: f2ee3db6537005f9ae8582cecd8e29df29ac30d5 Parents: 4268761 Author: James LambAuthored: Tue May 1 18:16:21 2018 -0500 Committer: Jason Brown Committed: Thu May 10 04:27:58 2018 -0700 -- CHANGES.txt| 5 +++-- doc/Dockerfile | 7 +-- 2 files changed, 8 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2ee3db6/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 77b9a92..e574d16 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,9 @@ 4.0 - * minor network authz improvements (Cassandra-14413) + * 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) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2ee3db6/doc/Dockerfile -- diff --git a/doc/Dockerfile b/doc/Dockerfile index 074a9ed..dc4b50f 100644 --- a/doc/Dockerfile +++ b/doc/Dockerfile @@ -6,12 +6,15 @@ FROM python:2.7 WORKDIR /usr/src/code -RUN pip install sphinx sphinx_rtd_theme +RUN pip install --no-cache-dir \ +sphinx \ +sphinx_rtd_theme RUN apt-get update \ && apt-get install -y \ ant \ -default-jdk +default-jdk \ +&& apt-get clean CMD ant gen-doc \ && echo "The locally built documentation can be found here:\n\n build/html/index.html\n\n" - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: ninja commit the minor updates for CASSANDRA-14335
Repository: cassandra Updated Branches: refs/heads/trunk a9ec46a61 -> 68605cf03 ninja commit the minor updates for CASSANDRA-14335 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/68605cf0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/68605cf0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/68605cf0 Branch: refs/heads/trunk Commit: 68605cf03bdfecb11cd69c6d5260a773e4e87300 Parents: a9ec46a Author: Jason BrownAuthored: Fri May 4 12:57:07 2018 -0700 Committer: Jason Brown Committed: Fri May 4 12:57:07 2018 -0700 -- .../apache/cassandra/service/CassandraDaemon.java | 3 ++- .../cassandra/tools/nodetool/ClientStats.java | 10 +- .../transport/ProtocolVersionTracker.java | 18 ++ .../org/apache/cassandra/transport/Server.java| 11 ++- 4 files changed, 23 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/68605cf0/src/java/org/apache/cassandra/service/CassandraDaemon.java -- diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index 7e7649d..80b8b7b 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -679,7 +679,8 @@ public class CassandraDaemon instance.activate(); } -public void clearConnectionHistory() { +public void clearConnectionHistory() +{ nativeTransportService.clearConnectionHistory(); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/68605cf0/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java -- diff --git a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java index 9b4ada8..5bd5da1 100644 --- a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java +++ b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java @@ -36,8 +36,8 @@ public class ClientStats extends NodeToolCmd @Option(title = "list_connections", name = "--all", description = "Lists all connections") private boolean listConnections = false; -@Option(title = "by_protocol", name = "--by-protocol", description = "Lists last 100 client connections with oldest protocol version") -private boolean oldestProtocolConnections = false; +@Option(title = "by_protocol", name = "--by-protocol", description = "Lists most recent client connections by protocol version") +private boolean connectionsByProtocolVersion = false; @Option(title = "clear_history", name = "--clear-history", description = "Clear the history of connected clients") private boolean clearConnectionHistory = false; @@ -47,17 +47,17 @@ public class ClientStats extends NodeToolCmd { if (clearConnectionHistory) { -System.out.println("Clearing history"); +System.out.println("Clearing connection history"); probe.clearConnectionHistory(); return; } -if (oldestProtocolConnections) +if (connectionsByProtocolVersion) { SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, HH:mm:ss"); System.out.println("Clients by protocol version"); -System.out.println(""); +System.out.println(); List
cassandra git commit: List clients by protocol versions `nodetool clientstats --by-protocol`
Repository: cassandra Updated Branches: refs/heads/trunk 78ca3447c -> a9ec46a61 List clients by protocol versions `nodetool clientstats --by-protocol` patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14335 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a9ec46a6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a9ec46a6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a9ec46a6 Branch: refs/heads/trunk Commit: a9ec46a613ae5602ced004935c9954638e83e735 Parents: 78ca344 Author: Dinesh A. Joshi <dinesh.jo...@apple.com> Authored: Mon Apr 30 17:18:44 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Fri May 4 11:19:44 2018 -0700 -- CHANGES.txt | 3 +- .../cassandra/service/CassandraDaemon.java | 6 + .../service/NativeTransportService.java | 17 +++ .../cassandra/service/StorageService.java | 7 ++ .../cassandra/service/StorageServiceMBean.java | 4 + .../org/apache/cassandra/tools/NodeProbe.java | 6 + .../cassandra/tools/nodetool/ClientStats.java | 41 +++ .../transport/ProtocolVersionTracker.java | 109 ++ .../org/apache/cassandra/transport/Server.java | 32 ++ .../transport/ProtocolVersionTrackerTest.java | 115 +++ 10 files changed, 339 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9ec46a6/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 628d0af..25c237f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,9 +1,10 @@ 4.0 * 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 (CASSANDAR-14389) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9ec46a6/src/java/org/apache/cassandra/service/CassandraDaemon.java -- diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index 5ca3844..7e7649d 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -679,6 +679,10 @@ public class CassandraDaemon instance.activate(); } +public void clearConnectionHistory() { +nativeTransportService.clearConnectionHistory(); +} + private void exitOrFail(int code, String message) { exitOrFail(code, message, null); @@ -731,5 +735,7 @@ public class CassandraDaemon * Returns whether the server is currently running. */ public boolean isRunning(); + +public void clearConnectionHistory(); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9ec46a6/src/java/org/apache/cassandra/service/NativeTransportService.java -- diff --git a/src/java/org/apache/cassandra/service/NativeTransportService.java b/src/java/org/apache/cassandra/service/NativeTransportService.java index d70e56e..39b334e 100644 --- a/src/java/org/apache/cassandra/service/NativeTransportService.java +++ b/src/java/org/apache/cassandra/service/NativeTransportService.java @@ -148,6 +148,17 @@ public class NativeTransportService } return result; }); + +ClientMetrics.instance.addGauge("clientsByProtocolVersion", () -> +{ +List<Map<String, String>> result = new ArrayList<>(); +for (Server server : servers) +{ +result.addAll(server.getClientsByProtocolVersion()); +} +return result; +}); + AuthMetrics.init(); initialized = true; @@ -225,4 +236,10 @@ public class NativeTransportService { return servers; } + +public void clearConnectionHistory(
cassandra git commit: Replace deprecated junit.framework.Assert usages with org.junit.Assert
Repository: cassandra Updated Branches: refs/heads/trunk e9418f808 -> 01439740b Replace deprecated junit.framework.Assert usages with org.junit.Assert patch by Iuri Sitinschi; reviewed by jasobrown for CASSANDRA-14431 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/01439740 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/01439740 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/01439740 Branch: refs/heads/trunk Commit: 01439740bc26804b10c4cf6f6061925175598241 Parents: e9418f8 Author: Iuri Sitinschi <yuka...@gmail.com> Authored: Tue May 1 23:05:09 2018 +0200 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Tue May 1 19:20:35 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/CachingBench.java | 2 +- .../cassandra/cql3/GcCompactionBench.java | 2 +- .../NoReplicationTokenAllocatorTest.java| 2 +- ...buggableScheduledThreadPoolExecutorTest.java | 2 +- .../cassandra/cql3/ColumnIdentifierTest.java| 2 +- .../cassandra/cql3/PstmtPersistenceTest.java| 2 +- .../cassandra/cql3/ReservedKeywordsTest.java| 2 +- .../cassandra/cql3/SerializationMirrorTest.java | 2 +- .../cassandra/cql3/ViewFilteringTest.java | 2 +- .../apache/cassandra/cql3/ViewSchemaTest.java | 2 +- .../org/apache/cassandra/cql3/ViewTest.java | 2 +- .../cql3/validation/entities/TimestampTest.java | 2 +- .../miscellaneous/CrcCheckChanceTest.java | 42 ++-- test/unit/org/apache/cassandra/db/CellTest.java | 2 +- .../org/apache/cassandra/db/ColumnsTest.java| 2 +- .../apache/cassandra/db/TransformerTest.java| 2 +- .../db/commitlog/CommitLogUpgradeTest.java | 2 +- .../AbstractCompactionStrategyTest.java | 2 +- .../LeveledCompactionStrategyTest.java | 2 +- .../cassandra/db/filter/ColumnFilterTest.java | 2 +- .../cassandra/db/lifecycle/HelpersTest.java | 2 +- .../db/lifecycle/LifecycleTransactionTest.java | 2 +- .../db/lifecycle/LogTransactionTest.java| 2 +- .../db/lifecycle/RealTransactionsTest.java | 2 +- .../cassandra/db/lifecycle/TrackerTest.java | 2 +- .../apache/cassandra/db/lifecycle/ViewTest.java | 2 +- .../cassandra/db/marshal/TimeUUIDTypeTest.java | 2 +- .../cassandra/db/marshal/UUIDTypeTest.java | 2 +- .../db/partition/PartitionUpdateTest.java | 2 +- .../db/rows/UnfilteredRowIteratorsTest.java | 2 +- .../apache/cassandra/db/view/ViewUtilsTest.java | 2 +- .../cassandra/index/sasi/SASICQLTest.java | 2 +- .../cassandra/index/sasi/SASIIndexTest.java | 18 - .../index/sasi/disk/OnDiskIndexTest.java| 2 +- .../index/sasi/disk/TokenTreeTest.java | 2 +- .../CompressedSequentialWriterTest.java | 2 +- .../io/sstable/BigTableWriterTest.java | 2 +- .../format/SSTableFlushObserverTest.java| 2 +- .../util/ChecksummedSequentialWriterTest.java | 2 +- .../apache/cassandra/io/util/MemoryTest.java| 2 +- .../cassandra/io/util/SequentialWriterTest.java | 2 +- .../cassandra/net/WriteCallbackInfoTest.java| 2 +- .../streaming/StreamTransferTaskTest.java | 2 +- .../streaming/StreamingTransferTest.java| 2 +- .../org/apache/cassandra/utils/BTreeTest.java | 2 +- .../apache/cassandra/utils/TopKSamplerTest.java | 2 +- .../concurrent/AbstractTransactionalTest.java | 2 +- .../utils/concurrent/RefCountedTest.java| 2 +- .../utils/memory/NativeAllocatorTest.java | 2 +- .../cassandra/utils/vint/VIntCodingTest.java| 2 +- 51 files changed, 79 insertions(+), 78 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/01439740/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 2545e83..27e69b8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * 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) * Improve LatencyMetrics performance by reducing write path processing (CASSANDRA-14281) * Add network authz (CASSANDRA-13985) http://git-wip-us.apache.org/repos/asf/cassandra/blob/01439740/test/long/org/apache/cassandra/cql3/CachingBench.java -- diff --git a/test/long/org/apache/cassandra/cql3/CachingBench.java b/test/long/org/apache/cassandra/cql3/CachingBench.java index a0e4226..0a6657f 100644 --- a/test/long/org/apache/cassandra/cql3/CachingBench.java +++ b/test/long/org/apache/cassandra/cql3/CachingBench.java @@ -33,7 +33,7 @@ import o
cassandra git commit: Use the correct IP/Port for Streaming when localAddress is left unbound
Repository: cassandra Updated Branches: refs/heads/trunk e0524c099 -> 63945228f Use the correct IP/Port for Streaming when localAddress is left unbound patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14389 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/63945228 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/63945228 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/63945228 Branch: refs/heads/trunk Commit: 63945228fc0fabea2cfcf1f1b4d0a29ed3964107 Parents: e0524c0 Author: Dinesh A. Joshi <dinesh.jo...@apple.com> Authored: Thu Apr 19 17:23:19 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Sun Apr 22 16:35:47 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/dht/RangeStreamer.java | 4 +- .../apache/cassandra/net/MessagingService.java | 10 +++ .../cassandra/net/async/NettyFactory.java | 1 - .../repair/AsymmetricLocalSyncTask.java | 4 +- .../apache/cassandra/repair/LocalSyncTask.java | 9 ++- .../cassandra/repair/StreamingRepairTask.java | 12 ++-- .../cassandra/service/StorageService.java | 12 ++-- .../cassandra/streaming/StreamCoordinator.java | 21 +++--- .../apache/cassandra/streaming/StreamPlan.java | 39 ++-- .../cassandra/streaming/StreamResultFuture.java | 14 ++-- .../cassandra/streaming/StreamSession.java | 42 .../streaming/StreamingMessageSender.java | 3 + .../async/NettyStreamingMessageSender.java | 12 +++- .../streaming/CassandraStreamManagerTest.java | 1 - .../cassandra/dht/StreamStateStoreTest.java | 4 +- .../cassandra/net/MessagingServiceTest.java | 51 ++- .../cassandra/repair/LocalSyncTaskTest.java | 6 +- .../repair/StreamingRepairTaskTest.java | 6 +- .../cassandra/streaming/StreamSessionTest.java | 67 .../streaming/StreamTransferTaskTest.java | 4 +- .../streaming/StreamingTransferTest.java| 2 +- .../async/NettyStreamingMessageSenderTest.java | 2 +- .../async/StreamingInboundHandlerTest.java | 2 +- 24 files changed, 218 insertions(+), 111 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63945228/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0e15a8d..4cdd8ba 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Use the correct IP/Port for Streaming when localAddress is left unbound (CASSANDAR-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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/63945228/src/java/org/apache/cassandra/dht/RangeStreamer.java -- diff --git a/src/java/org/apache/cassandra/dht/RangeStreamer.java b/src/java/org/apache/cassandra/dht/RangeStreamer.java index dfabac2..110fed6 100644 --- a/src/java/org/apache/cassandra/dht/RangeStreamer.java +++ b/src/java/org/apache/cassandra/dht/RangeStreamer.java @@ -34,7 +34,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.cassandra.db.Keyspace; -import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.gms.EndpointState; import org.apache.cassandra.gms.Gossiper; import org.apache.cassandra.gms.IFailureDetector; @@ -428,7 +427,6 @@ public class RangeStreamer { String keyspace = entry.getKey(); InetAddressAndPort source = entry.getValue().getKey(); -InetAddressAndPort preferred = SystemKeyspace.getPreferredIP(source); Collection<Range> ranges = entry.getValue().getValue(); // filter out already streamed ranges @@ -441,7 +439,7 @@ public class RangeStreamer if (logger.isTraceEnabled()) logger.trace("{}ing from {} ranges {}", description, source, StringUtils.join(ranges, ", ")); /* Send messages to respective folks to stream data over to me */ -streamPlan.requestRanges(source, preferred, keyspace, ranges); +streamPlan.requestRanges(source, keyspace, ranges); } return streamPlan.execute(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/63945228/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingS
cassandra git commit: Remove StreamCoordinator.streamExecutor thread pool
Repository: cassandra Updated Branches: refs/heads/trunk a8be43e45 -> 4af23348e Remove StreamCoordinator.streamExecutor thread pool patch by jasobrown; reviewed by Dinesh Joshi for CASANDRA-14402 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4af23348 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4af23348 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4af23348 Branch: refs/heads/trunk Commit: 4af23348ecd6fc8dbef44ac5ebdb6ae60d599283 Parents: a8be43e Author: Jason Brown <jasedbr...@gmail.com> Authored: Thu Apr 19 05:33:34 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Fri Apr 20 05:05:51 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/streaming/StreamCoordinator.java | 30 2 files changed, 7 insertions(+), 24 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4af23348/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7d9769c..5902305 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Remove StreamCoordinator.streamExecutor thread pool (CASSANDRA-14402) * Rename nodetool --with-port to --print-port to disambiguate from --port (CASSANDRA-14392) * Client TOPOLOGY_CHANGE messages have wrong port. (CASSANDRA-14398) * Add ability to load new SSTables from a separate directory (CASSANDRA-6719) http://git-wip-us.apache.org/repos/asf/cassandra/blob/4af23348/src/java/org/apache/cassandra/streaming/StreamCoordinator.java -- diff --git a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java index 139488d..6b92dfe 100644 --- a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java +++ b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java @@ -22,9 +22,7 @@ import java.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor; import org.apache.cassandra.locator.InetAddressAndPort; -import org.apache.cassandra.utils.FBUtilities; /** * {@link StreamCoordinator} is a helper class that abstracts away maintaining multiple @@ -37,15 +35,9 @@ public class StreamCoordinator { private static final Logger logger = LoggerFactory.getLogger(StreamCoordinator.class); -/** - * Executor strictly for establishing the initial connections. Once we're connected to the other end the rest of the - * streaming is handled directly by the {@link StreamingMessageSender}'s incoming and outgoing threads. - */ -private static final DebuggableThreadPoolExecutor streamExecutor = DebuggableThreadPoolExecutor.createWithFixedPoolSize("StreamConnectionEstablisher", - FBUtilities.getAvailableProcessors()); private final boolean connectSequentially; -private Map<InetAddressAndPort, HostStreamingData> peerSessions = new HashMap<>(); +private final Map<InetAddressAndPort, HostStreamingData> peerSessions = new HashMap<>(); private final StreamOperation streamOperation; private final int connectionsPerHost; private StreamConnectionFactory factory; @@ -144,7 +136,7 @@ public class StreamCoordinator { StreamSession next = sessionsToConnect.next(); logger.debug("Connecting next session {} with {}.", next.planId(), next.peer.toString()); -streamExecutor.execute(new StreamSessionConnector(next)); +startSession(next); } else logger.debug("Finished connecting all sessions"); @@ -259,20 +251,10 @@ public class StreamCoordinator return pendingRepair; } -private static class StreamSessionConnector implements Runnable +private void startSession(StreamSession session) { -private final StreamSession session; -public StreamSessionConnector(StreamSession session) -{ -this.session = session; -} - -@Override -public void run() -{ -session.start(); -logger.info("[Stream #{}, ID#{}] Beginning stream session with {}", session.planId(), session.sessionIndex(), session.peer); -} +session.start(); +logger.info("[Stream #{}, ID#{}] Beginning stream session with {}", session.planId(), session.sessionIndex(), session.peer); } private class HostStreamingData @@ -316,7 +2
cassandra git commit: Bind to correct local address in 4.0 streaming
Repository: cassandra Updated Branches: refs/heads/trunk 05d7661d0 -> 70d95359d Bind to correct local address in 4.0 streaming patch by Lerh Chaun Low; reviewed by jasobrown for CASSANDRA-14362 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/70d95359 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/70d95359 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/70d95359 Branch: refs/heads/trunk Commit: 70d95359d2dca1c35f573776d11ed87bb9b4b441 Parents: 05d7661 Author: Lerh Chuan Low <l...@instaclustr.com> Authored: Tue Apr 3 16:39:11 2018 +1000 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Tue Apr 17 05:44:03 2018 -0700 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/streaming/StreamSession.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/70d95359/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4c557b4..5e36674 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Bind to correct local address in 4.0 streaming (CASSANDRA-14362) * Use standard Amazon naming for datacenter and rack in Ec2Snitch (CASSANDRA-7839) * Fix junit failure for SSTableReaderTest (CASSANDRA-14387) * Abstract write path for pluggable storage (CASSANDRA-14118) http://git-wip-us.apache.org/repos/asf/cassandra/blob/70d95359/src/java/org/apache/cassandra/streaming/StreamSession.java -- diff --git a/src/java/org/apache/cassandra/streaming/StreamSession.java b/src/java/org/apache/cassandra/streaming/StreamSession.java index adf5d76..42d1d97 100644 --- a/src/java/org/apache/cassandra/streaming/StreamSession.java +++ b/src/java/org/apache/cassandra/streaming/StreamSession.java @@ -183,7 +183,7 @@ public class StreamSession implements IEndpointStateChangeSubscriber this.connecting = connecting; this.index = index; -OutboundConnectionIdentifier id = OutboundConnectionIdentifier.stream(InetAddressAndPort.getByAddressOverrideDefaults(FBUtilities.getBroadcastAddressAndPort().address, 0), +OutboundConnectionIdentifier id = OutboundConnectionIdentifier.stream(InetAddressAndPort.getByAddressOverrideDefaults(FBUtilities.getJustLocalAddress(), 0), InetAddressAndPort.getByAddressOverrideDefaults(connecting.address, MessagingService.instance().portFor(connecting))); this.messageSender = new NettyStreamingMessageSender(this, id, factory, StreamMessage.CURRENT_VERSION, previewKind.isPreview()); this.metrics = StreamingMetrics.get(connecting); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Use standard Amazon naming for datacenter and rack in Ec2Snitch.
Repository: cassandra Updated Branches: refs/heads/trunk 8a5e1cbe2 -> fd44a69fc Use standard Amazon naming for datacenter and rack in Ec2Snitch. patch by Gregory Ramsperger and jasobrown; reviewed by Joey Lynch for CASSANDRA-7839 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fd44a69f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fd44a69f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fd44a69f Branch: refs/heads/trunk Commit: fd44a69fce135c6ddf7ebcba25d032a36a1d9064 Parents: 8a5e1cb Author: Gregory Ramsperger <ramsper...@users.noreply.github.com> Authored: Sat Apr 16 00:42:03 2016 -0500 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Mon Apr 16 17:59:06 2018 -0700 -- CHANGES.txt | 1 + NEWS.txt| 4 + conf/cassandra-rackdc.properties| 12 ++ .../locator/DynamicEndpointSnitch.java | 5 + .../org/apache/cassandra/locator/Ec2Snitch.java | 109 +++-- .../cassandra/locator/IEndpointSnitch.java | 9 ++ .../cassandra/locator/SnitchProperties.java | 2 +- .../cassandra/service/StorageService.java | 26 test/conf/cassandra-rackdc.properties | 12 ++ .../apache/cassandra/locator/EC2SnitchTest.java | 118 ++- 10 files changed, 279 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd44a69f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0362d01..71d947a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Use standard Amazon naming for datacenter and rack in Ec2Snitch (CASSANDRA-7839) * Fix junit failure for SSTableReaderTest (CASSANDRA-14387) * Abstract write path for pluggable storage (CASSANDRA-14118) * nodetool describecluster should be more informative (CASSANDRA-13853) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd44a69f/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index df4c32a..3be52dc 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -141,6 +141,10 @@ Upgrading storage port or native port at nodes you must first upgrade the entire cluster and clients to 4.0 so they can handle the port not being consistent across the cluster. +- Names of AWS regions/availability zones have been cleaned up to more correctly + match the Amazon names. There is now a new option in conf/cassandra-rackdc.properties + that lets users enable the correct names for new clusters, or use the legacy + names for existing clusters. See conf/cassandra-rackdc.properties for details. Materialized Views --- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd44a69f/conf/cassandra-rackdc.properties -- diff --git a/conf/cassandra-rackdc.properties b/conf/cassandra-rackdc.properties index 2ea6043..cc472b4 100644 --- a/conf/cassandra-rackdc.properties +++ b/conf/cassandra-rackdc.properties @@ -25,3 +25,15 @@ rack=rack1 # Uncomment the following line to make this snitch prefer the internal ip when possible, as the Ec2MultiRegionSnitch does. # prefer_local=true + +# Datacenter and rack naming convention used by the Ec2Snitch and Ec2MultiRegionSnitch. +# Options are: +# legacy : datacenter name is the part of the availability zone name preceding the last "-" +# when the zone ends in -1 and includes the number if not -1. Rack is the portion of +# the availability zone name following the last "-". +# Examples: us-west-1a => dc: us-west, rack: 1a; us-west-2b => dc: us-west-2, rack: 2b; +# YOU MUST USE THIS VALUE IF YOU ARE UPGRADING A PRE-4.0 CLUSTER +# standard : Default value. datacenter name is the standard AWS region name, including the number. +# rack name is the region plus the availability zone letter. +# Examples: us-west-1a => dc: us-west-1, rack: us-west-1a; us-west-2b => dc: us-west-2, rack: us-west-2b; +# ec2_naming_scheme=standard http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd44a69f/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java -- diff --git a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java index 9ea7e05..010c892 100644 --- a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java +++ b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java @@ -448,4 +448,
[03/10] cassandra git commit: CQL fromJson(null) throws NullPointerException
CQL fromJson(null) throws NullPointerException patch by Edward Ribeiro; reviewed by jasobrown for CASSANDRA-13891 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e5e11d6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e5e11d6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e5e11d6 Branch: refs/heads/cassandra-3.11 Commit: 2e5e11d66d41038bee8d2f81eb013f735d233def Parents: ac77e5e Author: Edward Ribeiro <edward.ribe...@gmail.com> Authored: Wed Apr 4 14:18:01 2018 -0300 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu Apr 5 06:10:59 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4828517..527975c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Fix query pager DEBUG log leak causing hit in paged reads throughput (CASSANDRA-14318) * Backport circleci yaml (CASSANDRA-14240) Merged from 2.1: http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java index 4f53c98..323f1bb 100644 --- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java +++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java @@ -98,6 +98,8 @@ public class FunctionCall extends Term.NonTerminal private static Term.Terminal makeTerminal(Function fun, ByteBuffer result, int version) throws InvalidRequestException { +if (result == null) +return null; if (!(fun.returnType() instanceof CollectionType)) return new Constants.Value(result); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 0f29928..46cdd52 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@ -247,6 +247,13 @@ public class JsonTest extends CQLTester // handle nulls execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, asciival FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, frozenmapval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, frozenmapval FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, udtval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, udtval FROM %s WHERE k = ?", 0), row(0, null)); // ascii execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, "\"ascii text\""); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41f3b96f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41f3b96f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41f3b96f Branch: refs/heads/cassandra-3.0 Commit: 41f3b96f81e08af8a95124b9ab50bad03067aab0 Parents: 2d2b1a7 2e5e11d Author: Jason BrownAuthored: Thu Apr 5 06:16:13 2018 -0700 Committer: Jason Brown Committed: Thu Apr 5 06:20:57 2018 -0700 -- .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../cassandra/cql3/validation/entities/JsonTest.java | 10 +- 2 files changed, 11 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41f3b96f/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41f3b96f/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --cc test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 94b2087,46cdd52..62c6226 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@@ -39,7 -38,7 +39,8 @@@ import java.util.* import java.util.concurrent.*; import static org.junit.Assert.fail; --public class JsonTest extends CQLTester ++public class ++JsonTest extends CQLTester { @BeforeClass public static void setUp() - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[10/10] 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/1fafcb01 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1fafcb01 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1fafcb01 Branch: refs/heads/trunk Commit: 1fafcb0190fec34ca38ca6294dd7919b0fe5aacc Parents: 946aaa7 ad52c95 Author: Jason BrownAuthored: Thu Apr 5 06:21:53 2018 -0700 Committer: Jason Brown Committed: Thu Apr 5 06:21:53 2018 -0700 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ad52c95a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ad52c95a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ad52c95a Branch: refs/heads/trunk Commit: ad52c95ae2797155a88a8b0c8d16d8fb07509dd6 Parents: 28bd6c2 41f3b96 Author: Jason BrownAuthored: Thu Apr 5 06:21:27 2018 -0700 Committer: Jason Brown Committed: Thu Apr 5 06:21:27 2018 -0700 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41f3b96f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41f3b96f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41f3b96f Branch: refs/heads/trunk Commit: 41f3b96f81e08af8a95124b9ab50bad03067aab0 Parents: 2d2b1a7 2e5e11d Author: Jason BrownAuthored: Thu Apr 5 06:16:13 2018 -0700 Committer: Jason Brown Committed: Thu Apr 5 06:20:57 2018 -0700 -- .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../cassandra/cql3/validation/entities/JsonTest.java | 10 +- 2 files changed, 11 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41f3b96f/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41f3b96f/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --cc test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 94b2087,46cdd52..62c6226 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@@ -39,7 -38,7 +39,8 @@@ import java.util.* import java.util.concurrent.*; import static org.junit.Assert.fail; --public class JsonTest extends CQLTester ++public class ++JsonTest extends CQLTester { @BeforeClass public static void setUp() - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ad52c95a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ad52c95a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ad52c95a Branch: refs/heads/cassandra-3.11 Commit: ad52c95ae2797155a88a8b0c8d16d8fb07509dd6 Parents: 28bd6c2 41f3b96 Author: Jason BrownAuthored: Thu Apr 5 06:21:27 2018 -0700 Committer: Jason Brown Committed: Thu Apr 5 06:21:27 2018 -0700 -- -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[02/10] cassandra git commit: CQL fromJson(null) throws NullPointerException
CQL fromJson(null) throws NullPointerException patch by Edward Ribeiro; reviewed by jasobrown for CASSANDRA-13891 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e5e11d6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e5e11d6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e5e11d6 Branch: refs/heads/cassandra-3.0 Commit: 2e5e11d66d41038bee8d2f81eb013f735d233def Parents: ac77e5e Author: Edward Ribeiro <edward.ribe...@gmail.com> Authored: Wed Apr 4 14:18:01 2018 -0300 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu Apr 5 06:10:59 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4828517..527975c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Fix query pager DEBUG log leak causing hit in paged reads throughput (CASSANDRA-14318) * Backport circleci yaml (CASSANDRA-14240) Merged from 2.1: http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java index 4f53c98..323f1bb 100644 --- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java +++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java @@ -98,6 +98,8 @@ public class FunctionCall extends Term.NonTerminal private static Term.Terminal makeTerminal(Function fun, ByteBuffer result, int version) throws InvalidRequestException { +if (result == null) +return null; if (!(fun.returnType() instanceof CollectionType)) return new Constants.Value(result); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 0f29928..46cdd52 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@ -247,6 +247,13 @@ public class JsonTest extends CQLTester // handle nulls execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, asciival FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, frozenmapval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, frozenmapval FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, udtval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, udtval FROM %s WHERE k = ?", 0), row(0, null)); // ascii execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, "\"ascii text\""); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[01/10] cassandra git commit: CQL fromJson(null) throws NullPointerException
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 ac77e5e77 -> 2e5e11d66 refs/heads/cassandra-3.0 2d2b1a71f -> 41f3b96f8 refs/heads/cassandra-3.11 28bd6c2a0 -> ad52c95ae refs/heads/trunk 946aaa7b0 -> 1fafcb019 CQL fromJson(null) throws NullPointerException patch by Edward Ribeiro; reviewed by jasobrown for CASSANDRA-13891 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e5e11d6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e5e11d6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e5e11d6 Branch: refs/heads/cassandra-2.2 Commit: 2e5e11d66d41038bee8d2f81eb013f735d233def Parents: ac77e5e Author: Edward Ribeiro <edward.ribe...@gmail.com> Authored: Wed Apr 4 14:18:01 2018 -0300 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu Apr 5 06:10:59 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4828517..527975c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Fix query pager DEBUG log leak causing hit in paged reads throughput (CASSANDRA-14318) * Backport circleci yaml (CASSANDRA-14240) Merged from 2.1: http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java index 4f53c98..323f1bb 100644 --- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java +++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java @@ -98,6 +98,8 @@ public class FunctionCall extends Term.NonTerminal private static Term.Terminal makeTerminal(Function fun, ByteBuffer result, int version) throws InvalidRequestException { +if (result == null) +return null; if (!(fun.returnType() instanceof CollectionType)) return new Constants.Value(result); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 0f29928..46cdd52 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@ -247,6 +247,13 @@ public class JsonTest extends CQLTester // handle nulls execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, asciival FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, frozenmapval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, frozenmapval FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, udtval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, udtval FROM %s WHERE k = ?", 0), row(0, null)); // ascii execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, "\"ascii text\""); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[04/10] cassandra git commit: CQL fromJson(null) throws NullPointerException
CQL fromJson(null) throws NullPointerException patch by Edward Ribeiro; reviewed by jasobrown for CASSANDRA-13891 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e5e11d6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e5e11d6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e5e11d6 Branch: refs/heads/trunk Commit: 2e5e11d66d41038bee8d2f81eb013f735d233def Parents: ac77e5e Author: Edward Ribeiro <edward.ribe...@gmail.com> Authored: Wed Apr 4 14:18:01 2018 -0300 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu Apr 5 06:10:59 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4828517..527975c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Fix query pager DEBUG log leak causing hit in paged reads throughput (CASSANDRA-14318) * Backport circleci yaml (CASSANDRA-14240) Merged from 2.1: http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java index 4f53c98..323f1bb 100644 --- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java +++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java @@ -98,6 +98,8 @@ public class FunctionCall extends Term.NonTerminal private static Term.Terminal makeTerminal(Function fun, ByteBuffer result, int version) throws InvalidRequestException { +if (result == null) +return null; if (!(fun.returnType() instanceof CollectionType)) return new Constants.Value(result); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e5e11d6/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 0f29928..46cdd52 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@ -247,6 +247,13 @@ public class JsonTest extends CQLTester // handle nulls execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, asciival FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, frozenmapval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, frozenmapval FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, udtval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, udtval FROM %s WHERE k = ?", 0), row(0, null)); // ascii execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, "\"ascii text\""); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41f3b96f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41f3b96f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41f3b96f Branch: refs/heads/cassandra-3.11 Commit: 41f3b96f81e08af8a95124b9ab50bad03067aab0 Parents: 2d2b1a7 2e5e11d Author: Jason BrownAuthored: Thu Apr 5 06:16:13 2018 -0700 Committer: Jason Brown Committed: Thu Apr 5 06:20:57 2018 -0700 -- .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../cassandra/cql3/validation/entities/JsonTest.java | 10 +- 2 files changed, 11 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41f3b96f/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41f3b96f/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --cc test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 94b2087,46cdd52..62c6226 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@@ -39,7 -38,7 +39,8 @@@ import java.util.* import java.util.concurrent.*; import static org.junit.Assert.fail; --public class JsonTest extends CQLTester ++public class ++JsonTest extends CQLTester { @BeforeClass public static void setUp() - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Add meaningful toString() impls
Repository: cassandra Updated Branches: refs/heads/trunk d3bd26eb3 -> 946aaa7b0 Add meaningful toString() impls patch by Jogesh Anand; reviewed by Dinesh Joshi for CASSANDRA-13653 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/946aaa7b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/946aaa7b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/946aaa7b Branch: refs/heads/trunk Commit: 946aaa7b06f2ccd697e31dcc15c29468da523311 Parents: d3bd26e Author: djanandAuthored: Sat Mar 31 17:53:09 2018 -0500 Committer: Jason Brown Committed: Thu Apr 5 05:19:22 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/Attributes.java | 8 .../cassandra/cql3/BatchQueryOptions.java | 8 .../org/apache/cassandra/cql3/QueryOptions.java | 8 .../org/apache/cassandra/cql3/WhereClause.java | 8 .../cql3/conditions/ColumnCondition.java| 20 .../cql3/conditions/ColumnConditions.java | 8 .../restrictions/CustomIndexExpression.java | 8 .../cql3/restrictions/IndexRestrictions.java| 8 .../restrictions/MultiColumnRestriction.java| 8 .../cql3/restrictions/RestrictionSet.java | 8 .../restrictions/RestrictionSetWrapper.java | 8 .../restrictions/StatementRestrictions.java | 8 .../cql3/statements/AlterKeyspaceStatement.java | 8 .../cql3/statements/AlterRoleStatement.java | 8 .../statements/AlterTableStatementColumn.java | 8 .../cql3/statements/AlterTypeStatement.java | 8 .../cql3/statements/AuthorizationStatement.java | 8 .../cassandra/cql3/statements/CFProperties.java | 8 .../cassandra/cql3/statements/CFStatement.java | 8 .../cql3/statements/CQL3CasRequest.java | 8 .../statements/CreateAggregateStatement.java| 8 .../statements/CreateFunctionStatement.java | 8 .../cql3/statements/CreateIndexStatement.java | 8 .../statements/CreateKeyspaceStatement.java | 8 .../cql3/statements/CreateRoleStatement.java| 8 .../cql3/statements/CreateTableStatement.java | 8 .../cql3/statements/CreateTriggerStatement.java | 8 .../cql3/statements/CreateTypeStatement.java| 8 .../cql3/statements/CreateViewStatement.java| 8 .../cql3/statements/DeleteStatement.java| 8 .../cql3/statements/DropAggregateStatement.java | 8 .../cql3/statements/DropFunctionStatement.java | 8 .../cql3/statements/DropIndexStatement.java | 8 .../cql3/statements/DropKeyspaceStatement.java | 8 .../cql3/statements/DropRoleStatement.java | 8 .../cql3/statements/DropTableStatement.java | 8 .../cql3/statements/DropTriggerStatement.java | 8 .../cql3/statements/DropTypeStatement.java | 8 .../cql3/statements/DropViewStatement.java | 8 .../cql3/statements/GrantRoleStatement.java | 8 .../cassandra/cql3/statements/IndexTarget.java | 8 .../statements/ListPermissionsStatement.java| 8 .../cql3/statements/ListRolesStatement.java | 8 .../cql3/statements/ListUsersStatement.java | 8 .../PermissionsManagementStatement.java | 8 .../statements/RevokePermissionsStatement.java | 8 .../cql3/statements/RevokeRoleStatement.java| 8 .../statements/RoleManagementStatement.java | 8 .../cql3/statements/SelectStatement.java| 8 .../cql3/statements/TruncateStatement.java | 8 .../cql3/statements/UpdateStatement.java| 8 .../cassandra/cql3/statements/UseStatement.java | 8 53 files changed, 429 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/946aaa7b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4fd76fc..b3617c3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Add meaningful toString() impls (CASSANDRA-13653) * Add sstableloader option to accept target keyspace name (CASSANDRA-13884) * Move processing of EchoMessage response to gossip stage (CASSANDRA-13713) * Add coordinator write metric per CF (CASSANDRA-14232) http://git-wip-us.apache.org/repos/asf/cassandra/blob/946aaa7b/src/java/org/apache/cassandra/cql3/Attributes.java -- diff --git
[3/3] 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/d3bd26eb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d3bd26eb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d3bd26eb Branch: refs/heads/trunk Commit: d3bd26eb35d998dbf2b2be9869d5098f9a90f119 Parents: b08b4dc 28bd6c2 Author: Jason BrownAuthored: Tue Apr 3 05:33:59 2018 -0700 Committer: Jason Brown Committed: Tue Apr 3 05:34:42 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3bd26eb/CHANGES.txt -- diff --cc CHANGES.txt index 04705ba,03b7442..4fd76fc --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,216 -1,5 +1,217 @@@ +4.0 + * Add sstableloader option to accept target keyspace name (CASSANDRA-13884) + * Move processing of EchoMessage response to gossip stage (CASSANDRA-13713) + * Add coordinator write metric per CF (CASSANDRA-14232) + * Fix scheduling of speculative retry threshold recalculation (CASSANDRA-14338) + * Add support for hybrid MIN(), MAX() speculative retry policies (CASSANDRA-14293) + * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314) + * Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315) + * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322) + * Add ability to specify driver name and version (CASSANDRA-14275) + * Abstract streaming for pluggable storage (CASSANDRA-14115) + * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294) + * 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
[1/3] cassandra git commit: CQL fromJson(null) throws NullPointerException
Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 6f30677b2 -> 28bd6c2a0 refs/heads/trunk b08b4dcc7 -> d3bd26eb3 CQL fromJson(null) throws NullPointerException patch by Edward Ribeiro; reviewed by jasobrown for CASSANDRA-13891 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28bd6c2a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28bd6c2a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28bd6c2a Branch: refs/heads/cassandra-3.11 Commit: 28bd6c2a031e76b725dd773b949070962555698a Parents: 6f30677 Author: Edward Ribeiro <edward.ribe...@gmail.com> Authored: Fri Jan 26 19:31:23 2018 -0200 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Tue Apr 3 05:33:32 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/28bd6c2a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 62f4345..03b7442 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) http://git-wip-us.apache.org/repos/asf/cassandra/blob/28bd6c2a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java index bcc912f..8dcb3da 100644 --- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java +++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java @@ -99,6 +99,8 @@ public class FunctionCall extends Term.NonTerminal private static Term.Terminal makeTerminal(Function fun, ByteBuffer result, ProtocolVersion version) throws InvalidRequestException { +if (result == null) +return null; if (fun.returnType().isCollection()) { switch (((CollectionType) fun.returnType()).kind) http://git-wip-us.apache.org/repos/asf/cassandra/blob/28bd6c2a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 6bca8f8..a475671 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@ -249,6 +249,13 @@ public class JsonTest extends CQLTester // handle nulls execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, asciival FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, frozenmapval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, frozenmapval FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, udtval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, udtval FROM %s WHERE k = ?", 0), row(0, null)); // ascii execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, "\"ascii text\""); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/3] cassandra git commit: CQL fromJson(null) throws NullPointerException
CQL fromJson(null) throws NullPointerException patch by Edward Ribeiro; reviewed by jasobrown for CASSANDRA-13891 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28bd6c2a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28bd6c2a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28bd6c2a Branch: refs/heads/trunk Commit: 28bd6c2a031e76b725dd773b949070962555698a Parents: 6f30677 Author: Edward Ribeiro <edward.ribe...@gmail.com> Authored: Fri Jan 26 19:31:23 2018 -0200 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Tue Apr 3 05:33:32 2018 -0700 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/functions/FunctionCall.java | 2 ++ .../apache/cassandra/cql3/validation/entities/JsonTest.java | 7 +++ 3 files changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/28bd6c2a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 62f4345..03b7442 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) http://git-wip-us.apache.org/repos/asf/cassandra/blob/28bd6c2a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java index bcc912f..8dcb3da 100644 --- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java +++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java @@ -99,6 +99,8 @@ public class FunctionCall extends Term.NonTerminal private static Term.Terminal makeTerminal(Function fun, ByteBuffer result, ProtocolVersion version) throws InvalidRequestException { +if (result == null) +return null; if (fun.returnType().isCollection()) { switch (((CollectionType) fun.returnType()).kind) http://git-wip-us.apache.org/repos/asf/cassandra/blob/28bd6c2a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java index 6bca8f8..a475671 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java @@ -249,6 +249,13 @@ public class JsonTest extends CQLTester // handle nulls execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, asciival FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, frozenmapval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, frozenmapval FROM %s WHERE k = ?", 0), row(0, null)); + +execute("INSERT INTO %s (k, udtval) VALUES (?, fromJson(?))", 0, null); +assertRows(execute("SELECT k, udtval FROM %s WHERE k = ?", 0), row(0, null)); // ascii execute("INSERT INTO %s (k, asciival) VALUES (?, fromJson(?))", 0, "\"ascii text\""); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Move processing of EchoMessage response to gossip stage
Repository: cassandra Updated Branches: refs/heads/trunk d38694afe -> 674addd03 Move processing of EchoMessage response to gossip stage patch by jasobrown, reviewed by jkni for CASSANDRA-13713 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/674addd0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/674addd0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/674addd0 Branch: refs/heads/trunk Commit: 674addd03701abf1bce7d6b47978761c00d0a431 Parents: d38694a Author: Jason Brown <jasedbr...@gmail.com> Authored: Thu Mar 29 05:41:28 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu Mar 29 05:41:28 2018 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/674addd0/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5763720..5af348b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Move processing of EchoMessage response to gossip stage (CASSANDRA-13713) * Add coordinator write metric per CF (CASSANDRA-14232) * Fix scheduling of speculative retry threshold recalculation (CASSANDRA-14338) * Add support for hybrid MIN(), MAX() speculative retry policies (CASSANDRA-14293) http://git-wip-us.apache.org/repos/asf/cassandra/blob/674addd0/src/java/org/apache/cassandra/gms/Gossiper.java -- diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java index a4e46f2..24b659b 100644 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@ -1015,7 +1015,8 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean public void response(MessageIn msg) { -realMarkAlive(addr, localState); +// force processing of the echo response onto the gossip stage, as it comes in on the REQUEST_RESPONSE stage +StageManager.getStage(Stage.GOSSIP).submit(() -> realMarkAlive(addr, localState)); } }; - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Add coordinator write metric per CF
Repository: cassandra Updated Branches: refs/heads/trunk 8d32d9100 -> d38694afe Add coordinator write metric per CF patch by Sumanth Pasupuleti; reviewed by Jay Zhuang and jasobrown for CASSANDRA-14232 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d38694af Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d38694af Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d38694af Branch: refs/heads/trunk Commit: d38694afe209215f8fc562ca384b82766147eadf Parents: 8d32d91 Author: Sumanth Pasupuleti <sumanth.pasupuleti...@gmail.com> Authored: Tue Mar 6 15:57:01 2018 -0800 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Wed Mar 28 12:55:49 2018 -0700 -- CHANGES.txt | 1 + NEWS.txt| 1 + doc/source/operating/metrics.rst| 1 + .../apache/cassandra/metrics/TableMetrics.java | 3 + .../apache/cassandra/service/StorageProxy.java | 27 ++- .../cassandra/metrics/TableMetricsTest.java | 176 +++ 6 files changed, 208 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d38694af/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index daafa0a..5763720 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Add coordinator write metric per CF (CASSANDRA-14232) * Fix scheduling of speculative retry threshold recalculation (CASSANDRA-14338) * Add support for hybrid MIN(), MAX() speculative retry policies (CASSANDRA-14293) * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314) http://git-wip-us.apache.org/repos/asf/cassandra/blob/d38694af/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index bcac4ea..f8e3ca6 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -68,6 +68,7 @@ New features See nodetool and fqltool help text for more information. - SSTableDump now supports the -l option to output each partition as it's own json object See CASSANDRA-13848 for more detail + - Metric for coordinator writes per table has been added. See CASSANDRA-14232 Upgrading - http://git-wip-us.apache.org/repos/asf/cassandra/blob/d38694af/doc/source/operating/metrics.rst -- diff --git a/doc/source/operating/metrics.rst b/doc/source/operating/metrics.rst index 345fc3e..325395c 100644 --- a/doc/source/operating/metrics.rst +++ b/doc/source/operating/metrics.rst @@ -95,6 +95,7 @@ ReadLatency LatencyLocal read latency for th RangeLatencyLatencyLocal range scan latency for this table. WriteLatencyLatencyLocal write latency for this table. CoordinatorReadLatency Timer Coordinator read latency for this table. +CoordinatorWriteLatency Timer Coordinator write latency for this table. CoordinatorScanLatency Timer Coordinator range scan latency for this table. PendingFlushes CounterEstimated number of flush tasks pending for this table. BytesFlushedCounterTotal number of bytes flushed since server [re]start. http://git-wip-us.apache.org/repos/asf/cassandra/blob/d38694af/src/java/org/apache/cassandra/metrics/TableMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/TableMetrics.java b/src/java/org/apache/cassandra/metrics/TableMetrics.java index 7ce2f16..d8cb18e 100644 --- a/src/java/org/apache/cassandra/metrics/TableMetrics.java +++ b/src/java/org/apache/cassandra/metrics/TableMetrics.java @@ -184,6 +184,7 @@ public class TableMetrics public final Timer coordinatorReadLatency; public final Timer coordinatorScanLatency; +public final Timer coordinatorWriteLatency; /** Time spent waiting for free memtable space, either on- or off-heap */ public final Histogram waitingOnFreeMemtableSpace; @@ -791,6 +792,7 @@ public class TableMetrics colUpdateTimeDeltaHistogram = createTableHistogram("ColUpdateTimeDeltaHistogram", cfs.keyspace.metric.colUpdateTimeDeltaHistogram, false); coordinatorReadLatency = Metrics.timer(factory.createMetricName("CoordinatorReadLatency")); coordinatorScanLatency = Metrics.timer(factory.createMetricName("CoordinatorScanLatency")); +coordinatorWriteLatency = Metrics.timer(fact
[1/3] cassandra git commit: Allow logging implementation to be interchanged for embedded testing
Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 d2248f206 -> bd0804065 refs/heads/trunk 39bcdcd32 -> 2ad06d65b Allow logging implementation to be interchanged for embedded testing patch by Eric Hubert; reviewed by jasobrown for CASSANDRA-13396 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd080406 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd080406 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd080406 Branch: refs/heads/cassandra-3.11 Commit: bd0804065daaa01ba478c0ed97f7411f1180eef9 Parents: d2248f2 Author: Eric Hubert <eric.hub...@optivo.com> Authored: Fri Mar 23 18:24:17 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Mon Mar 26 04:08:54 2018 -0700 -- CHANGES.txt | 1 + .../cql3/functions/JavaBasedUDFunction.java | 3 + .../cql3/functions/ScriptBasedUDFunction.java | 2 + .../cql3/functions/SecurityThreadGroup.java | 53 .../functions/ThreadAwareSecurityManager.java | 270 --- .../cassandra/security/SecurityThreadGroup.java | 53 .../security/ThreadAwareSecurityManager.java| 214 +++ .../cassandra/service/CassandraDaemon.java | 2 +- .../cassandra/service/StorageService.java | 51 +--- .../utils/logging/LogbackLoggingSupport.java| 146 ++ .../cassandra/utils/logging/LoggingSupport.java | 34 +++ .../utils/logging/LoggingSupportFactory.java| 42 +++ .../logging/NoOpFallbackLoggingSupport.java | 30 +++ .../org/apache/cassandra/cql3/CQLTester.java| 2 +- 14 files changed, 532 insertions(+), 371 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 987b9f7..5646081 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java b/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java index 8f12899..feb17e3 100644 --- a/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java +++ b/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java @@ -40,6 +40,7 @@ import java.util.regex.Pattern; import com.google.common.annotations.VisibleForTesting; import com.google.common.io.ByteStreams; import com.google.common.reflect.TypeToken; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,6 +51,8 @@ import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.transport.ProtocolVersion; import org.apache.cassandra.utils.FBUtilities; +import org.apache.cassandra.security.SecurityThreadGroup; +import org.apache.cassandra.security.ThreadAwareSecurityManager; import org.eclipse.jdt.core.compiler.IProblem; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.Compiler; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java b/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java index c568972..41035a4 100644 --- a/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java +++ b/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java @@ -35,6 +35,8 @@ import org.apache.cassandra.concurrent.NamedThreadFactory; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.security.SecurityThreadGroup; +import org.apache.cassandra.security.ThreadAwareSecurityManager; import org.apache.cassandra.transport.ProtocolVersion; final class ScriptBasedUDFunction extends UDFunction http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/src/java/org/apache/cassandra/cql3/functions/Securi
[2/3] cassandra git commit: Allow logging implementation to be interchanged for embedded testing
Allow logging implementation to be interchanged for embedded testing patch by Eric Hubert; reviewed by jasobrown for CASSANDRA-13396 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd080406 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd080406 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd080406 Branch: refs/heads/trunk Commit: bd0804065daaa01ba478c0ed97f7411f1180eef9 Parents: d2248f2 Author: Eric Hubert <eric.hub...@optivo.com> Authored: Fri Mar 23 18:24:17 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Mon Mar 26 04:08:54 2018 -0700 -- CHANGES.txt | 1 + .../cql3/functions/JavaBasedUDFunction.java | 3 + .../cql3/functions/ScriptBasedUDFunction.java | 2 + .../cql3/functions/SecurityThreadGroup.java | 53 .../functions/ThreadAwareSecurityManager.java | 270 --- .../cassandra/security/SecurityThreadGroup.java | 53 .../security/ThreadAwareSecurityManager.java| 214 +++ .../cassandra/service/CassandraDaemon.java | 2 +- .../cassandra/service/StorageService.java | 51 +--- .../utils/logging/LogbackLoggingSupport.java| 146 ++ .../cassandra/utils/logging/LoggingSupport.java | 34 +++ .../utils/logging/LoggingSupportFactory.java| 42 +++ .../logging/NoOpFallbackLoggingSupport.java | 30 +++ .../org/apache/cassandra/cql3/CQLTester.java| 2 +- 14 files changed, 532 insertions(+), 371 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 987b9f7..5646081 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java b/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java index 8f12899..feb17e3 100644 --- a/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java +++ b/src/java/org/apache/cassandra/cql3/functions/JavaBasedUDFunction.java @@ -40,6 +40,7 @@ import java.util.regex.Pattern; import com.google.common.annotations.VisibleForTesting; import com.google.common.io.ByteStreams; import com.google.common.reflect.TypeToken; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,6 +51,8 @@ import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.transport.ProtocolVersion; import org.apache.cassandra.utils.FBUtilities; +import org.apache.cassandra.security.SecurityThreadGroup; +import org.apache.cassandra.security.ThreadAwareSecurityManager; import org.eclipse.jdt.core.compiler.IProblem; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.Compiler; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java b/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java index c568972..41035a4 100644 --- a/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java +++ b/src/java/org/apache/cassandra/cql3/functions/ScriptBasedUDFunction.java @@ -35,6 +35,8 @@ import org.apache.cassandra.concurrent.NamedThreadFactory; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.security.SecurityThreadGroup; +import org.apache.cassandra.security.ThreadAwareSecurityManager; import org.apache.cassandra.transport.ProtocolVersion; final class ScriptBasedUDFunction extends UDFunction http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd080406/src/java/org/apache/cassandra/cql3/functions/SecurityThreadGroup.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/SecurityThre
[3/3] 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/2ad06d65 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2ad06d65 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2ad06d65 Branch: refs/heads/trunk Commit: 2ad06d65b31d6221ac5c78991c13e125800bc48d Parents: 39bcdcd bd08040 Author: Jason BrownAuthored: Mon Mar 26 04:11:03 2018 -0700 Committer: Jason Brown Committed: Mon Mar 26 04:20:54 2018 -0700 -- CHANGES.txt | 1 + .../cql3/functions/JavaBasedUDFunction.java | 3 + .../cql3/functions/ScriptBasedUDFunction.java | 2 + .../cql3/functions/SecurityThreadGroup.java | 53 .../functions/ThreadAwareSecurityManager.java | 275 --- .../cassandra/security/SecurityThreadGroup.java | 53 .../security/ThreadAwareSecurityManager.java| 214 +++ .../cassandra/service/CassandraDaemon.java | 2 +- .../cassandra/service/StorageService.java | 51 +--- .../utils/logging/LogbackLoggingSupport.java| 151 ++ .../cassandra/utils/logging/LoggingSupport.java | 34 +++ .../utils/logging/LoggingSupportFactory.java| 42 +++ .../logging/NoOpFallbackLoggingSupport.java | 30 ++ .../org/apache/cassandra/cql3/CQLTester.java| 2 +- 14 files changed, 537 insertions(+), 376 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ad06d65/CHANGES.txt -- diff --cc CHANGES.txt index 76803a8,5646081..8c8ddd2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,213 -1,5 +1,214 @@@ +4.0 + * Fix scheduling of speculative retry threshold recalculation (CASSANDRA-14338) + * Add support for hybrid MIN(), MAX() speculative retry policies (CASSANDRA-14293) + * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314) + * Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315) + * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322) + * Add ability to specify driver name and version (CASSANDRA-14275) + * Abstract streaming for pluggable storage (CASSANDRA-14115) + * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294) + * 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 git commit: Correct and clarify SSLFactory.getSslContext method and call sites
Repository: cassandra Updated Branches: refs/heads/trunk f109f200a -> 11496039f Correct and clarify SSLFactory.getSslContext method and call sites patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14314 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11496039 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11496039 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11496039 Branch: refs/heads/trunk Commit: 11496039fb18bb45407246602e31740c56d28157 Parents: f109f20 Author: Dinesh A. Joshi <dinesh.jo...@apple.com> Authored: Sat Mar 17 17:17:42 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Thu Mar 22 06:38:56 2018 -0700 -- CHANGES.txt | 1 + .../cassandra/config/DatabaseDescriptor.java| 6 +- .../cassandra/config/EncryptionOptions.java | 35 + .../apache/cassandra/net/MessagingService.java | 6 +- .../cassandra/net/async/NettyFactory.java | 6 +- .../cassandra/net/async/OptionalSslHandler.java | 2 +- .../apache/cassandra/security/SSLFactory.java | 154 +++ .../service/NativeTransportService.java | 3 +- .../streaming/DefaultConnectionFactory.java | 2 +- .../org/apache/cassandra/transport/Server.java | 7 +- .../cassandra/transport/SimpleClient.java | 5 +- .../cassandra/net/MessagingServiceTest.java | 8 +- .../async/OutboundMessagingConnectionTest.java | 7 +- .../cassandra/security/SSLFactoryTest.java | 46 +- .../service/NativeTransportServiceTest.java | 13 +- 15 files changed, 194 insertions(+), 107 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/11496039/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c092a9f..f86a380 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314) * Use zero as default score in DynamicEndpointSnitch (CASSANDRA-14252) * Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315) * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322) http://git-wip-us.apache.org/repos/asf/cassandra/blob/11496039/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 2e772c5..bf00d40 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -2005,17 +2005,17 @@ public class DatabaseDescriptor conf.dynamic_snitch_badness_threshold = dynamicBadnessThreshold; } -public static EncryptionOptions.ServerEncryptionOptions getServerEncryptionOptions() +public static EncryptionOptions.ServerEncryptionOptions getInternodeMessagingEncyptionOptions() { return conf.server_encryption_options; } -public static void setServerEncryptionOptions(EncryptionOptions.ServerEncryptionOptions encryptionOptions) +public static void setInternodeMessagingEncyptionOptions(EncryptionOptions.ServerEncryptionOptions encryptionOptions) { conf.server_encryption_options = encryptionOptions; } -public static EncryptionOptions getClientEncryptionOptions() +public static EncryptionOptions getNativeProtocolEncryptionOptions() { return conf.client_encryption_options; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/11496039/src/java/org/apache/cassandra/config/EncryptionOptions.java -- diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java b/src/java/org/apache/cassandra/config/EncryptionOptions.java index 5260dff..45579fb 100644 --- a/src/java/org/apache/cassandra/config/EncryptionOptions.java +++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java @@ -17,6 +17,9 @@ */ package org.apache.cassandra.config; +import java.util.Arrays; +import java.util.Objects; + public class EncryptionOptions { public String keystore = "conf/.keystore"; @@ -54,6 +57,38 @@ public class EncryptionOptions optional = options.optional; } +@Override +public boolean equals(Object o) +{ +if (o == this) +return true; +if (o == null || getClass() != o.getClass()) +return false; + +EncryptionOptions opt = (EncryptionOptions)o; +return Objects.equals(keystore, opt.keystore) &&am
cassandra git commit: NodeTool clientstats should show SSL Cipher
Repository: cassandra Updated Branches: refs/heads/trunk 5dc55e715 -> 59814db54 NodeTool clientstats should show SSL Cipher patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14322 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/59814db5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/59814db5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/59814db5 Branch: refs/heads/trunk Commit: 59814db54375d4002eb11403c72861765d9eb356 Parents: 5dc55e7 Author: Dinesh Joshi <dinesh.jo...@yahoo.com> Authored: Mon Mar 19 09:54:11 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Mon Mar 19 09:54:11 2018 -0700 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/tools/nodetool/ClientStats.java | 4 ++-- src/java/org/apache/cassandra/transport/Server.java | 6 +- 3 files changed, 8 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/59814db5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 9436539..fed0cd1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322) * Add ability to specify driver name and version (CASSANDRA-14275) * Abstract streaming for pluggable storage (CASSANDRA-14115) * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294) http://git-wip-us.apache.org/repos/asf/cassandra/blob/59814db5/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java -- diff --git a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java index 4529c86..0469074 100644 --- a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java +++ b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java @@ -43,10 +43,10 @@ public class ClientStats extends NodeToolCmd if (!clients.isEmpty()) { TableBuilder table = new TableBuilder(); -table.add("Address", "SSL", "Version", "User", "Keyspace", "Requests", "Driver-Name", "Driver-Version"); +table.add("Address", "SSL", "Cipher", "Protocol", "Version", "User", "Keyspace", "Requests", "Driver-Name", "Driver-Version"); for (Map<String, String> conn : clients) { -table.add(conn.get("address"), conn.get("ssl"), conn.get("version"), +table.add(conn.get("address"), conn.get("ssl"), conn.get("cipher"), conn.get("protocol"), conn.get("version"), conn.get("user"), conn.get("keyspace"), conn.get("requests"), conn.get("driverName"), conn.get("driverVersion")); } table.printTo(System.out); http://git-wip-us.apache.org/repos/asf/cassandra/blob/59814db5/src/java/org/apache/cassandra/transport/Server.java -- diff --git a/src/java/org/apache/cassandra/transport/Server.java b/src/java/org/apache/cassandra/transport/Server.java index 0504b2f..0f666d8 100644 --- a/src/java/org/apache/cassandra/transport/Server.java +++ b/src/java/org/apache/cassandra/transport/Server.java @@ -189,13 +189,17 @@ public class Server implements CassandraDaemon.Server if (connection instanceof ServerConnection) { ServerConnection conn = (ServerConnection) connection; +SslHandler sslHandler = conn.channel().pipeline().get(SslHandler.class); + result.add(new ImmutableMap.Builder<String, String>() .put("user", conn.getClientState().getUser().getName()) .put("keyspace", conn.getClientState().getRawKeyspace() == null ? "" : conn.getClientState().getRawKeyspace()) .put("address", conn.getClientState().getRemoteAddress().toString()) .put("version", String.valueOf(conn.getVersion().asInt())) .put("requests", String.valueOf(conn.requests.getCount())) -.put("ssl", conn.channel().pipeline().get(SslHandler.class) == null ? &qu
[2/6] cassandra git commit: Adding missing WriteType enum values to v3, v4 and v5 spec
Adding missing WriteType enum values to v3,v4 and v5 spec patch by Vinay Chella, reviewed by Joey Lynch for CASSANDRA-13697 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d7471a5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d7471a5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d7471a5 Branch: refs/heads/cassandra-3.11 Commit: 3d7471a56b7a58b41047ff704ebe4b0a89bda6f9 Parents: 58e6c55 Author: Vinay ChellaAuthored: Wed Mar 14 09:55:40 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:57:10 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 2 ++ doc/native_protocol_v4.spec | 2 ++ 3 files changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 1d1a07a..62b904f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v3.spec -- diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec index c38e26c..0d7f94d 100644 --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@ -979,6 +979,8 @@ Table of Contents - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v4.spec -- diff --git a/doc/native_protocol_v4.spec b/doc/native_protocol_v4.spec index 2188a33..02802a7 100644 --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@ -1135,6 +1135,8 @@ Table of Contents - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform - 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
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5a662ea3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a662ea3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a662ea3 Branch: refs/heads/trunk Commit: 5a662ea3ffdbb9563cf3ef959deb13982b084b24 Parents: 3fa7c08 3d7471a Author: Jason BrownAuthored: Wed Mar 14 09:57:42 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:59:42 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/5a662ea3/CHANGES.txt -- diff --cc CHANGES.txt index c2b907e,62b904f..8f913cd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -3.0.17 +3.11.3 + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/doc/native_protocol_v3.spec -- diff --cc doc/native_protocol_v3.spec index c38e26c,0d7f94d..9b1084b --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@@ -979,6 -979,8 +979,7 @@@ Table of Content - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. - - "CAS": the timeout occured during the Compare And Set - write/update. ++ - "CAS": the timeout occured during the Compare And Set write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/doc/native_protocol_v4.spec -- diff --cc doc/native_protocol_v4.spec index 2188a33,02802a7..5e1e01d --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@@ -1068,6 -1068,6 +1068,12 @@@ Table of Content - "BATCH_LOG": the timeout occurred during the write to the batch log when a (logged) batch write was requested. ++ - "CAS": the timeout occured during the Compare And Set write/update. ++ - "VIEW": the timeout occured when a write involves ++VIEW update and failure to acqiure local view(MV) ++lock for key within timeout ++ - "CDC": the timeout occured when cdc_total_space_in_mb is ++exceeded when doing a write to data tracked by cdc. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be @@@ -1135,6 -1135,8 +1141,12 @@@ - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. - - "CAS": the timeout occured during the Compare And Set - write/update. ++ - "CAS": the failure occured during the Compare And Set write/update. ++ - "VIEW": the failure occured when a write involves ++VIEW update and failure to acqiure local view(MV) ++lock for key within timeout ++ - "CDC": the failure occured when cdc_total_space_in_mb is ++exceeded when doing a write to data tracked by cdc. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform
[3/6] cassandra git commit: Adding missing WriteType enum values to v3, v4 and v5 spec
Adding missing WriteType enum values to v3,v4 and v5 spec patch by Vinay Chella, reviewed by Joey Lynch for CASSANDRA-13697 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d7471a5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d7471a5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d7471a5 Branch: refs/heads/trunk Commit: 3d7471a56b7a58b41047ff704ebe4b0a89bda6f9 Parents: 58e6c55 Author: Vinay ChellaAuthored: Wed Mar 14 09:55:40 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:57:10 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 2 ++ doc/native_protocol_v4.spec | 2 ++ 3 files changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 1d1a07a..62b904f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v3.spec -- diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec index c38e26c..0d7f94d 100644 --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@ -979,6 +979,8 @@ Table of Contents - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v4.spec -- diff --git a/doc/native_protocol_v4.spec b/doc/native_protocol_v4.spec index 2188a33..02802a7 100644 --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@ -1135,6 +1135,8 @@ Table of Contents - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org