[jira] [Commented] (CASSANDRA-10789) Allow DBAs to kill individual client sessions without bouncing JVM

2018-05-02 Thread Damien Stevenson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-10789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461961#comment-16461961
 ] 

Damien Stevenson commented on CASSANDRA-10789:
--

I have developed some code to test this out.

Killing individual sessions doesn't really work well as the driver's 
reconnection policy can immediately create another session and there is little 
to no interruption to the client.

I have been testing a feature to blacklist one or more IP addresses/hostnames. 
If a hostname is blacklisted, it will immediately close any existing 
connections to that hostname and continue to block any new connections. The 
hostname will be blocked until Cassandra restarts or the hostname is 
"un-blacklisted".

What do you people think about this implementation?

I plan to have a patch available soon.

> Allow DBAs to kill individual client sessions without bouncing JVM
> --
>
> Key: CASSANDRA-10789
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10789
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Coordination
>Reporter: Wei Deng
>Priority: Major
> Fix For: 4.x
>
>
> In production, there could be hundreds of clients connected to a Cassandra 
> cluster (maybe even from different applications), and if they use DataStax 
> Java Driver, each client will establish at least one TCP connection to a 
> Cassandra server (see 
> https://datastax.github.io/java-driver/2.1.9/features/pooling/). This is all 
> normal and at any given time, you can indeed see hundreds of ESTABLISHED 
> connections to port 9042 on a C* server (from netstat -na). The problem is 
> that sometimes when a C* cluster is under heavy load, when the DBA identifies 
> some client session that sends abusive amount of traffic to the C* server and 
> would like to stop it, they would like a lightweight approach rather than 
> shutting down the JVM or rolling restart the whole cluster to kill all 
> hundreds of connections in order to kill a single client session. If the DBA 
> had root privilege, they would have been able to do something at the OS 
> network level to achieve the same goal but oftentimes enterprise DBA role is 
> separate from OS sysadmin role, so the DBAs usually don't have that privilege.
> This is especially helpful when you have a multi-tenant C* cluster and you 
> want to have the impact for handling such client to be minimal to the other 
> applications. This feature (killing individual session) seems to be a common 
> feature in other databases (regardless of whether the client has some 
> reconnect logic or not). It could be implemented as a JMX MBean method and 
> exposed through nodetool to the DBAs.



--
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-14346) Scheduled Repair in Cassandra

2018-05-02 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461888#comment-16461888
 ] 

Chris Lohfink commented on CASSANDRA-14346:
---

I think this is what your referring to, but if do go with JMX, be good idea for 
the server exposes the state outside of the notifications. Then they can poll 
them when it notices lost notifications like in CASSANDRA-13480. There does 
come to a point where its "why use notifications at all" and just poll an 
operation with the client.

Virtual tables are possibly around the corner fwiw to expose state and such (ie 
insert new active job when starting a repair, select to see repairs scheduled). 
Will probably still wanna use JMX to initiate the ops though.

> Scheduled Repair in Cassandra
> -
>
> Key: CASSANDRA-14346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14346
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Repair
>Reporter: Joseph Lynch
>Priority: Major
>  Labels: CommunityFeedbackRequested
> Fix For: 4.0
>
> Attachments: ScheduledRepairV1_20180327.pdf
>
>
> There have been many attempts to automate repair in Cassandra, which makes 
> sense given that it is necessary to give our users eventual consistency. Most 
> recently CASSANDRA-10070, CASSANDRA-8911 and CASSANDRA-13924 have all looked 
> for ways to solve this problem.
> At Netflix we've built a scheduled repair service within Priam (our sidecar), 
> which we spoke about last year at NGCC. Given the positive feedback at NGCC 
> we focussed on getting it production ready and have now been using it in 
> production to repair hundreds of clusters, tens of thousands of nodes, and 
> petabytes of data for the past six months. Also based on feedback at NGCC we 
> have invested effort in figuring out how to integrate this natively into 
> Cassandra rather than open sourcing it as an external service (e.g. in Priam).
> As such, [~vinaykumarcse] and I would like to re-work and merge our 
> implementation into Cassandra, and have created a [design 
> document|https://docs.google.com/document/d/1RV4rOrG1gwlD5IljmrIq_t45rz7H3xs9GbFSEyGzEtM/edit?usp=sharing]
>  showing how we plan to make it happen, including the the user interface.
> As we work on the code migration from Priam to Cassandra, any feedback would 
> be greatly appreciated about the interface or v1 implementation features. I 
> have tried to call out in the document features which we explicitly consider 
> future work (as well as a path forward to implement them in the future) 
> because I would very much like to get this done before the 4.0 merge window 
> closes, and to do that I think aggressively pruning scope is going to be a 
> necessity.



--
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] [Comment Edited] (CASSANDRA-14435) Diag. Events: JMX events

2018-05-02 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461849#comment-16461849
 ] 

Chris Lohfink edited comment on CASSANDRA-14435 at 5/3/18 3:17 AM:
---

Jmx notifications are stateless with clients. It keeps a cyclic buffer of 
events with ids. When a polling client sends for an update it sends last id 
seen. If the is is no longer in buffer the values between last read and lowest 
are lost.  In between jvm and existing events going on that buffer we 
frequently lose events as is. Not that we can’t use it but it’s a global 
limited resource that can be sensitive with higher latencies between jmx client 
and server

edit: typos sorry wrote it on phone


was (Author: cnlwsu):
Jmx notifications are stateless with clients. It keeps a cyclic buffer of 
events with ids. When a polling client sends for an update it sends last if 
seen. If the is is no longer in buffer the values between last read and lowest 
are lost.   In between nvm and existing events going on that buffer we 
frequently lose events as is. Not that we can’t use it but it’s a global 
limited resource that can be sensitive with higher latenciea between jmx client 
and server

> Diag. Events: JMX events
> 
>
> Key: CASSANDRA-14435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
> Fix For: 4.x
>
>
> Nodes currently use JMX events for progress reporting on bootstrap and 
> repairs. This might also be an option to expose diagnostic events to external 
> subscribers.



--
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-14435) Diag. Events: JMX events

2018-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461865#comment-16461865
 ] 

mck commented on CASSANDRA-14435:
-

Thanks [~cnlwsu], am reading up on it.
Do you know any suggestions to improving jmx in C*, ref 
https://issues.apache.org/jira/browse/CASSANDRA-14346?focusedCommentId=16459583=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16459583

> Diag. Events: JMX events
> 
>
> Key: CASSANDRA-14435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
> Fix For: 4.x
>
>
> Nodes currently use JMX events for progress reporting on bootstrap and 
> repairs. This might also be an option to expose diagnostic events to external 
> subscribers.



--
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-14435) Diag. Events: JMX events

2018-05-02 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461849#comment-16461849
 ] 

Chris Lohfink commented on CASSANDRA-14435:
---

Jmx notifications are stateless with clients. It keeps a cyclic buffer of 
events with ids. When a polling client sends for an update it sends last if 
seen. If the is is no longer in buffer the values between last read and lowest 
are lost.   In between nvm and existing events going on that buffer we 
frequently lose events as is. Not that we can’t use it but it’s a global 
limited resource that can be sensitive with higher latenciea between jmx client 
and server

> Diag. Events: JMX events
> 
>
> Key: CASSANDRA-14435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
> Fix For: 4.x
>
>
> Nodes currently use JMX events for progress reporting on bootstrap and 
> repairs. This might also be an option to expose diagnostic events to external 
> subscribers.



--
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-14298) cqlshlib tests broken on b.a.o

2018-05-02 Thread Patrick Bannister (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461813#comment-16461813
 ] 

Patrick Bannister commented on CASSANDRA-14298:
---

ccm returns strings because it opens its subprocess with 
universal_newlines=True. Probably we can modify our local run_cqlsh to do the 
same - I'll look into it.

> cqlshlib tests broken on b.a.o
> --
>
> Key: CASSANDRA-14298
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14298
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build, Testing
>Reporter: Stefan Podkowinski
>Assignee: Patrick Bannister
>Priority: Major
>  Labels: cqlsh, dtest
> Attachments: CASSANDRA-14298.txt, cqlsh_tests_notes.md
>
>
> It appears that cqlsh-tests on builds.apache.org on all branches stopped 
> working since we removed nosetests from the system environment. See e.g. 
> [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console].
>  Looks like we either have to make nosetests available again or migrate to 
> pytest as we did with dtests. Giving pytest a quick try resulted in many 
> errors locally, but I haven't inspected them in detail yet. 



--
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-13459) Diag. Events: Native transport integration

2018-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461807#comment-16461807
 ] 

mck commented on CASSANDRA-13459:
-

Providing node-based diagnostics via the native transport raises some questions:
 - diagnostic events are subscribed to on a per-node basis, (there's no 
messaging of the diagnostic events between nodes server-side),
 - a cql (native transport) driver must be forced connected (ie one contact 
host and all other addresses blacklisted) to a specific host to receive 
diagnostics for just that host, and
 - a separate cql (native transport) driver configuration, each forced to a 
separate host, is required to receive diagnostics for the whole cluster.

Drivers could be implemented to get around this, by maintaining "control 
connections" to every node, but this goes against the design of the drivers and 
puts a fair burden on them.

Having messaging of diagnostics events server-side, where just one connection 
could still receive cluster-wide diagnostics) pushes the overhead back into the 
cluster, which i presume and would say we want to avoid.

Integrating diagnostics via the JMX port is an alternative.
For the client it is more intuitive as the jmx port on a node today provides 
information and notifications for just the node. For example it aligns with the 
concept of per-node agents. While we lose the benefits of Netty (performance 
and load-shedding) and cross-language support (although still solvable) it fits 
in to the current design of C*. Maybe I am missing other reasons JMX was not 
considered in the proposal? 

If a JMX implementation came first, it could solely be a layer on top of the 
diagnostics event model in the server, so that a better transport layer could 
be fitted later. While it would help to document some idea of how many events 
per second we could be seeing, an initial jmx implementation can give us more 
production feedback from users before committing to a native transport or other 
implementation. Although the cost of an initial jmx implementation does mean no 
native protocol changes in 4.x releases. 

> Diag. Events: Native transport integration
> --
>
> Key: CASSANDRA-13459
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13459
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: CQL
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
>  Labels: client-impacting
>
> Events should be consumable by clients that would received subscribed events 
> from the connected node. This functionality is designed to work on top of 
> native transport with minor modifications to the protocol standard (see 
> [original 
> proposal|https://docs.google.com/document/d/1uEk7KYgxjNA0ybC9fOuegHTcK3Yi0hCQN5nTp5cNFyQ/edit?usp=sharing]
>  for further considered options). First we have to add another value for 
> existing event types. Also, we have to extend the protocol a bit to be able 
> to specify a sub-class and sub-type value. E.g. 
> {{DIAGNOSTIC_EVENT(GossiperEvent, MAJOR_STATE_CHANGE_HANDLED)}}. This still 
> has to be worked out and I'd appreciate any feedback.



--
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-14435) Diag. Events: JMX events

2018-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461804#comment-16461804
 ] 

mck commented on CASSANDRA-14435:
-

{quote}With the shared event buffer (1000){quote}
I'm lost, where's this buffer you mention [~cnlwsu]?
Once of the issues I can see is that events are sent on the current thread, ref 
{{NotificationBroadcasterSupport.defaultExecutor}}.

> Diag. Events: JMX events
> 
>
> Key: CASSANDRA-14435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
> Fix For: 4.x
>
>
> Nodes currently use JMX events for progress reporting on bootstrap and 
> repairs. This might also be an option to expose diagnostic events to external 
> subscribers.



--
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-13981) Enable Cassandra for Persistent Memory

2018-05-02 Thread Steve Dohrmann (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461647#comment-16461647
 ] 

Steve Dohrmann commented on CASSANDRA-13981:


We intend to change the license for the PCJ library (referenced in the 
description above) to A BSD-style license.  We'll post a comment here when that 
is done.

> Enable Cassandra for Persistent Memory 
> ---
>
> Key: CASSANDRA-13981
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13981
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Preetika Tyagi
>Assignee: Preetika Tyagi
>Priority: Major
> Fix For: 4.0
>
> Attachments: in-mem-cassandra-1.0.patch, readme.txt
>
>
> Currently, Cassandra relies on disks for data storage and hence it needs data 
> serialization, compaction, bloom filters and partition summary/index for 
> speedy access of the data. However, with persistent memory, data can be 
> stored directly in the form of Java objects and collections, which can 
> greatly simplify the retrieval mechanism of the data. What we are proposing 
> is to make use of faster and scalable B+ tree-based data collections built 
> for persistent memory in Java (PCJ: https://github.com/pmem/pcj) and enable a 
> complete in-memory version of Cassandra, while still keeping the data 
> persistent.



--
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] [Updated] (CASSANDRA-14379) Better handling of missing partition columns in system_schema.columns during startup

2018-05-02 Thread Jay Zhuang (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-14379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jay Zhuang updated CASSANDRA-14379:
---
   Resolution: Fixed
Fix Version/s: (was: 3.11.x)
   (was: 4.x)
   (was: 3.0.x)
   3.11.3
   3.0.17
   4.0
   Status: Resolved  (was: Ready to Commit)

> Better handling of missing partition columns in system_schema.columns during 
> startup
> 
>
> Key: CASSANDRA-14379
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14379
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Jay Zhuang
>Assignee: Jay Zhuang
>Priority: Major
> Fix For: 4.0, 3.0.17, 3.11.3
>
>
> Follow up for CASSANDRA-13180, during table deletion/creation, we saw one 
> table having partially deleted columns (no partition column, only regular 
> column). It's blocking node from startup:
> {noformat}
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:103)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.config.CFMetaData.rebuild(CFMetaData.java:308) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.CFMetaData.(CFMetaData.java:288) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.CFMetaData.create(CFMetaData.java:363) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchTable(SchemaKeyspace.java:1028)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchTables(SchemaKeyspace.java:987)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(SchemaKeyspace.java:945)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:922)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:910)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:138) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:128) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:241) 
> [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:567)
>  [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:695) 
> [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> {noformat}
> As partition column is mandatory, it should throw 
> [{{MissingColumns}}|https://github.com/apache/cassandra/blob/60563f4e8910fb59af141fd24f1fc1f98f34f705/src/java/org/apache/cassandra/schema/SchemaKeyspace.java#L1351],
>  the same as CASSANDRA-13180, so the user is able to cleanup the schema.



--
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-14379) Better handling of missing partition columns in system_schema.columns during startup

2018-05-02 Thread Jay Zhuang (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461532#comment-16461532
 ] 

Jay Zhuang commented on CASSANDRA-14379:


Thanks [~iamaleksey] for the review. Updated the patch based on your comments 
and committed as 
[eb68c31|https://github.com/apache/cassandra/commit/eb68c3126270e27fd9c88ef867bbcb8c7942a8e8].

> Better handling of missing partition columns in system_schema.columns during 
> startup
> 
>
> Key: CASSANDRA-14379
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14379
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Jay Zhuang
>Assignee: Jay Zhuang
>Priority: Major
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> Follow up for CASSANDRA-13180, during table deletion/creation, we saw one 
> table having partially deleted columns (no partition column, only regular 
> column). It's blocking node from startup:
> {noformat}
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:103)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.config.CFMetaData.rebuild(CFMetaData.java:308) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.CFMetaData.(CFMetaData.java:288) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.CFMetaData.create(CFMetaData.java:363) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchTable(SchemaKeyspace.java:1028)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchTables(SchemaKeyspace.java:987)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(SchemaKeyspace.java:945)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:922)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:910)
>  ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:138) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:128) 
> ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:241) 
> [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:567)
>  [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:695) 
> [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> {noformat}
> As partition column is mandatory, it should throw 
> [{{MissingColumns}}|https://github.com/apache/cassandra/blob/60563f4e8910fb59af141fd24f1fc1f98f34f705/src/java/org/apache/cassandra/schema/SchemaKeyspace.java#L1351],
>  the same as CASSANDRA-13180, so the user is able to cleanup the schema.



--
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



[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2018-05-02 Thread jzhuang
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/2d19de1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2d19de1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2d19de1c

Branch: refs/heads/trunk
Commit: 2d19de1cfabdc848477b33ba922c63013a7a9a1a
Parents: 783bbb3 eb68c31
Author: Jay Zhuang 
Authored: Wed May 2 11:02:03 2018 -0700
Committer: Jay Zhuang 
Committed: Wed May 2 11:03:34 2018 -0700

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/SchemaKeyspace.java | 35 +---
 .../cassandra/schema/SchemaKeyspaceTest.java| 29 
 3 files changed, 53 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d19de1c/CHANGES.txt
--
diff --cc CHANGES.txt
index 443c298,39edeb1..837b891
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -3.0.17
 +3.11.3
 + * 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:
+  * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)
   * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
   * Deprecate background repair and probablistic read_repair_chance table 
options
 (CASSANDRA-13910)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d19de1c/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 164e32d,81cc2e1..027b7cf
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@@ -999,18 -961,24 +999,24 @@@ public final class SchemaKeyspac
  }
  catch (MissingColumns exc)
  {
- if (!IGNORE_CORRUPTED_SCHEMA_TABLES)
+ String errorMsg = String.format("No partition columns found 
for table %s.%s in %s.%s.  This may be due to " +
+ "corruption or concurrent 
dropping and altering of a table. If this table is supposed " +
+ "to be dropped, {}run the 
following query to cleanup: " +
+ "\"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s'; " +
+ "DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s';\" " +
+ "If the table is not supposed 
to be dropped, restore %s.%s sstables from backups.",
 -keyspaceName, tableName, 
NAME, COLUMNS,
 -NAME, TABLES, keyspaceName, 
tableName,
 -NAME, COLUMNS, keyspaceName, 
tableName,
 -NAME, COLUMNS);
++keyspaceName, tableName, 
SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS,
++
SchemaConstants.SCHEMA_KEYSPACE_NAME, TABLES, keyspaceName, tableName,
++
SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS, keyspaceName, tableName,
++
SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS);
+ 
+ if (IGNORE_CORRUPTED_SCHEMA_TABLES)
  {
- logger.error("No columns found for table {}.{} in {}.{}.  
This may be due to " +
-  "corruption or concurrent dropping and 
altering of a table.  If this table " +
-  "is supposed to be dropped, restart 
cassandra with -Dcassandra.ignore_corrupted_schema_tables=true " +
-  

[2/6] cassandra git commit: Better handle missing partition columns in system_schema.columns

2018-05-02 Thread jzhuang
Better handle missing partition columns in system_schema.columns

Provide the user workaround if schema table is corrupted.

patch by Jay Zhuang; reviewed by Aleksey Yeschenko for CASSANDRA-14379


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/eb68c312
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eb68c312
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eb68c312

Branch: refs/heads/cassandra-3.11
Commit: eb68c3126270e27fd9c88ef867bbcb8c7942a8e8
Parents: 733f6b0
Author: Jay Zhuang 
Authored: Wed Apr 4 13:49:08 2018 -0700
Committer: Jay Zhuang 
Committed: Wed May 2 10:59:47 2018 -0700

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/SchemaKeyspace.java | 32 +++-
 .../cassandra/schema/SchemaKeyspaceTest.java| 29 ++
 3 files changed, 54 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb68c312/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9992802..39edeb1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.17
+ * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)
  * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
  * Deprecate background repair and probablistic read_repair_chance table 
options
(CASSANDRA-13910)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb68c312/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 578f501..81cc2e1 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -25,6 +25,7 @@ import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.*;
 import com.google.common.collect.Maps;
 import org.slf4j.Logger;
@@ -960,14 +961,24 @@ public final class SchemaKeyspace
 }
 catch (MissingColumns exc)
 {
-if (!IGNORE_CORRUPTED_SCHEMA_TABLES)
+String errorMsg = String.format("No partition columns found 
for table %s.%s in %s.%s.  This may be due to " +
+"corruption or concurrent 
dropping and altering of a table. If this table is supposed " +
+"to be dropped, {}run the 
following query to cleanup: " +
+"\"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s'; " +
+"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s';\" " +
+"If the table is not supposed 
to be dropped, restore %s.%s sstables from backups.",
+keyspaceName, tableName, NAME, 
COLUMNS,
+NAME, TABLES, keyspaceName, 
tableName,
+NAME, COLUMNS, keyspaceName, 
tableName,
+NAME, COLUMNS);
+
+if (IGNORE_CORRUPTED_SCHEMA_TABLES)
 {
-logger.error("No columns found for table {}.{} in {}.{}.  
This may be due to " +
- "corruption or concurrent dropping and 
altering of a table.  If this table " +
- "is supposed to be dropped, restart cassandra 
with -Dcassandra.ignore_corrupted_schema_tables=true " +
- "and run the following query: \"DELETE FROM 
{}.{} WHERE keyspace_name = '{}' AND table_name = '{}';\"." +
- "If the table is not supposed to be dropped, 
restore {}.{} sstables from backups.",
- keyspaceName, tableName, NAME, COLUMNS, NAME, 
TABLES, keyspaceName, tableName, NAME, COLUMNS);
+logger.error(errorMsg, "", exc);
+}
+else
+{
+logger.error(errorMsg, "restart cassandra with 
-Dcassandra.ignore_corrupted_schema_tables=true and ");
 throw exc;
 }
 }
@@ -1043,6 +1054,10 @@ public final class SchemaKeyspace
 
 List columns = new ArrayList<>();
 columnRows.forEach(row -> 

[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2018-05-02 Thread jzhuang
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/2d19de1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2d19de1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2d19de1c

Branch: refs/heads/cassandra-3.11
Commit: 2d19de1cfabdc848477b33ba922c63013a7a9a1a
Parents: 783bbb3 eb68c31
Author: Jay Zhuang 
Authored: Wed May 2 11:02:03 2018 -0700
Committer: Jay Zhuang 
Committed: Wed May 2 11:03:34 2018 -0700

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/SchemaKeyspace.java | 35 +---
 .../cassandra/schema/SchemaKeyspaceTest.java| 29 
 3 files changed, 53 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d19de1c/CHANGES.txt
--
diff --cc CHANGES.txt
index 443c298,39edeb1..837b891
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -3.0.17
 +3.11.3
 + * 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:
+  * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)
   * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
   * Deprecate background repair and probablistic read_repair_chance table 
options
 (CASSANDRA-13910)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d19de1c/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 164e32d,81cc2e1..027b7cf
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@@ -999,18 -961,24 +999,24 @@@ public final class SchemaKeyspac
  }
  catch (MissingColumns exc)
  {
- if (!IGNORE_CORRUPTED_SCHEMA_TABLES)
+ String errorMsg = String.format("No partition columns found 
for table %s.%s in %s.%s.  This may be due to " +
+ "corruption or concurrent 
dropping and altering of a table. If this table is supposed " +
+ "to be dropped, {}run the 
following query to cleanup: " +
+ "\"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s'; " +
+ "DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s';\" " +
+ "If the table is not supposed 
to be dropped, restore %s.%s sstables from backups.",
 -keyspaceName, tableName, 
NAME, COLUMNS,
 -NAME, TABLES, keyspaceName, 
tableName,
 -NAME, COLUMNS, keyspaceName, 
tableName,
 -NAME, COLUMNS);
++keyspaceName, tableName, 
SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS,
++
SchemaConstants.SCHEMA_KEYSPACE_NAME, TABLES, keyspaceName, tableName,
++
SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS, keyspaceName, tableName,
++
SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS);
+ 
+ if (IGNORE_CORRUPTED_SCHEMA_TABLES)
  {
- logger.error("No columns found for table {}.{} in {}.{}.  
This may be due to " +
-  "corruption or concurrent dropping and 
altering of a table.  If this table " +
-  "is supposed to be dropped, restart 
cassandra with 

[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2018-05-02 Thread jzhuang
Merge branch 'cassandra-3.11' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60ed982d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60ed982d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60ed982d

Branch: refs/heads/trunk
Commit: 60ed982d5309b674abfb32584f75f676951c2668
Parents: 0143974 2d19de1
Author: Jay Zhuang 
Authored: Wed May 2 11:05:25 2018 -0700
Committer: Jay Zhuang 
Committed: Wed May 2 11:08:18 2018 -0700

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/SchemaKeyspace.java | 36 +---
 .../cassandra/schema/SchemaKeyspaceTest.java| 29 
 3 files changed, 54 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/CHANGES.txt
--
diff --cc CHANGES.txt
index 27e69b8,837b891..5831978
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -246,7 -10,10 +246,8 @@@
   * RateBasedBackPressure unnecessarily invokes a lock on the Guava 
RateLimiter (CASSANDRA-14163)
   * Fix wildcard GROUP BY queries (CASSANDRA-14209)
  Merged from 3.0:
+  * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)
   * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
 - * Deprecate background repair and probablistic read_repair_chance table 
options
 -   (CASSANDRA-13910)
   * Add missed CQL keywords to documentation (CASSANDRA-14359)
   * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 
(CASSANDRA-14332)
   * Avoid deadlock when running nodetool refresh before node is fully up 
(CASSANDRA-14310)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index ca3c69f,027b7cf..638e912
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@@ -23,9 -25,9 +23,10 @@@ import java.util.*
  import java.util.concurrent.TimeUnit;
  import java.util.stream.Collectors;
  
+ import com.google.common.annotations.VisibleForTesting;
  import com.google.common.collect.*;
  import com.google.common.collect.Maps;
 +import com.google.common.hash.Hasher;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
@@@ -1012,8 -1097,12 +1019,12 @@@ public final class SchemaKeyspac
  if (columnRows.isEmpty())
  throw new MissingColumns("Columns not found in schema table for " 
+ keyspace + "." + table);
  
 -List columns = new ArrayList<>();
 +List columns = new ArrayList<>();
  columnRows.forEach(row -> columns.add(createColumnFromRow(row, 
types)));
+ 
 -if (columns.stream().noneMatch(ColumnDefinition::isPartitionKey))
++if (columns.stream().noneMatch(ColumnMetadata::isPartitionKey))
+ throw new MissingColumns("No partition key columns found in 
schema table for " + keyspace + "." + table);
+ 
  return columns;
  }
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java
--
diff --cc test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java
index d4c4bb4,f3ee85d..b3a7047
--- a/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java
+++ b/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java
@@@ -39,9 -47,22 +39,10 @@@ import org.apache.cassandra.db.Mutation
  import org.apache.cassandra.db.partitions.PartitionUpdate;
  import org.apache.cassandra.db.rows.UnfilteredRowIterators;
  import org.apache.cassandra.exceptions.ConfigurationException;
 -import org.apache.cassandra.io.util.DataInputBuffer;
 -import org.apache.cassandra.io.util.DataOutputBuffer;
 -import org.apache.cassandra.net.MessagingService;
 -import org.apache.cassandra.thrift.CfDef;
 -import org.apache.cassandra.thrift.ColumnDef;
 -import org.apache.cassandra.thrift.IndexType;
 -import org.apache.cassandra.thrift.ThriftConversion;
 -import org.apache.cassandra.utils.ByteBufferUtil;
  import org.apache.cassandra.utils.FBUtilities;
 -import org.apache.cassandra.utils.Pair;
  
+ import static org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal;
  import static org.junit.Assert.assertEquals;
 -import static org.junit.Assert.assertFalse;
  import static org.junit.Assert.assertTrue;
  
  public class SchemaKeyspaceTest
@@@ -131,7 -212,129 +132,35 @@@
  for (UntypedResultSet.Row row : columnsRows)

[3/6] cassandra git commit: Better handle missing partition columns in system_schema.columns

2018-05-02 Thread jzhuang
Better handle missing partition columns in system_schema.columns

Provide the user workaround if schema table is corrupted.

patch by Jay Zhuang; reviewed by Aleksey Yeschenko for CASSANDRA-14379


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/eb68c312
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eb68c312
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eb68c312

Branch: refs/heads/trunk
Commit: eb68c3126270e27fd9c88ef867bbcb8c7942a8e8
Parents: 733f6b0
Author: Jay Zhuang 
Authored: Wed Apr 4 13:49:08 2018 -0700
Committer: Jay Zhuang 
Committed: Wed May 2 10:59:47 2018 -0700

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/SchemaKeyspace.java | 32 +++-
 .../cassandra/schema/SchemaKeyspaceTest.java| 29 ++
 3 files changed, 54 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb68c312/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9992802..39edeb1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.17
+ * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)
  * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
  * Deprecate background repair and probablistic read_repair_chance table 
options
(CASSANDRA-13910)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb68c312/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 578f501..81cc2e1 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -25,6 +25,7 @@ import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.*;
 import com.google.common.collect.Maps;
 import org.slf4j.Logger;
@@ -960,14 +961,24 @@ public final class SchemaKeyspace
 }
 catch (MissingColumns exc)
 {
-if (!IGNORE_CORRUPTED_SCHEMA_TABLES)
+String errorMsg = String.format("No partition columns found 
for table %s.%s in %s.%s.  This may be due to " +
+"corruption or concurrent 
dropping and altering of a table. If this table is supposed " +
+"to be dropped, {}run the 
following query to cleanup: " +
+"\"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s'; " +
+"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s';\" " +
+"If the table is not supposed 
to be dropped, restore %s.%s sstables from backups.",
+keyspaceName, tableName, NAME, 
COLUMNS,
+NAME, TABLES, keyspaceName, 
tableName,
+NAME, COLUMNS, keyspaceName, 
tableName,
+NAME, COLUMNS);
+
+if (IGNORE_CORRUPTED_SCHEMA_TABLES)
 {
-logger.error("No columns found for table {}.{} in {}.{}.  
This may be due to " +
- "corruption or concurrent dropping and 
altering of a table.  If this table " +
- "is supposed to be dropped, restart cassandra 
with -Dcassandra.ignore_corrupted_schema_tables=true " +
- "and run the following query: \"DELETE FROM 
{}.{} WHERE keyspace_name = '{}' AND table_name = '{}';\"." +
- "If the table is not supposed to be dropped, 
restore {}.{} sstables from backups.",
- keyspaceName, tableName, NAME, COLUMNS, NAME, 
TABLES, keyspaceName, tableName, NAME, COLUMNS);
+logger.error(errorMsg, "", exc);
+}
+else
+{
+logger.error(errorMsg, "restart cassandra with 
-Dcassandra.ignore_corrupted_schema_tables=true and ");
 throw exc;
 }
 }
@@ -1043,6 +1054,10 @@ public final class SchemaKeyspace
 
 List columns = new ArrayList<>();
 columnRows.forEach(row -> 

[1/6] cassandra git commit: Better handle missing partition columns in system_schema.columns

2018-05-02 Thread jzhuang
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 733f6b0cf -> eb68c3126
  refs/heads/cassandra-3.11 783bbb3c8 -> 2d19de1cf
  refs/heads/trunk 01439740b -> 60ed982d5


Better handle missing partition columns in system_schema.columns

Provide the user workaround if schema table is corrupted.

patch by Jay Zhuang; reviewed by Aleksey Yeschenko for CASSANDRA-14379


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/eb68c312
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eb68c312
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eb68c312

Branch: refs/heads/cassandra-3.0
Commit: eb68c3126270e27fd9c88ef867bbcb8c7942a8e8
Parents: 733f6b0
Author: Jay Zhuang 
Authored: Wed Apr 4 13:49:08 2018 -0700
Committer: Jay Zhuang 
Committed: Wed May 2 10:59:47 2018 -0700

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/SchemaKeyspace.java | 32 +++-
 .../cassandra/schema/SchemaKeyspaceTest.java| 29 ++
 3 files changed, 54 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb68c312/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9992802..39edeb1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.17
+ * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)
  * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
  * Deprecate background repair and probablistic read_repair_chance table 
options
(CASSANDRA-13910)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb68c312/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 578f501..81cc2e1 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -25,6 +25,7 @@ import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.*;
 import com.google.common.collect.Maps;
 import org.slf4j.Logger;
@@ -960,14 +961,24 @@ public final class SchemaKeyspace
 }
 catch (MissingColumns exc)
 {
-if (!IGNORE_CORRUPTED_SCHEMA_TABLES)
+String errorMsg = String.format("No partition columns found 
for table %s.%s in %s.%s.  This may be due to " +
+"corruption or concurrent 
dropping and altering of a table. If this table is supposed " +
+"to be dropped, {}run the 
following query to cleanup: " +
+"\"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s'; " +
+"DELETE FROM %s.%s WHERE 
keyspace_name = '%s' AND table_name = '%s';\" " +
+"If the table is not supposed 
to be dropped, restore %s.%s sstables from backups.",
+keyspaceName, tableName, NAME, 
COLUMNS,
+NAME, TABLES, keyspaceName, 
tableName,
+NAME, COLUMNS, keyspaceName, 
tableName,
+NAME, COLUMNS);
+
+if (IGNORE_CORRUPTED_SCHEMA_TABLES)
 {
-logger.error("No columns found for table {}.{} in {}.{}.  
This may be due to " +
- "corruption or concurrent dropping and 
altering of a table.  If this table " +
- "is supposed to be dropped, restart cassandra 
with -Dcassandra.ignore_corrupted_schema_tables=true " +
- "and run the following query: \"DELETE FROM 
{}.{} WHERE keyspace_name = '{}' AND table_name = '{}';\"." +
- "If the table is not supposed to be dropped, 
restore {}.{} sstables from backups.",
- keyspaceName, tableName, NAME, COLUMNS, NAME, 
TABLES, keyspaceName, tableName, NAME, COLUMNS);
+logger.error(errorMsg, "", exc);
+}
+else
+{
+logger.error(errorMsg, "restart cassandra with 
-Dcassandra.ignore_corrupted_schema_tables=true and ");
 throw 

[jira] [Commented] (CASSANDRA-14435) Diag. Events: JMX events

2018-05-02 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461508#comment-16461508
 ] 

Chris Lohfink commented on CASSANDRA-14435:
---

Would be nice to be able to enable it for other mechanisms like native 
transport but not JMX

While I think its a good idea here, we should probably at least have a note in 
yaml about enabling it may impact operational tooling if using broadcaster. 
With the shared event buffer (1000), the more we use it (even if no one is 
listening to that mbean's events) the more lost notifications will occur. On an 
active node we already end up losing a lot of events if the client is anywhere 
with relevant latency from the node. Increasing the buffer isn't really a good 
option as it puts massive pressure on the heap as the composite data objects 
(particularly streaming ones) are huge.

> Diag. Events: JMX events
> 
>
> Key: CASSANDRA-14435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
> Fix For: 4.x
>
>
> Nodes currently use JMX events for progress reporting on bootstrap and 
> repairs. This might also be an option to expose diagnostic events to external 
> subscribers.



--
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] [Assigned] (CASSANDRA-14436) Add sampler for query time and expose with nodetool

2018-05-02 Thread Chris Lohfink (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-14436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Lohfink reassigned CASSANDRA-14436:
-

Assignee: Chris Lohfink

> Add sampler for query time and expose with nodetool
> ---
>
> Key: CASSANDRA-14436
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14436
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Major
>
> Create a new {{nodetool profileload}} that functions just like toppartitions 
> but with more data, returning the slowest local reads and writes on the host 
> during a given duration and highest frequency touched partitions (same as 
> {{nodetool toppartitions}}). Refactor included to extend use of the sampler 
> for uses outside of top frequency (max instead of total sample values).
> Future work to this is to include top cpu and allocations by query and 
> possibly tasks/cpu/allocations by stage during time window.



--
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] [Comment Edited] (CASSANDRA-14437) SSTableLoader does not work when "internode_encryption : all" is set

2018-05-02 Thread Paul Cheon (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461372#comment-16461372
 ] 

Paul Cheon edited comment on CASSANDRA-14437 at 5/2/18 5:42 PM:


Here is the cassandra.yml file content I used with sstableloader

{code}
---
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
cluster_name: vdc_ca_cdval
commitlog_sync: periodic
commitlog_sync_period_in_ms: 1
endpoint_snitch: GossipingPropertyFileSnitch
listen_address: 10.1.10.203
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.1.10.203
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - seeds: 10.1.10.201
num_tokens: 64
start_native_transport: true
transparent_data_encryption_options:
  enabled: true
  chunk_length_kb: '64'
  cipher: AES/CBC/PKCS5Padding
  key_alias: atrestencryptionkey
  key_provider:
  - class_name: org.apache.cassandra.security.JKSKeyProvider
parameters:
- keystore: "/etc/ssl/visier/atrestencryptionkey.jceks"
  keystore_password: somepassword
  store_type: JCEKS
  key_password: somepassword
server_encryption_options:
  internode_encryption: all
  keystore: "/etc/ssl/visier/10.1.119.203.jks"
  keystore_password: somepassword
  truststore: "/etc/ssl/visier/generic-server-truststore.jks"
  truststore_password: somepassword
  protocol:
  - TLS
  algorithm: SunX509
  store_type: JKS
  cipher_suites:
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  require_client_auth: true
client_encryption_options:
  enabled: true
  optional: false
  require_client_auth: false
  keystore: "/etc/ssl/visier/10.1.119.203.jks"
  keystore_password: somepassword
  truststore: "/etc/ssl/visier/generic-server-truststore.jks"
  truststore_password: somepassword
  protocol:
  - TLS
  cipher_suites:
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
batch_size_warn_threshold_in_kb: 10
slow_query_log_timeout_in_ms: 1000
commitlog_directory: "/var/lib/cassandra/commitlog"
data_file_directories:
- "/var/lib/cassandra/data"
hints_directory: "/var/lib/cassandra/hints"
saved_caches_directory: "/var/lib/cassandra/saved_caches"
{code}



was (Author: paul.ch...@visiercorp.com):
Here is the cassandra.yml file content I used with sstableloader

{code}
---
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
cluster_name: vdc_ca_cdval
commitlog_sync: periodic
commitlog_sync_period_in_ms: 1
endpoint_snitch: GossipingPropertyFileSnitch
listen_address: 10.1.10.203
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.1.10.203
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - seeds: 10.1.10.201,10.1.10.201
num_tokens: 64
start_native_transport: true
transparent_data_encryption_options:
  enabled: true
  chunk_length_kb: '64'
  cipher: AES/CBC/PKCS5Padding
  key_alias: atrestencryptionkey
  key_provider:
  - class_name: org.apache.cassandra.security.JKSKeyProvider
parameters:
- keystore: "/etc/ssl/visier/atrestencryptionkey.jceks"
  keystore_password: somepassword
  store_type: JCEKS
  key_password: somepassword
server_encryption_options:
  internode_encryption: all
  keystore: "/etc/ssl/visier/10.1.119.203.jks"
  keystore_password: somepassword
  truststore: "/etc/ssl/visier/generic-server-truststore.jks"
  truststore_password: somepassword
  protocol:
  - TLS
  algorithm: SunX509
  store_type: JKS
  cipher_suites:
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  require_client_auth: true

[jira] [Commented] (CASSANDRA-14437) SSTableLoader does not work when "internode_encryption : all" is set

2018-05-02 Thread Paul Cheon (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461372#comment-16461372
 ] 

Paul Cheon commented on CASSANDRA-14437:


Here is the cassandra.yml file content I used with sstableloader

{code}
---
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
cluster_name: vdc_ca_cdval
commitlog_sync: periodic
commitlog_sync_period_in_ms: 1
endpoint_snitch: GossipingPropertyFileSnitch
listen_address: 10.1.10.203
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.1.10.203
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - seeds: 10.1.10.201,10.1.10.201
num_tokens: 64
start_native_transport: true
transparent_data_encryption_options:
  enabled: true
  chunk_length_kb: '64'
  cipher: AES/CBC/PKCS5Padding
  key_alias: atrestencryptionkey
  key_provider:
  - class_name: org.apache.cassandra.security.JKSKeyProvider
parameters:
- keystore: "/etc/ssl/visier/atrestencryptionkey.jceks"
  keystore_password: somepassword
  store_type: JCEKS
  key_password: somepassword
server_encryption_options:
  internode_encryption: all
  keystore: "/etc/ssl/visier/10.1.119.203.jks"
  keystore_password: somepassword
  truststore: "/etc/ssl/visier/generic-server-truststore.jks"
  truststore_password: somepassword
  protocol:
  - TLS
  algorithm: SunX509
  store_type: JKS
  cipher_suites:
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  require_client_auth: true
client_encryption_options:
  enabled: true
  optional: false
  require_client_auth: false
  keystore: "/etc/ssl/visier/10.1.119.203.jks"
  keystore_password: somepassword
  truststore: "/etc/ssl/visier/generic-server-truststore.jks"
  truststore_password: somepassword
  protocol:
  - TLS
  cipher_suites:
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
batch_size_warn_threshold_in_kb: 10
slow_query_log_timeout_in_ms: 1000
commitlog_directory: "/var/lib/cassandra/commitlog"
data_file_directories:
- "/var/lib/cassandra/data"
hints_directory: "/var/lib/cassandra/hints"
saved_caches_directory: "/var/lib/cassandra/saved_caches"
{code}


> SSTableLoader does not work when "internode_encryption : all" is set
> 
>
> Key: CASSANDRA-14437
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14437
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Paul Cheon
>Priority: Major
> Fix For: 3.11.2
>
>
> I am trying to use sstableloader to restore snapshot.
> If "internode_encryption :  all" is set, then it does not work and complain 
> with below error messages.  I initiated sstableloader from 10.1.10.203 
> (yvr-paul-cas003), so 10.1.10.203 worked fine, but the the other two nodes 
> (10.1.10.201 & 10.1.10.202 failed)
> {noformat}
> pcheon@yvr-paul-cas003:~/t$ sstableloader -v -d 10.1.10.203 office_audit/log/ 
> -f /etc/cassandra/cassandra.yaml -u pcheon -pw `cat .secret`
> WARN  17:23:45,166 Small commitlog volume detected at 
> /var/lib/cassandra/commitlog; setting commitlog_total_space_in_mb to 2316.  
> You can override this in cassandra.yaml
> WARN  17:23:45,170 Small cdc volume detected at /var/lib/cassandra/cdc_raw; 
> setting cdc_total_space_in_mb to 1158.  You can override this in 
> cassandra.yaml
> WARN  17:23:45,285 Only 5.318GiB free across all data volumes. Consider 
> adding more capacity to your cluster or removing obsolete snapshots
> Established connection to initial hosts
> Opening sstables and calculating sections to stream
> Streaming relevant part of 
> /home/pcheon/t/office_audit/log/mc-1083-big-Data.db 
> /home/pcheon/t/office_audit/log/mc-1100-big-Data.db 
> /home/pcheon/t/office_audit/log/mc-1101-big-Data.db 
> /home/pcheon/t/office_audit/log/mc-257-big-Data.db 
> /home/pcheon/t/office_audit/log/mc-984-big-Data.db  to [/10.1.10.201, 
> /10.1.10.203, /10.1.10.202]
> ERROR 17:23:49,460 

[jira] [Created] (CASSANDRA-14437) SSTableLoader does not work when "internode_encryption : all" is set

2018-05-02 Thread Paul Cheon (JIRA)
Paul Cheon created CASSANDRA-14437:
--

 Summary: SSTableLoader does not work when "internode_encryption : 
all" is set
 Key: CASSANDRA-14437
 URL: https://issues.apache.org/jira/browse/CASSANDRA-14437
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Paul Cheon
 Fix For: 3.11.2


I am trying to use sstableloader to restore snapshot.

If "internode_encryption :  all" is set, then it does not work and complain 
with below error messages.  I initiated sstableloader from 10.1.10.203 
(yvr-paul-cas003), so 10.1.10.203 worked fine, but the the other two nodes 
(10.1.10.201 & 10.1.10.202 failed)

{noformat}
pcheon@yvr-paul-cas003:~/t$ sstableloader -v -d 10.1.10.203 office_audit/log/ 
-f /etc/cassandra/cassandra.yaml -u pcheon -pw `cat .secret`
WARN  17:23:45,166 Small commitlog volume detected at 
/var/lib/cassandra/commitlog; setting commitlog_total_space_in_mb to 2316.  You 
can override this in cassandra.yaml
WARN  17:23:45,170 Small cdc volume detected at /var/lib/cassandra/cdc_raw; 
setting cdc_total_space_in_mb to 1158.  You can override this in cassandra.yaml
WARN  17:23:45,285 Only 5.318GiB free across all data volumes. Consider adding 
more capacity to your cluster or removing obsolete snapshots
Established connection to initial hosts
Opening sstables and calculating sections to stream
Streaming relevant part of /home/pcheon/t/office_audit/log/mc-1083-big-Data.db 
/home/pcheon/t/office_audit/log/mc-1100-big-Data.db 
/home/pcheon/t/office_audit/log/mc-1101-big-Data.db 
/home/pcheon/t/office_audit/log/mc-257-big-Data.db 
/home/pcheon/t/office_audit/log/mc-984-big-Data.db  to [/10.1.10.201, 
/10.1.10.203, /10.1.10.202]
ERROR 17:23:49,460 [Stream #938baee0-4e2d-11e8-9be0-ebc69ba4b87f] Streaming 
error occurred on session with peer 10.1.10.201
java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_112]
at 
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
~[na:1.8.0_112]
at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
 ~[na:1.8.0_112]
at 
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
~[na:1.8.0_112]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
~[na:1.8.0_112]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_112]
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) 
~[na:1.8.0_112]
at sun.security.ssl.SSLSocketImpl.(SSLSocketImpl.java:495) 
~[na:1.8.0_112]
at 
sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:169)
 ~[na:1.8.0_112]
at 
org.apache.cassandra.security.SSLFactory.getSocket(SSLFactory.java:81) 
~[apache-cassandra-3.11.2.jar:3.11.2]
at 
org.apache.cassandra.tools.BulkLoadConnectionFactory.createConnection(BulkLoadConnectionFactory.java:56)
 ~[apache-cassandra-3.11.2.jar:3.11.2]
at 
org.apache.cassandra.streaming.StreamSession.createConnection(StreamSession.java:282)
 ~[apache-cassandra-3.11.2.jar:3.11.2]
at 
org.apache.cassandra.streaming.ConnectionHandler.initiate(ConnectionHandler.java:86)
 ~[apache-cassandra-3.11.2.jar:3.11.2]
at 
org.apache.cassandra.streaming.StreamSession.start(StreamSession.java:269) 
~[apache-cassandra-3.11.2.jar:3.11.2]
at 
org.apache.cassandra.streaming.StreamCoordinator$StreamSessionConnector.run(StreamCoordinator.java:263)
 [apache-cassandra-3.11.2.jar:3.11.2]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[na:1.8.0_112]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_112]
at 
org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:81)
 [apache-cassandra-3.11.2.jar:3.11.2]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]
ERROR 17:23:49,458 [Stream #938baee0-4e2d-11e8-9be0-ebc69ba4b87f] Streaming 
error occurred on session with peer 10.1.10.202
java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_112]
at 
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
~[na:1.8.0_112]
at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
 ~[na:1.8.0_112]
at 
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
~[na:1.8.0_112]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
~[na:1.8.0_112]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_112]
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) 
~[na:1.8.0_112]
at 

[jira] [Created] (CASSANDRA-14436) Add sampler for query time and expose with nodetool

2018-05-02 Thread Chris Lohfink (JIRA)
Chris Lohfink created CASSANDRA-14436:
-

 Summary: Add sampler for query time and expose with nodetool
 Key: CASSANDRA-14436
 URL: https://issues.apache.org/jira/browse/CASSANDRA-14436
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Lohfink


Create a new {{nodetool profileload}} that functions just like toppartitions 
but with more data, returning the slowest local reads and writes on the host 
during a given duration and highest frequency touched partitions (same as 
{{nodetool toppartitions}}). Refactor included to extend use of the sampler for 
uses outside of top frequency (max instead of total sample values).

Future work to this is to include top cpu and allocations by query and possibly 
tasks/cpu/allocations by stage during time window.



--
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-14428) Run ant eclipse-warnings in circleci

2018-05-02 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461323#comment-16461323
 ] 

Ariel Weisberg commented on CASSANDRA-14428:


My mistake. I didn't realize eclipse warnings was in the build task. Yeah it's 
fine to put it there. +1

> Run ant eclipse-warnings in circleci
> 
>
> Key: CASSANDRA-14428
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14428
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Major
> Fix For: 4.x
>
>
> We should run ant eclipse-warnings in circle-ci



--
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-14335) C* nodetool should report the lowest of the highest CQL protocol version supported by all clients connecting to it

2018-05-02 Thread Dinesh Joshi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461161#comment-16461161
 ] 

Dinesh Joshi commented on CASSANDRA-14335:
--

This will just give me the currently connected clients. When the client 
connects and drops off we won’t have any idea of what protocol version it used. 
So, my patch keeps a history of last N Clients and their protocol versions. 

> C* nodetool should report the lowest of the highest CQL protocol version 
> supported by all clients connecting to it
> --
>
> Key: CASSANDRA-14335
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14335
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Dinesh Joshi
>Assignee: Dinesh Joshi
>Priority: Major
>
> While upgrading C*, it makes it hard to tell whether any client will be 
> affected if C* is upgraded. C* should internally store the highest protocol 
> version of all clients connecting to it. The lowest supported version will 
> help determining if any client will be adversely affected by the upgrade.



--
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-14335) C* nodetool should report the lowest of the highest CQL protocol version supported by all clients connecting to it

2018-05-02 Thread Jason Brown (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461026#comment-16461026
 ] 

Jason Brown commented on CASSANDRA-14335:
-

We already store the {{ProtocolVersion}} along with the channel in 
{{Connection}}. We also store a reference to the {{Connection}} in the 
{{Channel}}, as a channel attribute. Thus, it seems to me you could just add a 
method like this to {{Server.ConnectionTracker}} (I changed the return type to 
make the example simpler):

{code:java}
public Map 
getClientsByProtocolVersion()
{
Map result = new 
EnumMap<>(ProtocolVersion.class);
for (Channel c : allChannels)
{
Attribute attrConn = 
c.attr(Connection.attributeKey);
Connection connection = attrConn.get();
if (connection != null)
{
ProtocolVersion version = connection.getVersion();
SocketAddress addr = c.remoteAddress();
result.computeIfAbsent(version, protocolVersion -> new 
HashSet<>());
result.get(version).add(addr);
}
}
return result;
}
{code}

(Note: {{ConnectionTracker#allChannels}} is a {{DefaultChannelGroup}}, whose 
{{Iterator()}} method wraps two {{ConcurrentHashMap}} s, so I think you are 
safe concurrency-wise.) This gives you a snapshot of everything that is 
currently connected. Is this sufficient, [~djoshi3]?

> C* nodetool should report the lowest of the highest CQL protocol version 
> supported by all clients connecting to it
> --
>
> Key: CASSANDRA-14335
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14335
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Dinesh Joshi
>Assignee: Dinesh Joshi
>Priority: Major
>
> While upgrading C*, it makes it hard to tell whether any client will be 
> affected if C* is upgraded. C* should internally store the highest protocol 
> version of all clients connecting to it. The lowest supported version will 
> help determining if any client will be adversely affected by the upgrade.



--
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-14435) Diag. Events: JMX events

2018-05-02 Thread Stefan Podkowinski (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460990#comment-16460990
 ] 

Stefan Podkowinski commented on CASSANDRA-14435:


Quick way to give this a local test:

* compile and start
* jconsole localhost:7199
* Enable events if disabled in yaml: {{o.a.c.diag DiagnosticEventService}} -> 
{{resumePublishing()}}
* Start emit dummy events: {{o.a.c.diag DummyEventEmitter}} -> 
{{dummyEventEmitIntervalMillis(1000)}}
* Enable listening to dummy events: {{o.a.c.diag DiagnosticEvents}} -> 
{{enableEvents(org.apache.cassandra.diag.DummyEvent)}}
* Go to {{o.a.c.diag DiagnosticEvents}} Notifications and subscribe 



> Diag. Events: JMX events
> 
>
> Key: CASSANDRA-14435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>Priority: Major
> Fix For: 4.x
>
>
> Nodes currently use JMX events for progress reporting on bootstrap and 
> repairs. This might also be an option to expose diagnostic events to external 
> subscribers.



--
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-14435) Diag. Events: JMX events

2018-05-02 Thread Stefan Podkowinski (JIRA)
Stefan Podkowinski created CASSANDRA-14435:
--

 Summary: Diag. Events: JMX events
 Key: CASSANDRA-14435
 URL: https://issues.apache.org/jira/browse/CASSANDRA-14435
 Project: Cassandra
  Issue Type: New Feature
Reporter: Stefan Podkowinski
Assignee: Stefan Podkowinski
 Fix For: 4.x


Nodes currently use JMX events for progress reporting on bootstrap and repairs. 
This might also be an option to expose diagnostic events to external 
subscribers.



--
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-12697) cdc column addition still breaks schema migration tasks

2018-05-02 Thread JIRA

[ 
https://issues.apache.org/jira/browse/CASSANDRA-12697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460947#comment-16460947
 ] 

Gábor Auth commented on CASSANDRA-12697:


Hi guys,

I've tried to add a new DC to my cluster and I ran into a CDC bug via schema 
disagreement between the old DCs and the new DC (with version 3.11.0)...

I've diffed the good and the bad system_scheme tables. The only difference is 
the `cdc` field in three keyspaces (in `tables` and `views`):
- the value of `cdc` field on the good node is `False`
- the value of `cdc` field on the bad node is `null`

The value of `cdc` field on the other keyspaces is `null`. One or two years ago 
I've tried the CDC feature but switched off... after I updated the schema of 
the affected keyspaces on the new nodes with 'cdc=false' then everything is 
okay.

> cdc column addition still breaks schema migration tasks
> ---
>
> Key: CASSANDRA-12697
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12697
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
>Priority: Major
> Fix For: 3.10
>
>
> This is a followup of CASSANDRA-12236, which basically didn't fully fix the 
> problem. Namely, the fix from CASSANDRA-12236 skipped the {{cdc}} column in 
> {{SchemaKeyspace.addTableParamsToRowBuilder()}}, but that method isn't used 
> by schema "migration tasks" ({{MigrationRequestVerbHandler}}, which instead 
> directly send the content of the full schema table it reads from disk. So we 
> still end up with a RTE like CASSANDRA-12236. 



--
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-14419) Resume compresed hints delivery broken

2018-05-02 Thread Tommy Stendahl (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460939#comment-16460939
 ] 

Tommy Stendahl commented on CASSANDRA-14419:


Backporting the fix for CASSANDRA-11960 to the 3.0 branch might not be as easy 
as I thought, changes introduced by CASSANDRA-5863 messed up things for me, 
thats why the unit tests failed. But I still think the solution is similar to 
CASSANDRA-11960.

> Resume compresed hints delivery broken
> --
>
> Key: CASSANDRA-14419
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14419
> Project: Cassandra
>  Issue Type: Bug
>  Components: Hints
>Reporter: Tommy Stendahl
>Priority: Blocker
>
> We are using Cassandra 3.0.15 and are using compressed hints, but if hint 
> delivery is interrupted resuming hint delivery is failing.
> {code}
> 2018-04-04T13:27:48.948+0200 ERROR [HintsDispatcher:14] 
> CassandraDaemon.java:207 Exception in thread Thread[HintsDispatcher:14,1,main]
> java.lang.IllegalArgumentException: Unable to seek to position 1789149057 in 
> /var/lib/cassandra/hints/9592c860-1054-4c60-b3b8-faa9adc6d769-1522838912649-1.hints
>  (118259682 bytes) in read-only mode
>     at 
> org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:287)
>  ~[apache-cassandra-clientutil-3.0.15.jar:3.0.15]
>     at org.apache.cassandra.hints.HintsReader.seek(HintsReader.java:114) 
> ~[apache-cassandra-3.0.15.jar:3.0.15]
>     at 
> org.apache.cassandra.hints.HintsDispatcher.seek(HintsDispatcher.java:83) 
> ~[apache-cassandra-3.0.15.jar:3.0.15]
>     at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:263)
>  ~[apache-cassandra-3.0.15.jar:3.0.15]
>     at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:248)
>  ~[apache-cassandra-3.0.15.jar:3.0.15]
>     at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:226)
>  ~[apache-cassandra-3.0.15.jar:3.0.15]
>     at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:205)
>  ~[apache-cassandra-3.0.15.jar:3.0.15]
>     at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_152]
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_152]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  ~[na:1.8.0_152]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [na:1.8.0_152]
>     at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:79)
>  [apache-cassandra-3.0.15.jar:3.0.15]
>     at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_152]
> {code}
>  I think the problem is similar to CASSANDRA-11960.



--
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] [Updated] (CASSANDRA-12742) Nodetool --ssl flag is not listed in 'nodetool help'

2018-05-02 Thread Jason Brown (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-12742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Brown updated CASSANDRA-12742:

Reviewer: Jason Brown

> Nodetool --ssl flag is not listed in 'nodetool help'
> 
>
> Key: CASSANDRA-12742
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12742
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Simon Fontana Oscarsson
>Assignee: Simon Fontana Oscarsson
>Priority: Trivial
> Fix For: 2.2.x
>
> Attachments: CASSANDRA-12742
>
>
> Nodetool help should show ssl flag as an option.
> Output from "nodetool help" before:
> usage: nodetool [(-pw  | --password )]
> [(-pwf  | --password-file )]
> [(-p  | --port )] [(-h  | --host )]
> [(-u  | --username )]  []
> After:
> usage: nodetool [(-pw  | --password )] [--ssl]
> [(-pwf  | --password-file )]
> [(-p  | --port )] [(-h  | --host )]
> [(-u  | --username )]  []



--
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-14298) cqlshlib tests broken on b.a.o

2018-05-02 Thread Stefan Podkowinski (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460720#comment-16460720
 ] 

Stefan Podkowinski commented on CASSANDRA-14298:


Nice work! Just found a single change to clarify, before spinning up tests runs.
{quote} 
 "Many tests were failing because they were asserting that some string was 
equal to content in stdout or stderr piped from subprocess, which was a bytes"
{quote}
Having both a local {{run_cqlsh}} method returning bytes and ccm's 
{{node.run_cqlsh}} returning strings, is rather confusing and error prone. 
Can't we convert the local method to return strings as well, just to keep 
things consistent and spare us from carefully b' prefixing string literals in 
our assertions?

> cqlshlib tests broken on b.a.o
> --
>
> Key: CASSANDRA-14298
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14298
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build, Testing
>Reporter: Stefan Podkowinski
>Assignee: Patrick Bannister
>Priority: Major
>  Labels: cqlsh, dtest
> Attachments: CASSANDRA-14298.txt, cqlsh_tests_notes.md
>
>
> It appears that cqlsh-tests on builds.apache.org on all branches stopped 
> working since we removed nosetests from the system environment. See e.g. 
> [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console].
>  Looks like we either have to make nosetests available again or migrate to 
> pytest as we did with dtests. Giving pytest a quick try resulted in many 
> errors locally, but I haven't inspected them in detail yet. 



--
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] [Assigned] (CASSANDRA-12742) Nodetool --ssl flag is not listed in 'nodetool help'

2018-05-02 Thread mck (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-12742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mck reassigned CASSANDRA-12742:
---

Assignee: Simon Fontana Oscarsson

> Nodetool --ssl flag is not listed in 'nodetool help'
> 
>
> Key: CASSANDRA-12742
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12742
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Simon Fontana Oscarsson
>Assignee: Simon Fontana Oscarsson
>Priority: Trivial
> Fix For: 2.2.x
>
> Attachments: CASSANDRA-12742
>
>
> Nodetool help should show ssl flag as an option.
> Output from "nodetool help" before:
> usage: nodetool [(-pw  | --password )]
> [(-pwf  | --password-file )]
> [(-p  | --port )] [(-h  | --host )]
> [(-u  | --username )]  []
> After:
> usage: nodetool [(-pw  | --password )] [--ssl]
> [(-pwf  | --password-file )]
> [(-p  | --port )] [(-h  | --host )]
> [(-u  | --username )]  []



--
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-14360) Allow nodetool toppartitions without specifying table

2018-05-02 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460670#comment-16460670
 ] 

Chris Lohfink commented on CASSANDRA-14360:
---

[branch|https://github.com/clohfink/cassandra/tree/14360-trunk] 
[tests|https://circleci.com/gh/clohfink/cassandra/121]

> Allow nodetool toppartitions without specifying table
> -
>
> Key: CASSANDRA-14360
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14360
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Major
>
> It can be hard to determine even which table is the one with most issue, so 
> determining if there is a single dominate partition being updated or queried 
> would be nicer without having to specify the table.



--
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-13884) sstableloader option to accept target keyspace name

2018-05-02 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460613#comment-16460613
 ] 

mck commented on CASSANDRA-13884:
-

[~jay.zhuang], [~chovatia.jayd...@gmail.com], you're quite right, my apologies, 
completely missed that the "previous build" was not the previous commit!
Thanks for filing the ticket anyway.

> sstableloader option to accept target keyspace name
> ---
>
> Key: CASSANDRA-13884
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13884
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Jaydeepkumar Chovatia
>Assignee: Jaydeepkumar Chovatia
>Priority: Minor
> Fix For: 4.0
>
>
> Often as part of backup people store entire {{data}} directory. When they see 
> some corruption in data then they would like to restore data in same cluster 
> (for large clusters 200 nodes) but with different keyspace name. 
> Currently {{sstableloader}} uses parent folder as {{keyspace}}, it would be 
> nice to have an option to specify target keyspace name as part of 
> {{sstableloader}}



--
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-14428) Run ant eclipse-warnings in circleci

2018-05-02 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460574#comment-16460574
 ] 

Marcus Eriksson commented on CASSANDRA-14428:
-

bq. Can we run eclipse warnings inside the unit test job so we don't have to 
spin up the environment and build Cassandra again? That would save a bit less 
than two minutes. You could have it bail out if it's not container index 0 or 
just have all of them run it.
I did it this way since it would avoid having to re-run all unit tests just to 
check that the {{eclipse-warnings}} error is fixed - this way it would only 
start all containers running unit tests if {{eclipse-warnings}} is successful, 
not sure I understand how we could save any time since we don't build an extra 
time?

> Run ant eclipse-warnings in circleci
> 
>
> Key: CASSANDRA-14428
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14428
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Major
> Fix For: 4.x
>
>
> We should run ant eclipse-warnings in circle-ci



--
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-14431) Replace deprecated junit.framework.Assert usages with org.junit.Assert

2018-05-02 Thread Iuri Sitinschi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460572#comment-16460572
 ] 

Iuri Sitinschi commented on CASSANDRA-14431:


[~jasobrown], thank you!

> Replace deprecated junit.framework.Assert usages with org.junit.Assert
> --
>
> Key: CASSANDRA-14431
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14431
> Project: Cassandra
>  Issue Type: Test
>Reporter: Iuri Sitinschi
>Assignee: Iuri Sitinschi
>Priority: Minor
> Fix For: 4.0
>
> Attachments: 14431-trunk.txt
>
>
> I found a lot of tests which are still using old deprecated junit class 
> *junit.framework.Assert*. I suggest to replace it with recommended 
> *org.junit.Assert*. I can prepare a patch as soon as I receive a green light.



--
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-14434) ant eclipse-warnings failing on trunk

2018-05-02 Thread Jaydeepkumar Chovatia (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460573#comment-16460573
 ] 

Jaydeepkumar Chovatia commented on CASSANDRA-14434:
---

Cool just saw that it is already fixed as part of CASSANDRA-14428. Thank You!

> ant eclipse-warnings failing on trunk
> -
>
> Key: CASSANDRA-14434
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14434
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build
>Reporter: Jaydeepkumar Chovatia
>Assignee: Jaydeepkumar Chovatia
>Priority: Minor
>
> {{ant eclipse-warnings}} is been failing on last few builds
> e.g.
> https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-test-all/569/console
> {quote}
> eclipse-warnings:
> [mkdir] Created dir: 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/build/ecj
>  [echo] Running Eclipse Code Analysis.  Output logged to 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/build/ecj/eclipse_compiler_checks.txt
>  [java] --
>  [java] 1. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/MessageIn.java
>  (at line 120)
>  [java]   builder.put(type, type.serializer.deserialize(new 
> DataInputBuffer(value), version));
>  [java] 
> ^^
>  [java] Potential resource leak: '' may not 
> be closed
>  [java] --
>  [java] --
>  [java] 2. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/async/MessageInHandler.java
>  (at line 216)
>  [java]   parameters.put(parameterType, 
> parameterType.serializer.deserialize(new DataInputBuffer(value), 
> messagingVersion));
>  [java]   
>^^
>  [java] Potential resource leak: '' may not 
> be closed
>  [java] --
>  [java] --
>  [java] 3. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
>  (at line 42)
>  [java]   group = Keyspace.writeOrder.start();
>  [java]   ^^^
>  [java] Resource 'group' should be managed by try-with-resource
>  [java] --
>  [java] 4. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
>  (at line 68)
>  [java]   group = Keyspace.writeOrder.start();
>  [java]   ^^^
>  [java] Resource 'group' should be managed by try-with-resource
>  [java] --
>  [java] --
>  [java] 5. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/streaming/CassandraStreamReader.java
>  (at line 159)
>  [java]   return writer;
>  [java]   ^^
>  [java] Potential resource leak: 'txn' may not be closed at this location
>  [java] --
>  [java] --
>  [java] 6. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/streaming/CassandraStreamReceiver.java
>  (at line 106)
>  [java]   SSTableMultiWriter sstable = file.getSSTable();
>  [java]  ^^^
>  [java] Potential resource leak: 'sstable' may not be closed
>  [java] --
>  [java] 6 problems (6 errors)
> {quote}



--
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-14434) ant eclipse-warnings failing on trunk

2018-05-02 Thread Jaydeepkumar Chovatia (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460571#comment-16460571
 ] 

Jaydeepkumar Chovatia commented on CASSANDRA-14434:
---

It seems that many of the recent changes done as part of various JIRAs has 
broken {{eclipse-warnings}}

1. commit d31ed0f51b23d8fce892695ecd82d4f843f31f4c as part of CASSANDRA-14118 
has introduced following two warnings:
{quote}[java] 3. ERROR in 
/home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
 (at line 42)
 [java] group = Keyspace.writeOrder.start();
 [java] ^^^
 [java] Resource 'group' should be managed by try-with-resource
 [java] --
 [java] 4. ERROR in 
/home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
 (at line 68)
 [java] group = Keyspace.writeOrder.start();
 [java] ^^^
 [java] Resource 'group' should be managed by try-with-resource
 [java] --
{quote}
2. commit 59b5b6bef0fa76bf5740b688fcd4d9cf525760d0 as part of CASSANDRA-7544 
has introduced following two warnings:
{quote}[[java] 1. ERROR in 
/home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/MessageIn.java
 (at line 120)
 [java] builder.put(type, type.serializer.deserialize(new 
DataInputBuffer(value), version));
 [java] ^^
 [java] Potential resource leak: '' may not be 
closed
 [java] --
 [java] --
 [java] 2. ERROR in 
/home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/async/MessageInHandler.java
 (at line 216)
 [java] parameters.put(parameterType, parameterType.serializer.deserialize(new 
DataInputBuffer(value), messagingVersion));
 [java] ^^
 [java] Potential resource leak: '' may not be 
closed
{quote}
and so on ….

Let me work on fixing all the recent failures and submit the patch.

> ant eclipse-warnings failing on trunk
> -
>
> Key: CASSANDRA-14434
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14434
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build
>Reporter: Jaydeepkumar Chovatia
>Assignee: Jaydeepkumar Chovatia
>Priority: Minor
>
> {{ant eclipse-warnings}} is been failing on last few builds
> e.g.
> https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-test-all/569/console
> {quote}
> eclipse-warnings:
> [mkdir] Created dir: 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/build/ecj
>  [echo] Running Eclipse Code Analysis.  Output logged to 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/build/ecj/eclipse_compiler_checks.txt
>  [java] --
>  [java] 1. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/MessageIn.java
>  (at line 120)
>  [java]   builder.put(type, type.serializer.deserialize(new 
> DataInputBuffer(value), version));
>  [java] 
> ^^
>  [java] Potential resource leak: '' may not 
> be closed
>  [java] --
>  [java] --
>  [java] 2. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/async/MessageInHandler.java
>  (at line 216)
>  [java]   parameters.put(parameterType, 
> parameterType.serializer.deserialize(new DataInputBuffer(value), 
> messagingVersion));
>  [java]   
>^^
>  [java] Potential resource leak: '' may not 
> be closed
>  [java] --
>  [java] --
>  [java] 3. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
>  (at line 42)
>  [java]   group = Keyspace.writeOrder.start();
>  [java]   ^^^
>  [java] Resource 'group' should be managed by try-with-resource
>  [java] --
>  [java] 4. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
>  (at line 68)
>  [java]   group = Keyspace.writeOrder.start();
>  [java]   ^^^
>  [java] Resource 'group' should be managed by try-with-resource
>  [java] --
>  [java] --
>  [java] 5. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/streaming/CassandraStreamReader.java
>  (at line 159)
> 

[jira] [Commented] (CASSANDRA-14360) Allow nodetool toppartitions without specifying table

2018-05-02 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460565#comment-16460565
 ] 

Chris Lohfink commented on CASSANDRA-14360:
---

made the changes, also changed method signature to not require a Sampler enum 
since using MBean's, this would make it impossible to call without 
cassandra-all in the classpath of the client.

> Allow nodetool toppartitions without specifying table
> -
>
> Key: CASSANDRA-14360
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14360
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Major
>
> It can be hard to determine even which table is the one with most issue, so 
> determining if there is a single dominate partition being updated or queried 
> would be nicer without having to specify the table.



--
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] [Resolved] (CASSANDRA-14434) ant eclipse-warnings failing on trunk

2018-05-02 Thread Marcus Eriksson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-14434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcus Eriksson resolved CASSANDRA-14434.
-
   Resolution: Duplicate
Fix Version/s: (was: 4.x)

> ant eclipse-warnings failing on trunk
> -
>
> Key: CASSANDRA-14434
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14434
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build
>Reporter: Jaydeepkumar Chovatia
>Assignee: Jaydeepkumar Chovatia
>Priority: Minor
>
> {{ant eclipse-warnings}} is been failing on last few builds
> e.g.
> https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-test-all/569/console
> {quote}
> eclipse-warnings:
> [mkdir] Created dir: 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/build/ecj
>  [echo] Running Eclipse Code Analysis.  Output logged to 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/build/ecj/eclipse_compiler_checks.txt
>  [java] --
>  [java] 1. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/MessageIn.java
>  (at line 120)
>  [java]   builder.put(type, type.serializer.deserialize(new 
> DataInputBuffer(value), version));
>  [java] 
> ^^
>  [java] Potential resource leak: '' may not 
> be closed
>  [java] --
>  [java] --
>  [java] 2. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/net/async/MessageInHandler.java
>  (at line 216)
>  [java]   parameters.put(parameterType, 
> parameterType.serializer.deserialize(new DataInputBuffer(value), 
> messagingVersion));
>  [java]   
>^^
>  [java] Potential resource leak: '' may not 
> be closed
>  [java] --
>  [java] --
>  [java] 3. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
>  (at line 42)
>  [java]   group = Keyspace.writeOrder.start();
>  [java]   ^^^
>  [java] Resource 'group' should be managed by try-with-resource
>  [java] --
>  [java] 4. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java
>  (at line 68)
>  [java]   group = Keyspace.writeOrder.start();
>  [java]   ^^^
>  [java] Resource 'group' should be managed by try-with-resource
>  [java] --
>  [java] --
>  [java] 5. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/streaming/CassandraStreamReader.java
>  (at line 159)
>  [java]   return writer;
>  [java]   ^^
>  [java] Potential resource leak: 'txn' may not be closed at this location
>  [java] --
>  [java] --
>  [java] 6. ERROR in 
> /home/jenkins/jenkins-slave/workspace/Cassandra-trunk-test-all/src/java/org/apache/cassandra/db/streaming/CassandraStreamReceiver.java
>  (at line 106)
>  [java]   SSTableMultiWriter sstable = file.getSSTable();
>  [java]  ^^^
>  [java] Potential resource leak: 'sstable' may not be closed
>  [java] --
>  [java] 6 problems (6 errors)
> {quote}



--
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