[jira] [Commented] (CASSANDRA-14485) Optimize internode messaging protocol
[ https://issues.apache.org/jira/browse/CASSANDRA-14485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16521067#comment-16521067 ] Jason Brown commented on CASSANDRA-14485: - I've done some extra rolling upgrade testing, and discovered CASSANDRA-14540. Will commit this once that is committed. > Optimize internode messaging protocol > - > > Key: CASSANDRA-14485 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14485 > Project: Cassandra > Issue Type: Improvement > Components: Streaming and Messaging >Reporter: Jason Brown >Assignee: Jason Brown >Priority: Major > Fix For: 4.0.x > > > There's some dead wood and places for optimization in the internode messaging > protocol. Currently, we include the sender's \{{IPAddressAndPort}} in *every* > internode message, even though we already sent that in the handshake that > established the connection/session. Further, there are several places where > we can use vints instead of a fixed, 4-byte integer value- especially as > those values will almost always be less than one byte. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14540) Internode messaging handshake sends wrong messaging version number
[ https://issues.apache.org/jira/browse/CASSANDRA-14540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16521066#comment-16521066 ] Jason Brown commented on CASSANDRA-14540: - Here is a one-line patch to send the correctly negotiated version. ||internode-msg-version-fix|| |[branch|https://github.com/jasobrown/cassandra/tree/internode-msg-version-fix]| |[utests dtests|https://circleci.com/gh/jasobrown/workflows/cassandra/tree/internode-msg-version-fix]| || Note: the failing {{MessagingServiceTest}} utest is unrelated to this change, and is failing on [vanilla trunk|https://circleci.com/gh/jasobrown/workflows/cassandra/tree/trunk-circle]. I'll resolve that in a separate ticket. [~aweisberg] / [~djoshi3]: Can one of you review, please? > Internode messaging handshake sends wrong messaging version number > -- > > Key: CASSANDRA-14540 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14540 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Jason Brown >Assignee: Jason Brown >Priority: Blocker > Fix For: 4.x > > > With the refactor of internode messaging to netty in 4.0, we abstracted the > protocol handshakes messages into a class and handlers. There is a bug when > the initiator of the connection sends, in the third message of the handshake, > it's own default protocol version number > ({{MessagingService.current_version}}), rather than the negotiated version. > This was not causing any obvious problems when CASSANDRA-8457 was initially > committed, but the bug is exposed after CASSANDRA-7544. The problem is during > rolling upgrades of 3.0/3.X to 4.0, nodes cannot correctly connect. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-14540) Internode messaging handshake sends wrong messaging version number
Jason Brown created CASSANDRA-14540: --- Summary: Internode messaging handshake sends wrong messaging version number Key: CASSANDRA-14540 URL: https://issues.apache.org/jira/browse/CASSANDRA-14540 Project: Cassandra Issue Type: Bug Components: Streaming and Messaging Reporter: Jason Brown Assignee: Jason Brown Fix For: 4.x With the refactor of internode messaging to netty in 4.0, we abstracted the protocol handshakes messages into a class and handlers. There is a bug when the initiator of the connection sends, in the third message of the handshake, it's own default protocol version number ({{MessagingService.current_version}}), rather than the negotiated version. This was not causing any obvious problems when CASSANDRA-8457 was initially committed, but the bug is exposed after CASSANDRA-7544. The problem is during rolling upgrades of 3.0/3.X to 4.0, nodes cannot correctly connect. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14056) Many dtests fail with ConfigurationException: offheap_objects are not available in 3.0 when OFFHEAP_MEMTABLES="true"
[ https://issues.apache.org/jira/browse/CASSANDRA-14056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16521059#comment-16521059 ] Jason Brown commented on CASSANDRA-14056: - uggh, one more followup commit, sha {{b76b49e6ac895ead13dde707ab606bdef99d4894}} > Many dtests fail with ConfigurationException: offheap_objects are not > available in 3.0 when OFFHEAP_MEMTABLES="true" > > > Key: CASSANDRA-14056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14056 > Project: Cassandra > Issue Type: Bug > Components: Testing >Reporter: Michael Kjellman >Assignee: Alex Lourie >Priority: Major > > Tons of dtests are running when they shouldn't as it looks like the path is > no longer supported.. we need to add a bunch of logic that's missing to fully > support running dtests with off-heap memtables enabled (via the > OFFHEAP_MEMTABLES="true" environment variable) > {code}[node2 ERROR] java.lang.ExceptionInInitializerError > at > org.apache.cassandra.db.ColumnFamilyStore.(ColumnFamilyStore.java:394) > at > org.apache.cassandra.db.ColumnFamilyStore.(ColumnFamilyStore.java:361) > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:577) > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:554) > at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:368) > at org.apache.cassandra.db.Keyspace.(Keyspace.java:305) > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:129) > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:106) > at > org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:887) > at > org.apache.cassandra.service.StartupChecks$9.execute(StartupChecks.java:354) > at > org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:110) > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:179) > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:569) > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:697) > Caused by: org.apache.cassandra.exceptions.ConfigurationException: > offheap_objects are not available in 3.0. They will be re-introduced in a > future release, see https://issues.apache.org/jira/browse/CASSANDRA-9472 for > details > at > org.apache.cassandra.config.DatabaseDescriptor.getMemtableAllocatorPool(DatabaseDescriptor.java:1907) > at org.apache.cassandra.db.Memtable.(Memtable.java:65) > ... 14 more > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - 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 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