[jira] [Commented] (CASSANDRA-10789) Allow DBAs to kill individual client sessions without bouncing JVM
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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 ZhuangAuthored: 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
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 ZhuangAuthored: 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
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 ZhuangAuthored: 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
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60ed982d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60ed982d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60ed982d Branch: refs/heads/trunk Commit: 60ed982d5309b674abfb32584f75f676951c2668 Parents: 0143974 2d19de1 Author: Jay ZhuangAuthored: Wed May 2 11:05:25 2018 -0700 Committer: Jay Zhuang Committed: Wed May 2 11:08:18 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/schema/SchemaKeyspace.java | 36 +--- .../cassandra/schema/SchemaKeyspaceTest.java| 29 3 files changed, 54 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/CHANGES.txt -- diff --cc CHANGES.txt index 27e69b8,837b891..5831978 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -246,7 -10,10 +246,8 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) - * Deprecate background repair and probablistic read_repair_chance table options - (CASSANDRA-13910) * Add missed CQL keywords to documentation (CASSANDRA-14359) * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/src/java/org/apache/cassandra/schema/SchemaKeyspace.java -- diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java index ca3c69f,027b7cf..638e912 --- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java +++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java @@@ -23,9 -25,9 +23,10 @@@ import java.util.* import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; + import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.*; import com.google.common.collect.Maps; +import com.google.common.hash.Hasher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@@ -1012,8 -1097,12 +1019,12 @@@ public final class SchemaKeyspac if (columnRows.isEmpty()) throw new MissingColumns("Columns not found in schema table for " + keyspace + "." + table); -List columns = new ArrayList<>(); +List columns = new ArrayList<>(); columnRows.forEach(row -> columns.add(createColumnFromRow(row, types))); + -if (columns.stream().noneMatch(ColumnDefinition::isPartitionKey)) ++if (columns.stream().noneMatch(ColumnMetadata::isPartitionKey)) + throw new MissingColumns("No partition key columns found in schema table for " + keyspace + "." + table); + return columns; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/60ed982d/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java -- diff --cc test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java index d4c4bb4,f3ee85d..b3a7047 --- a/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java +++ b/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java @@@ -39,9 -47,22 +39,10 @@@ import org.apache.cassandra.db.Mutation import org.apache.cassandra.db.partitions.PartitionUpdate; import org.apache.cassandra.db.rows.UnfilteredRowIterators; import org.apache.cassandra.exceptions.ConfigurationException; -import org.apache.cassandra.io.util.DataInputBuffer; -import org.apache.cassandra.io.util.DataOutputBuffer; -import org.apache.cassandra.net.MessagingService; -import org.apache.cassandra.thrift.CfDef; -import org.apache.cassandra.thrift.ColumnDef; -import org.apache.cassandra.thrift.IndexType; -import org.apache.cassandra.thrift.ThriftConversion; -import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; -import org.apache.cassandra.utils.Pair; + import static org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class SchemaKeyspaceTest @@@ -131,7 -212,129 +132,35 @@@ for (UntypedResultSet.Row row : columnsRows)
[3/6] cassandra git commit: Better handle missing partition columns in system_schema.columns
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 ZhuangAuthored: 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
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 ZhuangAuthored: 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
[ 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
[ 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
[ 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
[ 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
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
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
[ 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
[ 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
[ 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 MapgetClientsByProtocolVersion() { 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
[ 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
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
[ 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
[ 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'
[ 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
[ 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'
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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