[jira] [Commented] (CASSANDRA-14485) Optimize internode messaging protocol

2018-06-23 Thread Jason Brown (JIRA)


[ 
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

2018-06-23 Thread Jason Brown (JIRA)


[ 
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

2018-06-23 Thread Jason Brown (JIRA)
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"

2018-06-23 Thread Jason Brown (JIRA)


[ 
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

2018-06-23 Thread jasobrown
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