[jira] [Comment Edited] (CASSANDRA-14904) SSTableloader doesn't understand listening for CQL connections on multiple ports
[ https://issues.apache.org/jira/browse/CASSANDRA-14904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692493#comment-16692493 ] Ian Cleasby edited comment on CASSANDRA-14904 at 11/21/18 1:52 AM: --- Patches: [trunk|https://github.com/apache/cassandra/compare/trunk...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports] [3.11|https://github.com/apache/cassandra/compare/cassandra-3.11...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports-3.11] was (Author: icleasby): Patches: [trunk|https://github.com/apache/cassandra/compare/cassandra-3.11...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports-3.11] > SSTableloader doesn't understand listening for CQL connections on multiple > ports > > > Key: CASSANDRA-14904 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14904 > Project: Cassandra > Issue Type: Bug > Components: Configuration >Reporter: Kurt Greaves >Assignee: Ian Cleasby >Priority: Minor > Fix For: 4.0, 3.11.x > > > sstableloader only searches the yaml for native_transport_port, so if > native_transport_port_ssl is set and encryption is enabled sstableloader will > fail to connect as it will use the non-SSL port for the connection. -- 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-14904) SSTableloader doesn't understand listening for CQL connections on multiple ports
[ https://issues.apache.org/jira/browse/CASSANDRA-14904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Cleasby updated CASSANDRA-14904: Status: Patch Available (was: Open) > SSTableloader doesn't understand listening for CQL connections on multiple > ports > > > Key: CASSANDRA-14904 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14904 > Project: Cassandra > Issue Type: Bug > Components: Configuration >Reporter: Kurt Greaves >Assignee: Ian Cleasby >Priority: Minor > Fix For: 4.0, 3.11.x > > > sstableloader only searches the yaml for native_transport_port, so if > native_transport_port_ssl is set and encryption is enabled sstableloader will > fail to connect as it will use the non-SSL port for the connection. -- 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-14904) SSTableloader doesn't understand listening for CQL connections on multiple ports
[ https://issues.apache.org/jira/browse/CASSANDRA-14904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692493#comment-16692493 ] Ian Cleasby edited comment on CASSANDRA-14904 at 11/21/18 1:49 AM: --- Patches: [trunk|https://github.com/apache/cassandra/compare/cassandra-3.11...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports-3.11] was (Author: icleasby): Patches: [trunk [3.11|https://github.com/apache/cassandra/compare/cassandra-3.11...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports-3.11] |https://github.com/apache/cassandra/compare/trunk...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports] > SSTableloader doesn't understand listening for CQL connections on multiple > ports > > > Key: CASSANDRA-14904 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14904 > Project: Cassandra > Issue Type: Bug > Components: Configuration >Reporter: Kurt Greaves >Assignee: Ian Cleasby >Priority: Minor > Fix For: 4.0, 3.11.x > > > sstableloader only searches the yaml for native_transport_port, so if > native_transport_port_ssl is set and encryption is enabled sstableloader will > fail to connect as it will use the non-SSL port for the connection. -- 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-14904) SSTableloader doesn't understand listening for CQL connections on multiple ports
[ https://issues.apache.org/jira/browse/CASSANDRA-14904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692493#comment-16692493 ] Ian Cleasby edited comment on CASSANDRA-14904 at 11/21/18 1:48 AM: --- Patches: [trunk [3.11|https://github.com/apache/cassandra/compare/cassandra-3.11...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports-3.11] |https://github.com/apache/cassandra/compare/trunk...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports] was (Author: icleasby): Patches: [trunk|https://github.com/apache/cassandra/compare/trunk...PenguinRage:OST-129-Update-sstabletableloader-to-understand-CQL-listening-on-multiple-ports] > SSTableloader doesn't understand listening for CQL connections on multiple > ports > > > Key: CASSANDRA-14904 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14904 > Project: Cassandra > Issue Type: Bug > Components: Configuration >Reporter: Kurt Greaves >Assignee: Ian Cleasby >Priority: Minor > Fix For: 4.0, 3.11.x > > > sstableloader only searches the yaml for native_transport_port, so if > native_transport_port_ssl is set and encryption is enabled sstableloader will > fail to connect as it will use the non-SSL port for the connection. -- 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-14880) drop table and materialized view frequently get error over time
[ https://issues.apache.org/jira/browse/CASSANDRA-14880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693867#comment-16693867 ] Jeremy Hanna commented on CASSANDRA-14880: -- Also jhon, can you populate the "Reproduced In" version field of the ticket? There have been several fixes over time, so just to see if it has already been addressed directly or indirectly. > drop table and materialized view frequently get error over time > --- > > Key: CASSANDRA-14880 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14880 > Project: Cassandra > Issue Type: Bug > Components: Materialized Views >Reporter: jhon >Assignee: jhon >Priority: Major > > when i create table and materialized view,then i drop it, if i drop it > frequently it will got error: "no response received from cassandra within > timeout period",for example: > for i=0; i<100; i++ { > create table; > create materialized view; > drop materialized view; > drop table; > how can i solve it ? > -- 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=16693844#comment-16693844 ] Joseph Lynch commented on CASSANDRA-14346: -- Quick update for those watching this ticket. Looks like during the Reaper donation discussion this sort of took a different turn and we don't have a shepherd to get this in any time soon. As such, I believe the plan is to start collaborating in the management process ticket (CASSANDRA-14395) on something more basic like health checks instead of going straight to solving the hard problems of robust repair scheduling, and then once we build up that management process and it becomes a mature part of the project we will re-visit robust repair scheduling that works out of the box for everyone; or Reaper will have been donated / integrated at that point. For those that need repair scheduling in production right now, I'm not sure what the path forward is yet. We at Netflix would like to re-work the attached patch and include it with our releases of Priam instead of Cassandra as a "distributed execution engine" for executing distributed maintenance tasks (repair, restart, upgrade, etc ...), but I'm not sure what the timeline there is and the relative prioritization vs the management process. > 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 >Assignee: Joseph Lynch >Priority: Major > Labels: 4.0-feature-freeze-review-requested, > CommunityFeedbackRequested > Fix For: 4.x > > 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] [Commented] (CASSANDRA-14829) Make stop-server.bat wait for Cassandra to terminate
[ https://issues.apache.org/jira/browse/CASSANDRA-14829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693813#comment-16693813 ] Georg Dietrich commented on CASSANDRA-14829: Hi [~djoshi3], I have successfully tried out this change on Cassandra 3.11.3 and on the current trunk. I also see that avoiding a regression by having a test would be good, however, it may not be worth the effort getting things to work on Windows. (And to avoid a regression, the dtests would have to be executed regularly on Windows, too...) So I'll leave everything as it is now. Thanks for review and all. > Make stop-server.bat wait for Cassandra to terminate > > > Key: CASSANDRA-14829 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14829 > Project: Cassandra > Issue Type: Improvement > Components: Packaging > Environment: Windows 10 >Reporter: Georg Dietrich >Assignee: Georg Dietrich >Priority: Minor > Labels: easyfix, windows > Fix For: 3.11.x, 4.x, 4.0.x > > > While administering a single node Cassandra on Windows, I noticed that the > stop-server.bat script returns before the cassandra process has actually > terminated. For use cases like creating a script "shut down & create backup > of data directory without having to worry about open files, then restart", it > would be good to make stop-server.bat wait for Cassandra to terminate. > All that is needed for that is to change in > apache-cassandra-3.11.3\bin\stop-server.bat "start /B powershell /file ..." > to "start /WAIT /B powershell /file ..." (additional /WAIT parameter). > Does this sound reasonable? > Here is the pull request: https://github.com/apache/cassandra/pull/287 -- 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-14905) if SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table.
[ https://issues.apache.org/jira/browse/CASSANDRA-14905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] C. Scott Andreas updated CASSANDRA-14905: - Component/s: Metrics > if SizeEstimatesRecorder misses a 'onDropTable' notification, the > size_estimates table will never be cleared for that table. > > > Key: CASSANDRA-14905 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14905 > Project: Cassandra > Issue Type: Bug > Components: Metrics >Reporter: Aleksandr Sorokoumov >Assignee: Aleksandr Sorokoumov >Priority: Minor > Fix For: 3.0.x, 3.11.x, 4.0.x > > > if a node is down when a keyspace/table is dropped, it will receive the > schema notification before the size estimates listener is registered, so the > entries for the dropped keyspace/table will never be cleaned from 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] [Updated] (CASSANDRA-14906) FastByteOperations.UnsafeOperations fails to handle read only byte buffers correctly
[ https://issues.apache.org/jira/browse/CASSANDRA-14906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] C. Scott Andreas updated CASSANDRA-14906: - Component/s: Core > FastByteOperations.UnsafeOperations fails to handle read only byte buffers > correctly > > > Key: CASSANDRA-14906 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14906 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Aleksandr Sorokoumov >Assignee: Aleksandr Sorokoumov >Priority: Minor > Fix For: 4.x > > > If a buffer is read only it reports having no array, though it may well be > backed by an array. Code in UnsafeOperation works under the impression that a > buffer for which hasArray() == false is necessarily a direct buffer. Which is > not the case. -- 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-14904) SSTableloader doesn't understand listening for CQL connections on multiple ports
[ https://issues.apache.org/jira/browse/CASSANDRA-14904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] C. Scott Andreas updated CASSANDRA-14904: - Component/s: Configuration > SSTableloader doesn't understand listening for CQL connections on multiple > ports > > > Key: CASSANDRA-14904 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14904 > Project: Cassandra > Issue Type: Bug > Components: Configuration >Reporter: Kurt Greaves >Assignee: Ian Cleasby >Priority: Minor > Fix For: 4.0, 3.11.x > > > sstableloader only searches the yaml for native_transport_port, so if > native_transport_port_ssl is set and encryption is enabled sstableloader will > fail to connect as it will use the non-SSL port for the connection. -- 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-14855) Message Flusher scheduling fell off the event loop, resulting in out of memory
[ https://issues.apache.org/jira/browse/CASSANDRA-14855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693502#comment-16693502 ] Sumanth Pasupuleti commented on CASSANDRA-14855: [~benedict] Here is the updated patch for review - [https://github.com/apache/cassandra/pull/293/files], Passing UTs: [https://circleci.com/gh/sumanth-pasupuleti/cassandra/185] > Message Flusher scheduling fell off the event loop, resulting in out of memory > -- > > Key: CASSANDRA-14855 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14855 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Sumanth Pasupuleti >Assignee: Sumanth Pasupuleti >Priority: Major > Labels: pull-request-available > Fix For: 3.0.17 > > Attachments: blocked_thread_pool.png, cpu.png, > eventloop_scheduledtasks.png, flusher running state.png, heap.png, > heap_dump.png, read_latency.png > > Time Spent: 10m > Remaining Estimate: 0h > > We recently had a production issue where about 10 nodes in a 96 node cluster > ran out of heap. > From heap dump analysis, I believe there is enough evidence to indicate > `queued` data member of the Flusher got too big, resulting in out of memory. > Below are specifics on what we found from the heap dump (relevant screenshots > attached): > * non-empty "queued" data member of Flusher having retaining heap of 0.5GB, > and multiple such instances. > * "running" data member of Flusher having "true" value > * Size of scheduledTasks on the eventloop was 0. > We suspect something (maybe an exception) caused the Flusher running state to > continue to be true, but was not able to schedule itself with the event loop. > Could not find any ERROR in the system.log, except for following INFO logs > around the incident time. > {code:java} > INFO [epollEventLoopGroup-2-4] 2018-xx-xx xx:xx:xx,592 Message.java:619 - > Unexpected exception during request; channel = [id: 0x8d288811, > L:/xxx.xx.xxx.xxx:7104 - R:/xxx.xx.x.xx:18886] > io.netty.channel.unix.Errors$NativeIoException: readAddress() failed: > Connection timed out > at io.netty.channel.unix.Errors.newIOException(Errors.java:117) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.unix.Errors.ioResult(Errors.java:138) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.unix.FileDescriptor.readAddress(FileDescriptor.java:175) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.AbstractEpollChannel.doReadBytes(AbstractEpollChannel.java:238) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:926) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:397) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:302) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {code} > I would like to pursue the following proposals to fix this issue: > # ImmediateFlusher: Backport trunk's ImmediateFlusher ( > [CASSANDRA-13651|https://issues.apache.org/jira/browse/CASSANDRA-13651] > https://github.com/apache/cassandra/commit/96ef514917e5a4829dbe864104dbc08a7d0e0cec) > to 3.0.x and maybe to other versions as well, since ImmediateFlusher seems > to be more robust than the existing Flusher as it does not depend on any > running state/scheduling. > # Make "queued" data member of the Flusher bounded to avoid any potential of > causing out of memory due to otherwise unbounded nature. -- 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-14855) Message Flusher scheduling fell off the event loop, resulting in out of memory
[ https://issues.apache.org/jira/browse/CASSANDRA-14855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated CASSANDRA-14855: --- Labels: pull-request-available (was: ) > Message Flusher scheduling fell off the event loop, resulting in out of memory > -- > > Key: CASSANDRA-14855 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14855 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Sumanth Pasupuleti >Assignee: Sumanth Pasupuleti >Priority: Major > Labels: pull-request-available > Fix For: 3.0.17 > > Attachments: blocked_thread_pool.png, cpu.png, > eventloop_scheduledtasks.png, flusher running state.png, heap.png, > heap_dump.png, read_latency.png > > > We recently had a production issue where about 10 nodes in a 96 node cluster > ran out of heap. > From heap dump analysis, I believe there is enough evidence to indicate > `queued` data member of the Flusher got too big, resulting in out of memory. > Below are specifics on what we found from the heap dump (relevant screenshots > attached): > * non-empty "queued" data member of Flusher having retaining heap of 0.5GB, > and multiple such instances. > * "running" data member of Flusher having "true" value > * Size of scheduledTasks on the eventloop was 0. > We suspect something (maybe an exception) caused the Flusher running state to > continue to be true, but was not able to schedule itself with the event loop. > Could not find any ERROR in the system.log, except for following INFO logs > around the incident time. > {code:java} > INFO [epollEventLoopGroup-2-4] 2018-xx-xx xx:xx:xx,592 Message.java:619 - > Unexpected exception during request; channel = [id: 0x8d288811, > L:/xxx.xx.xxx.xxx:7104 - R:/xxx.xx.x.xx:18886] > io.netty.channel.unix.Errors$NativeIoException: readAddress() failed: > Connection timed out > at io.netty.channel.unix.Errors.newIOException(Errors.java:117) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.unix.Errors.ioResult(Errors.java:138) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.unix.FileDescriptor.readAddress(FileDescriptor.java:175) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.AbstractEpollChannel.doReadBytes(AbstractEpollChannel.java:238) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:926) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:397) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:302) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {code} > I would like to pursue the following proposals to fix this issue: > # ImmediateFlusher: Backport trunk's ImmediateFlusher ( > [CASSANDRA-13651|https://issues.apache.org/jira/browse/CASSANDRA-13651] > https://github.com/apache/cassandra/commit/96ef514917e5a4829dbe864104dbc08a7d0e0cec) > to 3.0.x and maybe to other versions as well, since ImmediateFlusher seems > to be more robust than the existing Flusher as it does not depend on any > running state/scheduling. > # Make "queued" data member of the Flusher bounded to avoid any potential of > causing out of memory due to otherwise unbounded nature. -- 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-14898) Key cache loading is very slow when there are many SSTables
[ https://issues.apache.org/jira/browse/CASSANDRA-14898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693413#comment-16693413 ] Joseph Lynch edited comment on CASSANDRA-14898 at 11/20/18 4:18 PM: Started exploring caching the {{getSSTables}} call in [a 3.0 branch|https://github.com/apache/cassandra/compare/cassandra-3.0...jolynch:CASSANDRA-14898_30x]. The strategy I ended up using was to add an optional {{cleanupAfterDeserialize}} method to the {{CacheSerializer}} interface that cleans up any cached state after deserializations because I felt it was the least invasive change that allowed us to fix this problem. I also considered splitting the {{CacheSerializer}} interface into a {{CacheSerializer}} and {{CacheDeserializer}} class since that way the Deserializers wouldn't have to be static and could just throw away their state naturally at the end of a deserialization (since we only use them once afaik at startup) but I felt it was a more invasive change. I also wrote a quick [microbenchmark|https://github.com/apache/cassandra/compare/cassandra-3.0...jolynch:CASSANDRA-14898_30x#diff-51c5d5cb6842a1aedbff457ba77dd424] that creates 1000 small sstables and then does a keycache load and as expected my branch is about two orders of magnitude faster. I'd expect it to reduce by the number of sstables which it did so that's good. Benchmark results: status quo: {noformat} Benchmark Mode Cnt ScoreError Units CacheLoaderBench.keyCacheLoadTest sample 25 167.458 ± 24.430 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.00sample 125.436 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.50sample 164.364 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.90sample 216.583 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.95sample 231.106 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.99sample 236.454 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.999 sample 236.454 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0. sample 236.454 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p1.00sample 236.454 ms/op {noformat} Pre-allocating the Hashmap: {noformat} Benchmark Mode Cnt ScoreError Units CacheLoaderBench.keyCacheLoadTest sample 28 149.801 ± 11.483 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.00sample 114.426 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.50sample 147.980 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.90sample 168.401 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.95sample 181.941 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.99sample 190.317 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.999 sample 190.317 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0. sample 190.317 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p1.00sample 190.317 ms/op {noformat} Caching the entire {{getSSTables}} call and using a generation map for O(1) lookup: {noformat} Benchmark Mode Cnt Score Error Units CacheLoaderBench.keyCacheLoadTest sample 1101 3.190 ± 0.108 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.00sample 1.876 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.50sample 2.863 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.90sample 4.615 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.95sample 5.161 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.99sample 6.750 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.999 sample 14.178 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0. sample 14.205 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p1.00sample 14.205 ms/op {noformat} So this would seem to indicate that the production traces are correct and the {{O\(n\)}} traversal of the {{getSSTables}} is the dominating factor. was (Author: jolynch): Started exploring caching the {{getSSTables}} call in [a 3.0 branch|https://github.com/apache/cassandra/compare/cassandra-3.0...jolynch:CASSANDRA-14898_30x]. The strategy I ended up using was to add an optional
[jira] [Commented] (CASSANDRA-14898) Key cache loading is very slow when there are many SSTables
[ https://issues.apache.org/jira/browse/CASSANDRA-14898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693413#comment-16693413 ] Joseph Lynch commented on CASSANDRA-14898: -- Started exploring caching the {{getSSTables}} call in [a 3.0 branch|https://github.com/apache/cassandra/compare/cassandra-3.0...jolynch:CASSANDRA-14898_30x]. The strategy I ended up using was to add an optional {{cleanupAfterDeserialize}} method to the {{CacheSerializer}} interface that cleans up any cached state after deserializations because I felt it was the least invasive change that allowed us to fix this problem. I also considered splitting the {{CacheSerializer}} interface into a {{CacheSerializer}} and {{CacheDeserializer}} class since that way the Deserializers wouldn't have to be static and could just throw away their state naturally at the end of a deserialization (since we only use them once afaik at startup) but I felt it was a more invasive change. I also wrote a quick [microbenchmark|https://github.com/apache/cassandra/compare/cassandra-3.0...jolynch:CASSANDRA-14898_30x#diff-51c5d5cb6842a1aedbff457ba77dd424] that creates 1000 small sstables and then does a keycache load and as expected my branch is about two orders of magnitude faster. I'd expect it to reduce by the number of sstables which it did so that's good. Benchmark results: status quo: {noformat} Benchmark Mode Cnt ScoreError Units CacheLoaderBench.keyCacheLoadTest sample 25 167.458 ± 24.430 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.00sample 125.436 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.50sample 164.364 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.90sample 216.583 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.95sample 231.106 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.99sample 236.454 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.999 sample 236.454 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0. sample 236.454 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p1.00sample 236.454 ms/op {noformat} Pre-allocating the Hashmap: {noformat} Benchmark Mode Cnt ScoreError Units CacheLoaderBench.keyCacheLoadTest sample 28 149.801 ± 11.483 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.00sample 114.426 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.50sample 147.980 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.90sample 168.401 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.95sample 181.941 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.99sample 190.317 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.999 sample 190.317 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0. sample 190.317 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p1.00sample 190.317 ms/op {noformat} Caching the entire {{getSSTables}} call and using a generation map for O(1) lookup: {noformat} Benchmark Mode Cnt Score Error Units CacheLoaderBench.keyCacheLoadTest sample 1101 3.190 ± 0.108 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.00sample 1.876 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.50sample 2.863 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.90sample 4.615 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.95sample 5.161 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.99sample 6.750 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0.999 sample 14.178 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p0. sample 14.205 ms/op CacheLoaderBench.keyCacheLoadTest:keyCacheLoadTest·p1.00sample 14.205 ms/op {noformat} So this would seem to indicate that the production traces are correct and the {{O(n)}} traversal of the {{getSSTables}} is the dominating factor. > Key cache loading is very slow when there are many SSTables > --- > > Key: CASSANDRA-14898 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14898 > Project: Cassandra > Issue Type:
[jira] [Commented] (CASSANDRA-14899) Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
[ https://issues.apache.org/jira/browse/CASSANDRA-14899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693379#comment-16693379 ] Aleksey Yeschenko commented on CASSANDRA-14899: --- Committed as [cf6f7920f7742bb9a17a23ad37499d9213807d81|https://github.com/apache/cassandra/commit/cf6f7920f7742bb9a17a23ad37499d9213807d81] to 2.2, and merged upwards (just the unit tests bit). Cheers. > Cannot perform slice reads in reverse direction against tables with > clustering columns in mixed order > - > > Key: CASSANDRA-14899 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14899 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Aleksey Yeschenko >Assignee: Aleksey Yeschenko >Priority: Major > Fix For: 2.2.14 > > > CASSANDRA-11196 accidentally broke reading from tables with mixed clustering > column order in the opposite direction. > {{ReversedPrimaryKeyRestrictions::boundsAsComposites}} method attempts to > reverse the list returned from > {{PrimaryKeyRestrictionSet::boundsAsComposites}} and fails, as Guava’s > {{Lists::transform}} method returns a {{List}} that doesn’t support {{set()}}. > Reproduction: > {code} > CREATE TABLE test.test ( > a int, > b int, > c int, > PRIMARY KEY (a, b, c) > ) WITH CLUSTERING ORDER BY (b ASC, c DESC); > SELECT * FROM test.test WHERE a = 0 AND (b, c) > (0, 0) ORDER BY b DESC, c > ASC; > > ServerError: java.lang.UnsupportedOperationException > {code} > {code} > java.lang.UnsupportedOperationException: null > at java.util.AbstractList.set(AbstractList.java:132) ~[na:1.8.0_181] > at java.util.Collections.swap(Collections.java:497) ~[na:1.8.0_181] > at java.util.Collections.reverse(Collections.java:378) ~[na:1.8.0_181] > at > org.apache.cassandra.cql3.restrictions.ReversedPrimaryKeyRestrictions.boundsAsComposites(ReversedPrimaryKeyRestrictions.java:63) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.getClusteringColumnsBoundsAsComposites(StatementRestrictions.java:580) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:418) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:359) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getPageableCommand(SelectStatement.java:191) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:172) > ~[main/:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14899) Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
[ https://issues.apache.org/jira/browse/CASSANDRA-14899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-14899: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Cannot perform slice reads in reverse direction against tables with > clustering columns in mixed order > - > > Key: CASSANDRA-14899 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14899 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Aleksey Yeschenko >Assignee: Aleksey Yeschenko >Priority: Major > Fix For: 2.2.14 > > > CASSANDRA-11196 accidentally broke reading from tables with mixed clustering > column order in the opposite direction. > {{ReversedPrimaryKeyRestrictions::boundsAsComposites}} method attempts to > reverse the list returned from > {{PrimaryKeyRestrictionSet::boundsAsComposites}} and fails, as Guava’s > {{Lists::transform}} method returns a {{List}} that doesn’t support {{set()}}. > Reproduction: > {code} > CREATE TABLE test.test ( > a int, > b int, > c int, > PRIMARY KEY (a, b, c) > ) WITH CLUSTERING ORDER BY (b ASC, c DESC); > SELECT * FROM test.test WHERE a = 0 AND (b, c) > (0, 0) ORDER BY b DESC, c > ASC; > > ServerError: java.lang.UnsupportedOperationException > {code} > {code} > java.lang.UnsupportedOperationException: null > at java.util.AbstractList.set(AbstractList.java:132) ~[na:1.8.0_181] > at java.util.Collections.swap(Collections.java:497) ~[na:1.8.0_181] > at java.util.Collections.reverse(Collections.java:378) ~[na:1.8.0_181] > at > org.apache.cassandra.cql3.restrictions.ReversedPrimaryKeyRestrictions.boundsAsComposites(ReversedPrimaryKeyRestrictions.java:63) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.getClusteringColumnsBoundsAsComposites(StatementRestrictions.java:580) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:418) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:359) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getPageableCommand(SelectStatement.java:191) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:172) > ~[main/:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14899) Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
[ https://issues.apache.org/jira/browse/CASSANDRA-14899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-14899: -- Fix Version/s: (was: 2.2.x) 2.2.14 Status: Patch Available (was: Open) > Cannot perform slice reads in reverse direction against tables with > clustering columns in mixed order > - > > Key: CASSANDRA-14899 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14899 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Aleksey Yeschenko >Assignee: Aleksey Yeschenko >Priority: Major > Fix For: 2.2.14 > > > CASSANDRA-11196 accidentally broke reading from tables with mixed clustering > column order in the opposite direction. > {{ReversedPrimaryKeyRestrictions::boundsAsComposites}} method attempts to > reverse the list returned from > {{PrimaryKeyRestrictionSet::boundsAsComposites}} and fails, as Guava’s > {{Lists::transform}} method returns a {{List}} that doesn’t support {{set()}}. > Reproduction: > {code} > CREATE TABLE test.test ( > a int, > b int, > c int, > PRIMARY KEY (a, b, c) > ) WITH CLUSTERING ORDER BY (b ASC, c DESC); > SELECT * FROM test.test WHERE a = 0 AND (b, c) > (0, 0) ORDER BY b DESC, c > ASC; > > ServerError: java.lang.UnsupportedOperationException > {code} > {code} > java.lang.UnsupportedOperationException: null > at java.util.AbstractList.set(AbstractList.java:132) ~[na:1.8.0_181] > at java.util.Collections.swap(Collections.java:497) ~[na:1.8.0_181] > at java.util.Collections.reverse(Collections.java:378) ~[na:1.8.0_181] > at > org.apache.cassandra.cql3.restrictions.ReversedPrimaryKeyRestrictions.boundsAsComposites(ReversedPrimaryKeyRestrictions.java:63) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.getClusteringColumnsBoundsAsComposites(StatementRestrictions.java:580) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:418) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:359) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getPageableCommand(SelectStatement.java:191) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:172) > ~[main/:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[04/10] cassandra git commit: Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-14899 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf6f7920 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf6f7920 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf6f7920 Branch: refs/heads/trunk Commit: cf6f7920f7742bb9a17a23ad37499d9213807d81 Parents: dcd92a9 Author: Aleksey Yeshchenko Authored: Thu Nov 15 14:54:05 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:19:28 2018 + -- CHANGES.txt | 5 .../restrictions/PrimaryKeyRestrictionSet.java | 24 +++ .../SelectMultiColumnRelationTest.java | 25 3 files changed, 44 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 71c57ea..bca036d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,10 @@ 2.2.14 + * Cannot perform slice reads in reverse direction against tables with clustering columns + in mixed order (CASSANDRA-14899) * Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262) * Returns null instead of NaN or Infinity in JSON strings (CASSANDRA-14377) + 2.2.13 * Fix bug that prevented compaction of SSTables after full repairs (CASSANDRA-14423) * Incorrect counting of pending messages in OutboundTcpConnection (CASSANDRA-11551) @@ -15,6 +18,7 @@ Merged from 2.1: * Check checksum before decompressing data (CASSANDRA-14284) * CVE-2017-5929 Security vulnerability in Logback warning in NEWS.txt (CASSANDRA-14183) + 2.2.12 * Fix the inspectJvmOptions startup check (CASSANDRA-14112) * Fix race that prevents submitting compaction for a table when executor is full (CASSANDRA-13801) @@ -25,6 +29,7 @@ Merged from 2.1: * More PEP8 compliance for cqlsh (CASSANDRA-14021) * RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181) + 2.2.11 * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868) * Copy session properties on cqlsh.py do_login (CASSANDRA-13847) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java -- diff --git a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java index 2549bdf..5136fee 100644 --- a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java +++ b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java @@ -20,8 +20,6 @@ package org.apache.cassandra.cql3.restrictions; import java.nio.ByteBuffer; import java.util.*; -import com.google.common.collect.Lists; - import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.cql3.QueryOptions; @@ -195,14 +193,12 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl // It is clearly a hack but it does not make a lot of sense to refactor 2.2 for that as the problem is // already solved in 3.0. List composites = filterAndSort(setEocs(r, bound, builder.build())); -return Lists.transform(composites, new com.google.common.base.Function() -{ -@Override -public Composite apply(Composite composite) -{ -return composite.isEmpty() ? Composites.EMPTY: composite; -} -}); + +for (Composite c : composites) +if (c.isEmpty()) +return normalizeEmptyComposites(composites); + +return composites; } r.appendBoundTo(cfm, builder, bound, options); @@ -239,6 +235,14 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl return new ArrayList<>(set); } +private List normalizeEmptyComposites(List composites) +{ +List transformed = new ArrayList<>(composites.size()); +for (Composite c : composites) +transformed.add(c.isEmpty() ? Composites.EMPTY : c); +return transformed; +} + /** * Sets EOCs for the composites returned by the specified slice restriction for the given bound. *
[10/10] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/325d70d5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/325d70d5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/325d70d5 Branch: refs/heads/trunk Commit: 325d70d5a62e92c64aa5e0331e24390604a45d8f Parents: 9944d9e 54be1fa Author: Aleksey Yeshchenko Authored: Tue Nov 20 15:25:38 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:25:38 2018 + -- .../SelectMultiColumnRelationTest.java | 25 1 file changed, 25 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/325d70d5/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java -- diff --cc test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java index 52a7f47,30c727b..5062448 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java @@@ -1561,317 -1603,346 +1561,342 @@@ public class SelectMultiColumnRelationT @Test public void testMixedOrderColumns4() throws Throwable { -for (String compactOption : new String[]{"", " COMPACT STORAGE AND "}) -{ -createTable("CREATE TABLE %s (a int, b int, c int, d int, e int, PRIMARY KEY (a, b, c, d, e)) WITH " + -compactOption + -"CLUSTERING ORDER BY (b ASC, c DESC, d DESC, e ASC)"); - -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 2, 0, -1, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 2, 0, -1, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 2, 0, 1, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 2, -1, 1, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 2, -3, 1, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, -1, 0, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, -1, 1, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, -1, 1, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 0, 1, -1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 0, 1, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 0, 0, -1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 0, 0, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 0, 0, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 0, -1, -1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 1, 0, -1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 1, 0, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 1, 0, -1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 1, 0, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 1, 0, 1); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 1, 1, -1, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, 0, 0, 0, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, -1, 0, -1, 0); -execute("INSERT INTO %s (a, b, c, d, e) VALUES (?, ?, ?, ?, ?)", 0, -1, 0, 0, 0); - -assertRows(execute( -"SELECT * FROM %s" + -" WHERE a = ? " + -"AND (b,c,d,e)<(?,?,?,?) " + -"AND (b,c,d,e)>(?,?,?,?)", 0, 2, 0, 1, 1, -1, 0, -1, -1), - - row(0, -1, 0, 0, 0), - row(0, -1, 0, -1, 0), - row(0, 0, 0, 0, 0), - row(0, 1, 1, 0, -1), - row(0, 1, 1, 0, 0), - row(0, 1, 1, 0, 1), - row(0, 1, 1, -1, 0), - row(0, 1, 0, 1, -1), - row(0, 1, 0, 1, 1), - row(0, 1, 0, 0, -1), - row(0, 1, 0, 0, 0), - row(0, 1, 0, 0, 1), - row(0, 1, 0, -1, -1), - row(0, 1, -1, 1, 0), - row(0, 1, -1, 1,
[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/54be1fa8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/54be1fa8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/54be1fa8 Branch: refs/heads/trunk Commit: 54be1fa8f6ebf59ca33da6b558e440c708a061e5 Parents: 78c7d57 c9dc69d Author: Aleksey Yeshchenko Authored: Tue Nov 20 15:23:55 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:23:55 2018 + -- .../SelectMultiColumnRelationTest.java | 25 1 file changed, 25 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/54be1fa8/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c9dc69dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c9dc69dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c9dc69dc Branch: refs/heads/cassandra-3.11 Commit: c9dc69dce61618834c0a43ded53e95f2d0480e1b Parents: c6f822c cf6f792 Author: Aleksey Yeshchenko Authored: Tue Nov 20 15:23:42 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:23:42 2018 + -- .../SelectMultiColumnRelationTest.java | 25 1 file changed, 25 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c9dc69dc/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[03/10] cassandra git commit: Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-14899 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf6f7920 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf6f7920 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf6f7920 Branch: refs/heads/cassandra-3.11 Commit: cf6f7920f7742bb9a17a23ad37499d9213807d81 Parents: dcd92a9 Author: Aleksey Yeshchenko Authored: Thu Nov 15 14:54:05 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:19:28 2018 + -- CHANGES.txt | 5 .../restrictions/PrimaryKeyRestrictionSet.java | 24 +++ .../SelectMultiColumnRelationTest.java | 25 3 files changed, 44 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 71c57ea..bca036d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,10 @@ 2.2.14 + * Cannot perform slice reads in reverse direction against tables with clustering columns + in mixed order (CASSANDRA-14899) * Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262) * Returns null instead of NaN or Infinity in JSON strings (CASSANDRA-14377) + 2.2.13 * Fix bug that prevented compaction of SSTables after full repairs (CASSANDRA-14423) * Incorrect counting of pending messages in OutboundTcpConnection (CASSANDRA-11551) @@ -15,6 +18,7 @@ Merged from 2.1: * Check checksum before decompressing data (CASSANDRA-14284) * CVE-2017-5929 Security vulnerability in Logback warning in NEWS.txt (CASSANDRA-14183) + 2.2.12 * Fix the inspectJvmOptions startup check (CASSANDRA-14112) * Fix race that prevents submitting compaction for a table when executor is full (CASSANDRA-13801) @@ -25,6 +29,7 @@ Merged from 2.1: * More PEP8 compliance for cqlsh (CASSANDRA-14021) * RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181) + 2.2.11 * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868) * Copy session properties on cqlsh.py do_login (CASSANDRA-13847) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java -- diff --git a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java index 2549bdf..5136fee 100644 --- a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java +++ b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java @@ -20,8 +20,6 @@ package org.apache.cassandra.cql3.restrictions; import java.nio.ByteBuffer; import java.util.*; -import com.google.common.collect.Lists; - import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.cql3.QueryOptions; @@ -195,14 +193,12 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl // It is clearly a hack but it does not make a lot of sense to refactor 2.2 for that as the problem is // already solved in 3.0. List composites = filterAndSort(setEocs(r, bound, builder.build())); -return Lists.transform(composites, new com.google.common.base.Function() -{ -@Override -public Composite apply(Composite composite) -{ -return composite.isEmpty() ? Composites.EMPTY: composite; -} -}); + +for (Composite c : composites) +if (c.isEmpty()) +return normalizeEmptyComposites(composites); + +return composites; } r.appendBoundTo(cfm, builder, bound, options); @@ -239,6 +235,14 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl return new ArrayList<>(set); } +private List normalizeEmptyComposites(List composites) +{ +List transformed = new ArrayList<>(composites.size()); +for (Composite c : composites) +transformed.add(c.isEmpty() ? Composites.EMPTY : c); +return transformed; +} + /** * Sets EOCs for the composites returned by the specified slice restriction for the given bound. *
[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c9dc69dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c9dc69dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c9dc69dc Branch: refs/heads/trunk Commit: c9dc69dce61618834c0a43ded53e95f2d0480e1b Parents: c6f822c cf6f792 Author: Aleksey Yeshchenko Authored: Tue Nov 20 15:23:42 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:23:42 2018 + -- .../SelectMultiColumnRelationTest.java | 25 1 file changed, 25 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c9dc69dc/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/54be1fa8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/54be1fa8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/54be1fa8 Branch: refs/heads/cassandra-3.11 Commit: 54be1fa8f6ebf59ca33da6b558e440c708a061e5 Parents: 78c7d57 c9dc69d Author: Aleksey Yeshchenko Authored: Tue Nov 20 15:23:55 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:23:55 2018 + -- .../SelectMultiColumnRelationTest.java | 25 1 file changed, 25 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/54be1fa8/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[02/10] cassandra git commit: Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-14899 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf6f7920 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf6f7920 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf6f7920 Branch: refs/heads/cassandra-3.0 Commit: cf6f7920f7742bb9a17a23ad37499d9213807d81 Parents: dcd92a9 Author: Aleksey Yeshchenko Authored: Thu Nov 15 14:54:05 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:19:28 2018 + -- CHANGES.txt | 5 .../restrictions/PrimaryKeyRestrictionSet.java | 24 +++ .../SelectMultiColumnRelationTest.java | 25 3 files changed, 44 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 71c57ea..bca036d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,10 @@ 2.2.14 + * Cannot perform slice reads in reverse direction against tables with clustering columns + in mixed order (CASSANDRA-14899) * Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262) * Returns null instead of NaN or Infinity in JSON strings (CASSANDRA-14377) + 2.2.13 * Fix bug that prevented compaction of SSTables after full repairs (CASSANDRA-14423) * Incorrect counting of pending messages in OutboundTcpConnection (CASSANDRA-11551) @@ -15,6 +18,7 @@ Merged from 2.1: * Check checksum before decompressing data (CASSANDRA-14284) * CVE-2017-5929 Security vulnerability in Logback warning in NEWS.txt (CASSANDRA-14183) + 2.2.12 * Fix the inspectJvmOptions startup check (CASSANDRA-14112) * Fix race that prevents submitting compaction for a table when executor is full (CASSANDRA-13801) @@ -25,6 +29,7 @@ Merged from 2.1: * More PEP8 compliance for cqlsh (CASSANDRA-14021) * RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181) + 2.2.11 * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868) * Copy session properties on cqlsh.py do_login (CASSANDRA-13847) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java -- diff --git a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java index 2549bdf..5136fee 100644 --- a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java +++ b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java @@ -20,8 +20,6 @@ package org.apache.cassandra.cql3.restrictions; import java.nio.ByteBuffer; import java.util.*; -import com.google.common.collect.Lists; - import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.cql3.QueryOptions; @@ -195,14 +193,12 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl // It is clearly a hack but it does not make a lot of sense to refactor 2.2 for that as the problem is // already solved in 3.0. List composites = filterAndSort(setEocs(r, bound, builder.build())); -return Lists.transform(composites, new com.google.common.base.Function() -{ -@Override -public Composite apply(Composite composite) -{ -return composite.isEmpty() ? Composites.EMPTY: composite; -} -}); + +for (Composite c : composites) +if (c.isEmpty()) +return normalizeEmptyComposites(composites); + +return composites; } r.appendBoundTo(cfm, builder, bound, options); @@ -239,6 +235,14 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl return new ArrayList<>(set); } +private List normalizeEmptyComposites(List composites) +{ +List transformed = new ArrayList<>(composites.size()); +for (Composite c : composites) +transformed.add(c.isEmpty() ? Composites.EMPTY : c); +return transformed; +} + /** * Sets EOCs for the composites returned by the specified slice restriction for the given bound. *
[01/10] cassandra git commit: Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 dcd92a93a -> cf6f7920f refs/heads/cassandra-3.0 c6f822c2a -> c9dc69dce refs/heads/cassandra-3.11 78c7d57eb -> 54be1fa8f refs/heads/trunk 9944d9e24 -> 325d70d5a Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-14899 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf6f7920 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf6f7920 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf6f7920 Branch: refs/heads/cassandra-2.2 Commit: cf6f7920f7742bb9a17a23ad37499d9213807d81 Parents: dcd92a9 Author: Aleksey Yeshchenko Authored: Thu Nov 15 14:54:05 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:19:28 2018 + -- CHANGES.txt | 5 .../restrictions/PrimaryKeyRestrictionSet.java | 24 +++ .../SelectMultiColumnRelationTest.java | 25 3 files changed, 44 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 71c57ea..bca036d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,10 @@ 2.2.14 + * Cannot perform slice reads in reverse direction against tables with clustering columns + in mixed order (CASSANDRA-14899) * Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262) * Returns null instead of NaN or Infinity in JSON strings (CASSANDRA-14377) + 2.2.13 * Fix bug that prevented compaction of SSTables after full repairs (CASSANDRA-14423) * Incorrect counting of pending messages in OutboundTcpConnection (CASSANDRA-11551) @@ -15,6 +18,7 @@ Merged from 2.1: * Check checksum before decompressing data (CASSANDRA-14284) * CVE-2017-5929 Security vulnerability in Logback warning in NEWS.txt (CASSANDRA-14183) + 2.2.12 * Fix the inspectJvmOptions startup check (CASSANDRA-14112) * Fix race that prevents submitting compaction for a table when executor is full (CASSANDRA-13801) @@ -25,6 +29,7 @@ Merged from 2.1: * More PEP8 compliance for cqlsh (CASSANDRA-14021) * RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181) + 2.2.11 * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868) * Copy session properties on cqlsh.py do_login (CASSANDRA-13847) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7920/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java -- diff --git a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java index 2549bdf..5136fee 100644 --- a/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java +++ b/src/java/org/apache/cassandra/cql3/restrictions/PrimaryKeyRestrictionSet.java @@ -20,8 +20,6 @@ package org.apache.cassandra.cql3.restrictions; import java.nio.ByteBuffer; import java.util.*; -import com.google.common.collect.Lists; - import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.cql3.QueryOptions; @@ -195,14 +193,12 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl // It is clearly a hack but it does not make a lot of sense to refactor 2.2 for that as the problem is // already solved in 3.0. List composites = filterAndSort(setEocs(r, bound, builder.build())); -return Lists.transform(composites, new com.google.common.base.Function() -{ -@Override -public Composite apply(Composite composite) -{ -return composite.isEmpty() ? Composites.EMPTY: composite; -} -}); + +for (Composite c : composites) +if (c.isEmpty()) +return normalizeEmptyComposites(composites); + +return composites; } r.appendBoundTo(cfm, builder, bound, options); @@ -239,6 +235,14 @@ final class PrimaryKeyRestrictionSet extends AbstractPrimaryKeyRestrictions impl return new ArrayList<>(set); } +private List normalizeEmptyComposites(List composites) +{ +List transformed = new ArrayList<>(composites.size()); +for (Composite c :
[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c9dc69dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c9dc69dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c9dc69dc Branch: refs/heads/cassandra-3.0 Commit: c9dc69dce61618834c0a43ded53e95f2d0480e1b Parents: c6f822c cf6f792 Author: Aleksey Yeshchenko Authored: Tue Nov 20 15:23:42 2018 + Committer: Aleksey Yeshchenko Committed: Tue Nov 20 15:23:42 2018 + -- .../SelectMultiColumnRelationTest.java | 25 1 file changed, 25 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c9dc69dc/test/unit/org/apache/cassandra/cql3/validation/operations/SelectMultiColumnRelationTest.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-10540) RangeAwareCompaction
[ https://issues.apache.org/jira/browse/CASSANDRA-10540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-10540: Labels: compaction lcs vnodes (was: 4.0-feature-freeze-review-requested compaction lcs vnodes) removing tag 4.0-feature-freeze-review-requested as this is not close to being ready for review > RangeAwareCompaction > > > Key: CASSANDRA-10540 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10540 > Project: Cassandra > Issue Type: New Feature > Components: Compaction >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson >Priority: Major > Labels: compaction, lcs, vnodes > Fix For: 4.x > > > Broken out from CASSANDRA-6696, we should split sstables based on ranges > during compaction. > Requirements; > * dont create tiny sstables - keep them bunched together until a single vnode > is big enough (configurable how big that is) > * make it possible to run existing compaction strategies on the per-range > sstables > We should probably add a global compaction strategy parameter that states > whether this should be enabled or not. -- 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-14899) Cannot perform slice reads in reverse direction against tables with clustering columns in mixed order
[ https://issues.apache.org/jira/browse/CASSANDRA-14899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693303#comment-16693303 ] Alex Petrov commented on CASSANDRA-14899: - +1 with two minor optional nits for your consideration: * {{ArrayList -> List}} [here|https://github.com/iamaleksey/cassandra/commit/29b7f064d69aff55123dcfc282c3c44ab733734f#diff-f2feb48017f94269b5fbb96ee38b5816R204] * you can short-circuit [here|https://github.com/iamaleksey/cassandra/commit/29b7f064d69aff55123dcfc282c3c44ab733734f#diff-f2feb48017f94269b5fbb96ee38b5816R199] If you think these modifications are unnecessary, please feel free to commit as-is. > Cannot perform slice reads in reverse direction against tables with > clustering columns in mixed order > - > > Key: CASSANDRA-14899 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14899 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Aleksey Yeschenko >Assignee: Aleksey Yeschenko >Priority: Major > Fix For: 2.2.x > > > CASSANDRA-11196 accidentally broke reading from tables with mixed clustering > column order in the opposite direction. > {{ReversedPrimaryKeyRestrictions::boundsAsComposites}} method attempts to > reverse the list returned from > {{PrimaryKeyRestrictionSet::boundsAsComposites}} and fails, as Guava’s > {{Lists::transform}} method returns a {{List}} that doesn’t support {{set()}}. > Reproduction: > {code} > CREATE TABLE test.test ( > a int, > b int, > c int, > PRIMARY KEY (a, b, c) > ) WITH CLUSTERING ORDER BY (b ASC, c DESC); > SELECT * FROM test.test WHERE a = 0 AND (b, c) > (0, 0) ORDER BY b DESC, c > ASC; > > ServerError: java.lang.UnsupportedOperationException > {code} > {code} > java.lang.UnsupportedOperationException: null > at java.util.AbstractList.set(AbstractList.java:132) ~[na:1.8.0_181] > at java.util.Collections.swap(Collections.java:497) ~[na:1.8.0_181] > at java.util.Collections.reverse(Collections.java:378) ~[na:1.8.0_181] > at > org.apache.cassandra.cql3.restrictions.ReversedPrimaryKeyRestrictions.boundsAsComposites(ReversedPrimaryKeyRestrictions.java:63) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.getClusteringColumnsBoundsAsComposites(StatementRestrictions.java:580) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:418) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:359) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.getPageableCommand(SelectStatement.java:191) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:172) > ~[main/:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-14848) When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non seed nodes
[ https://issues.apache.org/jira/browse/CASSANDRA-14848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693242#comment-16693242 ] Tommy Stendahl edited comment on CASSANDRA-14848 at 11/20/18 1:39 PM: -- I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|https://github.com/tommystendahl/cassandra/commit/d2a9cfe87c0e41e20ea43a75bab76f2cba8e293c] was (Author: tommy_s): I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|]https://github.com/tommystendahl/cassandra/commit/d2a9cfe87c0e41e20ea43a75bab76f2cba8e293c] > When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non > seed nodes > - > > Key: CASSANDRA-14848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14848 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Tommy Stendahl >Priority: Major > Labels: security > > When upgrading from 3.11.3 to 4.0 with server encryption enabled the new 4.0 > node only connects to 3.11.3 seed node, there are no connection established > to non-seed nodes on the old version. > I have four nodes, *.242 is upgraded to 4.0, *.243 and *.244 are 3.11.3 > non-seed and *.246 are 3.11.3 seed. After starting the 4.0 node I get this > nodetool status on the different nodes: > {noformat} > *.242 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 1017.77 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > DN 10.216.193.243 743.32 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 > RAC1 > DN 10.216.193.244 711.54 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 659.81 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.243 and *.244 > -- Address Load Tokens Owns (effective) Host ID Rack > DN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.246 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > {noformat} > > I have built 4.0 with wire tracing activated and in my config the > storage_port=12700 and ssl_storage_port=12701. In the log I can see that the > 4.0 node start to connect to the 3.11.3 seed node on the storage_port but > quickly switch to the ssl_storage_port, but when connecting to the non-seed > nodes it never switch to the ssl_storage_port. > {noformat} > >grep 193.246 system.log | grep Outbound > 2018-10-25T10:57:36.799+0200 [MessagingService-NettyOutbound-Thread-4-1] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x2f0e5e55] CONNECT: > /10.216.193.246:12700 > 2018-10-25T10:57:36.902+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c] CONNECT: > /10.216.193.246:12701 > 2018-10-25T10:57:36.905+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] ACTIVE > 2018-10-25T10:57:36.906+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] WRITE: 8B > >grep 193.243 system.log | grep Outbound > 2018-10-25T10:57:38.438+0200 [MessagingService-NettyOutbound-Thread-4-3] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xd8f1d6c4] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.540+0200 [MessagingService-NettyOutbound-Thread-4-4] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xfde6cc9f] CONNECT: > /10.216.193.243:12700 >
[jira] [Updated] (CASSANDRA-14848) When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non seed nodes
[ https://issues.apache.org/jira/browse/CASSANDRA-14848?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tommy Stendahl updated CASSANDRA-14848: --- Assignee: Tommy Stendahl Status: Patch Available (was: Open) > When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non > seed nodes > - > > Key: CASSANDRA-14848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14848 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Tommy Stendahl >Assignee: Tommy Stendahl >Priority: Major > Labels: security > > When upgrading from 3.11.3 to 4.0 with server encryption enabled the new 4.0 > node only connects to 3.11.3 seed node, there are no connection established > to non-seed nodes on the old version. > I have four nodes, *.242 is upgraded to 4.0, *.243 and *.244 are 3.11.3 > non-seed and *.246 are 3.11.3 seed. After starting the 4.0 node I get this > nodetool status on the different nodes: > {noformat} > *.242 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 1017.77 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > DN 10.216.193.243 743.32 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 > RAC1 > DN 10.216.193.244 711.54 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 659.81 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.243 and *.244 > -- Address Load Tokens Owns (effective) Host ID Rack > DN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.246 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > {noformat} > > I have built 4.0 with wire tracing activated and in my config the > storage_port=12700 and ssl_storage_port=12701. In the log I can see that the > 4.0 node start to connect to the 3.11.3 seed node on the storage_port but > quickly switch to the ssl_storage_port, but when connecting to the non-seed > nodes it never switch to the ssl_storage_port. > {noformat} > >grep 193.246 system.log | grep Outbound > 2018-10-25T10:57:36.799+0200 [MessagingService-NettyOutbound-Thread-4-1] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x2f0e5e55] CONNECT: > /10.216.193.246:12700 > 2018-10-25T10:57:36.902+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c] CONNECT: > /10.216.193.246:12701 > 2018-10-25T10:57:36.905+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] ACTIVE > 2018-10-25T10:57:36.906+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] WRITE: 8B > >grep 193.243 system.log | grep Outbound > 2018-10-25T10:57:38.438+0200 [MessagingService-NettyOutbound-Thread-4-3] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xd8f1d6c4] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.540+0200 [MessagingService-NettyOutbound-Thread-4-4] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xfde6cc9f] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.694+0200 [MessagingService-NettyOutbound-Thread-4-5] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x7e87fc4e] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.741+0200 [MessagingService-NettyOutbound-Thread-4-7] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x39395296] CONNECT: > /10.216.193.243:12700{noformat} > > When I had the dbug log activated and started the 4.0 node I can see that it > switch port for *.246 but not for *.243 and *.244. > {noformat} > >grep DEBUG system.log| grep OutboundMessagingConnection | grep > >maybeUpdateConnectionId > 2018-10-25T13:12:56.095+0200 [ScheduledFastTasks:1] DEBUG > o.a.c.n.a.OutboundMessagingConnection:314 maybeUpdateConnectionId changing > connectionId to 10.216.193.246:12701 (GOSSIP), with a different port for > secure communication, because peer version is 11 > 2018-10-25T13:12:58.100+0200 [ReadStage-1]
[jira] [Comment Edited] (CASSANDRA-14848) When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non seed nodes
[ https://issues.apache.org/jira/browse/CASSANDRA-14848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693242#comment-16693242 ] Tommy Stendahl edited comment on CASSANDRA-14848 at 11/20/18 1:39 PM: -- I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|]https://github.com/tommystendahl/cassandra/commit/d2a9cfe87c0e41e20ea43a75bab76f2cba8e293c] was (Author: tommy_s): I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|]https://github.com/tommystendahl/cassandra/commit/d2a9cfe87c0e41e20ea43a75bab76f2cba8e293c > When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non > seed nodes > - > > Key: CASSANDRA-14848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14848 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Tommy Stendahl >Priority: Major > Labels: security > > When upgrading from 3.11.3 to 4.0 with server encryption enabled the new 4.0 > node only connects to 3.11.3 seed node, there are no connection established > to non-seed nodes on the old version. > I have four nodes, *.242 is upgraded to 4.0, *.243 and *.244 are 3.11.3 > non-seed and *.246 are 3.11.3 seed. After starting the 4.0 node I get this > nodetool status on the different nodes: > {noformat} > *.242 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 1017.77 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > DN 10.216.193.243 743.32 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 > RAC1 > DN 10.216.193.244 711.54 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 659.81 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.243 and *.244 > -- Address Load Tokens Owns (effective) Host ID Rack > DN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.246 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > {noformat} > > I have built 4.0 with wire tracing activated and in my config the > storage_port=12700 and ssl_storage_port=12701. In the log I can see that the > 4.0 node start to connect to the 3.11.3 seed node on the storage_port but > quickly switch to the ssl_storage_port, but when connecting to the non-seed > nodes it never switch to the ssl_storage_port. > {noformat} > >grep 193.246 system.log | grep Outbound > 2018-10-25T10:57:36.799+0200 [MessagingService-NettyOutbound-Thread-4-1] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x2f0e5e55] CONNECT: > /10.216.193.246:12700 > 2018-10-25T10:57:36.902+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c] CONNECT: > /10.216.193.246:12701 > 2018-10-25T10:57:36.905+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] ACTIVE > 2018-10-25T10:57:36.906+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] WRITE: 8B > >grep 193.243 system.log | grep Outbound > 2018-10-25T10:57:38.438+0200 [MessagingService-NettyOutbound-Thread-4-3] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xd8f1d6c4] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.540+0200 [MessagingService-NettyOutbound-Thread-4-4] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xfde6cc9f] CONNECT: > /10.216.193.243:12700 >
[jira] [Commented] (CASSANDRA-14848) When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non seed nodes
[ https://issues.apache.org/jira/browse/CASSANDRA-14848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693242#comment-16693242 ] Tommy Stendahl commented on CASSANDRA-14848: I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|https://github.com/tommystendahl/cassandra/tree/cassandra-14848] > When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non > seed nodes > - > > Key: CASSANDRA-14848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14848 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Tommy Stendahl >Priority: Major > Labels: security > > When upgrading from 3.11.3 to 4.0 with server encryption enabled the new 4.0 > node only connects to 3.11.3 seed node, there are no connection established > to non-seed nodes on the old version. > I have four nodes, *.242 is upgraded to 4.0, *.243 and *.244 are 3.11.3 > non-seed and *.246 are 3.11.3 seed. After starting the 4.0 node I get this > nodetool status on the different nodes: > {noformat} > *.242 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 1017.77 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > DN 10.216.193.243 743.32 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 > RAC1 > DN 10.216.193.244 711.54 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 659.81 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.243 and *.244 > -- Address Load Tokens Owns (effective) Host ID Rack > DN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.246 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > {noformat} > > I have built 4.0 with wire tracing activated and in my config the > storage_port=12700 and ssl_storage_port=12701. In the log I can see that the > 4.0 node start to connect to the 3.11.3 seed node on the storage_port but > quickly switch to the ssl_storage_port, but when connecting to the non-seed > nodes it never switch to the ssl_storage_port. > {noformat} > >grep 193.246 system.log | grep Outbound > 2018-10-25T10:57:36.799+0200 [MessagingService-NettyOutbound-Thread-4-1] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x2f0e5e55] CONNECT: > /10.216.193.246:12700 > 2018-10-25T10:57:36.902+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c] CONNECT: > /10.216.193.246:12701 > 2018-10-25T10:57:36.905+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] ACTIVE > 2018-10-25T10:57:36.906+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] WRITE: 8B > >grep 193.243 system.log | grep Outbound > 2018-10-25T10:57:38.438+0200 [MessagingService-NettyOutbound-Thread-4-3] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xd8f1d6c4] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.540+0200 [MessagingService-NettyOutbound-Thread-4-4] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xfde6cc9f] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.694+0200 [MessagingService-NettyOutbound-Thread-4-5] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x7e87fc4e] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.741+0200 [MessagingService-NettyOutbound-Thread-4-7] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x39395296] CONNECT: > /10.216.193.243:12700{noformat} > > When I had the dbug log activated and started the 4.0 node I can see that it > switch port for *.246 but not for *.243 and *.244. > {noformat} > >grep DEBUG system.log| grep OutboundMessagingConnection
[jira] [Comment Edited] (CASSANDRA-14848) When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non seed nodes
[ https://issues.apache.org/jira/browse/CASSANDRA-14848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693242#comment-16693242 ] Tommy Stendahl edited comment on CASSANDRA-14848 at 11/20/18 1:38 PM: -- I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|]https://github.com/tommystendahl/cassandra/commit/d2a9cfe87c0e41e20ea43a75bab76f2cba8e293c was (Author: tommy_s): I have done some more troubleshooting on the new exception I got and I don't think its related to my patch, I get the same issue without my patch also. Its probably related to CASSANDRA-14896. My patch do solve the issue I reported in this jira and with it the new node selects the correct port to all old nodes. Patch is here: [cassandra-14848|https://github.com/tommystendahl/cassandra/tree/cassandra-14848] > When upgrading 3.11.3->4.0 using SSL 4.0 nodes does not connect to old non > seed nodes > - > > Key: CASSANDRA-14848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14848 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Tommy Stendahl >Priority: Major > Labels: security > > When upgrading from 3.11.3 to 4.0 with server encryption enabled the new 4.0 > node only connects to 3.11.3 seed node, there are no connection established > to non-seed nodes on the old version. > I have four nodes, *.242 is upgraded to 4.0, *.243 and *.244 are 3.11.3 > non-seed and *.246 are 3.11.3 seed. After starting the 4.0 node I get this > nodetool status on the different nodes: > {noformat} > *.242 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 1017.77 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > DN 10.216.193.243 743.32 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 > RAC1 > DN 10.216.193.244 711.54 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 659.81 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.243 and *.244 > -- Address Load Tokens Owns (effective) Host ID Rack > DN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > *.246 > -- Address Load Tokens Owns (effective) Host ID Rack > UN 10.216.193.242 657.4 KiB 256 75,1% 7d278e14-d549-42f3-840d-77cfd852fbf4 > RAC1 > UN 10.216.193.243 471 KiB 256 74,8% 5586243a-ca74-4125-8e7e-09e82e23c4e5 RAC1 > UN 10.216.193.244 471.71 KiB 256 75,2% c155e262-b898-4e86-9e1d-d4d0f97e88f6 > RAC1 > UN 10.216.193.246 388.54 KiB 256 74,9% 502dd00f-fc02-4024-b65f-b98ba3808291 > RAC1 > {noformat} > > I have built 4.0 with wire tracing activated and in my config the > storage_port=12700 and ssl_storage_port=12701. In the log I can see that the > 4.0 node start to connect to the 3.11.3 seed node on the storage_port but > quickly switch to the ssl_storage_port, but when connecting to the non-seed > nodes it never switch to the ssl_storage_port. > {noformat} > >grep 193.246 system.log | grep Outbound > 2018-10-25T10:57:36.799+0200 [MessagingService-NettyOutbound-Thread-4-1] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x2f0e5e55] CONNECT: > /10.216.193.246:12700 > 2018-10-25T10:57:36.902+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c] CONNECT: > /10.216.193.246:12701 > 2018-10-25T10:57:36.905+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] ACTIVE > 2018-10-25T10:57:36.906+0200 [MessagingService-NettyOutbound-Thread-4-2] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0x9e81f62c, > L:/10.216.193.242:37252 - R:10.216.193.246/10.216.193.246:12701] WRITE: 8B > >grep 193.243 system.log | grep Outbound > 2018-10-25T10:57:38.438+0200 [MessagingService-NettyOutbound-Thread-4-3] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xd8f1d6c4] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.540+0200 [MessagingService-NettyOutbound-Thread-4-4] INFO > i.n.u.internal.logging.Slf4JLogger:101 info [id: 0xfde6cc9f] CONNECT: > /10.216.193.243:12700 > 2018-10-25T10:57:38.694+0200
[jira] [Commented] (CASSANDRA-14812) Multiget Thrift query processor skips records in case of digest mismatch
[ https://issues.apache.org/jira/browse/CASSANDRA-14812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693207#comment-16693207 ] Sivukhin Nikita commented on CASSANDRA-14812: - Thank you, [~benedict] . We tested your patch against provided integration tests and also try more tricky scenarios (for example, when digest mismatch happened in the middle of the sequence of requested keys). In all tested cases patch is working and the bug is not reproducing. When you plan to patch the master? Also, I want to clarify one issue, just for my confidence. Is it true, that the machinery of request processing for Thrift queries is totally different than for CQL queries? I'm asking about it because the patch is very specific and if the same bug also contained somewhere in the CQL processing pipeline then the patch will not help. The code surrounding response transformation and filtration is slightly entangled for me, so I can't be sure that there is no subtly dependency between CQL and Thrift processing pipelines that can also be under attack of a bug. > Multiget Thrift query processor skips records in case of digest mismatch > > > Key: CASSANDRA-14812 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14812 > Project: Cassandra > Issue Type: Bug > Components: Coordination, Core >Reporter: Sivukhin Nikita >Priority: Critical > Labels: bug > Attachments: repro_script.py, requirements.txt, small_repro_script.py > > > It seems that in Cassandra 3.0.0 a nasty bug was introduced in {{multiget}} > Thrift query processing logic. When one tries to read data from several > partitions with a single {{multiget}} query and {{DigestMismatch}} exception > is raised during this query processing, request coordinator prematurely > terminates response stream right at the point where the first > \{{DigestMismatch}} error is occurring. This leads to situation where clients > "do not see" some data contained in the database. > We managed to reproduce this bug in all versions of Cassandra starting with > v3.0.0. The pre-release version 3.0.0-rc2 works correctly. It looks like > [refactoring of iterator transformation > hierarchy|https://github.com/apache/cassandra/commit/609497471441273367013c09a1e0e1c990726ec7] > related to CASSANDRA-9975 triggers incorrect behaviour. > When concatenated iterator is returned from the > [StorageProxy.fetchRows(...)|https://github.com/apache/cassandra/blob/a05785d82c621c9cd04d8a064c38fd2012ef981c/src/java/org/apache/cassandra/service/StorageProxy.java#L1770], > Cassandra starts to consume this combined iterator. Because of > {{DigestMismatch}} exception some elements of this combined iterator contain > additional {{ThriftCounter}}, that was added during > [DataResolver.resolve(...)|https://github.com/apache/cassandra/blob/ee9e06b5a75c0be954694b191ea4170456015b98/src/java/org/apache/cassandra/service/reads/DataResolver.java#L120] > execution. While consuming iterator for many partitions Cassandra calls > [BaseIterator.tryGetMoreContents(...)|https://github.com/apache/cassandra/blob/a05785d82c621c9cd04d8a064c38fd2012ef981c/src/java/org/apache/cassandra/db/transform/BaseIterator.java#L115] > method that must switch from one partition iterator to another in case of > exhaustion of the former. In this case all Transformations contained in the > next iterator are applied to the combined BaseIterator that enumerates > partitions sequence which is wrong. This behaviour causes BaseIterator to > stop enumeration after it fully consumes partition with {{DigestMismatch}} > error, because this partition iterator has additional {{ThriftCounter}} data > limit. > The attachment contains the python2 script [^small_repro_script.py] that > reproduces this bug within 3-nodes ccmlib controlled cluster. Also, there is > an extended version of this script - [^repro_script.py] - that contains more > logging information and provides the ability to test behavior for many > Cassandra versions (to run all test cases from repro_script.py you can call > {{python -m unittest2 -v repro_script.ThriftMultigetTestCase}}). All the > necessary dependencies contained in the [^requirements.txt] > > This bug is critical in our production environment because we can't permit > any data skip. > Any ideas about a patch for this issue? -- 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-14906) FastByteOperations.UnsafeOperations fails to handle read only byte buffers correctly
[ https://issues.apache.org/jira/browse/CASSANDRA-14906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksandr Sorokoumov updated CASSANDRA-14906: - Status: Patch Available (was: Open) Patch: [4.0 | https://github.com/Ge/cassandra/tree/14906-4.0] > FastByteOperations.UnsafeOperations fails to handle read only byte buffers > correctly > > > Key: CASSANDRA-14906 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14906 > Project: Cassandra > Issue Type: Bug >Reporter: Aleksandr Sorokoumov >Assignee: Aleksandr Sorokoumov >Priority: Minor > Fix For: 4.x > > > If a buffer is read only it reports having no array, though it may well be > backed by an array. Code in UnsafeOperation works under the impression that a > buffer for which hasArray() == false is necessarily a direct buffer. Which is > not the case. -- 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-14855) Message Flusher scheduling fell off the event loop, resulting in out of memory
[ https://issues.apache.org/jira/browse/CASSANDRA-14855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693043#comment-16693043 ] Benedict commented on CASSANDRA-14855: -- That seems like a reasonable path forward to me, yes. I'll review the patch once you have it prepared. I'd propose using a more descriptive name for the property, though, that's prefixed by 'native_transport' > Message Flusher scheduling fell off the event loop, resulting in out of memory > -- > > Key: CASSANDRA-14855 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14855 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Sumanth Pasupuleti >Assignee: Sumanth Pasupuleti >Priority: Major > Fix For: 3.0.17 > > Attachments: blocked_thread_pool.png, cpu.png, > eventloop_scheduledtasks.png, flusher running state.png, heap.png, > heap_dump.png, read_latency.png > > > We recently had a production issue where about 10 nodes in a 96 node cluster > ran out of heap. > From heap dump analysis, I believe there is enough evidence to indicate > `queued` data member of the Flusher got too big, resulting in out of memory. > Below are specifics on what we found from the heap dump (relevant screenshots > attached): > * non-empty "queued" data member of Flusher having retaining heap of 0.5GB, > and multiple such instances. > * "running" data member of Flusher having "true" value > * Size of scheduledTasks on the eventloop was 0. > We suspect something (maybe an exception) caused the Flusher running state to > continue to be true, but was not able to schedule itself with the event loop. > Could not find any ERROR in the system.log, except for following INFO logs > around the incident time. > {code:java} > INFO [epollEventLoopGroup-2-4] 2018-xx-xx xx:xx:xx,592 Message.java:619 - > Unexpected exception during request; channel = [id: 0x8d288811, > L:/xxx.xx.xxx.xxx:7104 - R:/xxx.xx.x.xx:18886] > io.netty.channel.unix.Errors$NativeIoException: readAddress() failed: > Connection timed out > at io.netty.channel.unix.Errors.newIOException(Errors.java:117) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.unix.Errors.ioResult(Errors.java:138) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.unix.FileDescriptor.readAddress(FileDescriptor.java:175) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.AbstractEpollChannel.doReadBytes(AbstractEpollChannel.java:238) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:926) > ~[netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:397) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:302) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > at > io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {code} > I would like to pursue the following proposals to fix this issue: > # ImmediateFlusher: Backport trunk's ImmediateFlusher ( > [CASSANDRA-13651|https://issues.apache.org/jira/browse/CASSANDRA-13651] > https://github.com/apache/cassandra/commit/96ef514917e5a4829dbe864104dbc08a7d0e0cec) > to 3.0.x and maybe to other versions as well, since ImmediateFlusher seems > to be more robust than the existing Flusher as it does not depend on any > running state/scheduling. > # Make "queued" data member of the Flusher bounded to avoid any potential of > causing out of memory due to otherwise unbounded nature. -- 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-14906) FastByteOperations.UnsafeOperations fails to handle read only byte buffers correctly
Aleksandr Sorokoumov created CASSANDRA-14906: Summary: FastByteOperations.UnsafeOperations fails to handle read only byte buffers correctly Key: CASSANDRA-14906 URL: https://issues.apache.org/jira/browse/CASSANDRA-14906 Project: Cassandra Issue Type: Bug Reporter: Aleksandr Sorokoumov Assignee: Aleksandr Sorokoumov Fix For: 4.x If a buffer is read only it reports having no array, though it may well be backed by an array. Code in UnsafeOperation works under the impression that a buffer for which hasArray() == false is necessarily a direct buffer. Which is not the case. -- 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-14905) if SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table.
[ https://issues.apache.org/jira/browse/CASSANDRA-14905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692979#comment-16692979 ] Aleksandr Sorokoumov edited comment on CASSANDRA-14905 at 11/20/18 10:00 AM: - Patches: * [3.0|https://github.com/Ge/cassandra/tree/14905-3.0] * [3.11|https://github.com/Ge/cassandra/tree/14905-3.11] * [4.0|https://github.com/Ge/cassandra/tree/14905-4.0] * [dtest|https://github.com/Ge/cassandra-dtest/tree/14905] was (Author: ge): Patches: * [3.0|https://github.com/Ge/cassandra/tree/14905-3.0] * [3.11|https://github.com/Ge/cassandra/tree/14905-3.11] * [4.0|https://github.com/Ge/cassandra/tree/14905-4.0] > if SizeEstimatesRecorder misses a 'onDropTable' notification, the > size_estimates table will never be cleared for that table. > > > Key: CASSANDRA-14905 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14905 > Project: Cassandra > Issue Type: Bug >Reporter: Aleksandr Sorokoumov >Assignee: Aleksandr Sorokoumov >Priority: Minor > Fix For: 3.0.x, 3.11.x, 4.0.x > > > if a node is down when a keyspace/table is dropped, it will receive the > schema notification before the size estimates listener is registered, so the > entries for the dropped keyspace/table will never be cleaned from 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-14829) Make stop-server.bat wait for Cassandra to terminate
[ https://issues.apache.org/jira/browse/CASSANDRA-14829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692981#comment-16692981 ] Dinesh Joshi commented on CASSANDRA-14829: -- Hi [~georg], I am not a Windows user. If dtest cannot execute on Windows then perhaps we can skip it. Getting dtest working on Windows is beyond the scope of this ticket. I just wanted to ensure that we can avoid a regression in the future. For now, I'll try to test this on my Windows VM and if it works, we can find a committer to merge your change. Have you tried this fix on 3.x and trunk? > Make stop-server.bat wait for Cassandra to terminate > > > Key: CASSANDRA-14829 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14829 > Project: Cassandra > Issue Type: Improvement > Components: Packaging > Environment: Windows 10 >Reporter: Georg Dietrich >Assignee: Georg Dietrich >Priority: Minor > Labels: easyfix, windows > Fix For: 3.11.x, 4.x, 4.0.x > > > While administering a single node Cassandra on Windows, I noticed that the > stop-server.bat script returns before the cassandra process has actually > terminated. For use cases like creating a script "shut down & create backup > of data directory without having to worry about open files, then restart", it > would be good to make stop-server.bat wait for Cassandra to terminate. > All that is needed for that is to change in > apache-cassandra-3.11.3\bin\stop-server.bat "start /B powershell /file ..." > to "start /WAIT /B powershell /file ..." (additional /WAIT parameter). > Does this sound reasonable? > Here is the pull request: https://github.com/apache/cassandra/pull/287 -- 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-14905) if SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table.
[ https://issues.apache.org/jira/browse/CASSANDRA-14905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksandr Sorokoumov updated CASSANDRA-14905: - Assignee: Aleksandr Sorokoumov Fix Version/s: 4.0.x 3.11.x 3.0.x Status: Patch Available (was: Open) Patches: * [3.0|https://github.com/Ge/cassandra/tree/14905-3.0] * [3.11|https://github.com/Ge/cassandra/tree/14905-3.11] * [4.0|https://github.com/Ge/cassandra/tree/14905-4.0] > if SizeEstimatesRecorder misses a 'onDropTable' notification, the > size_estimates table will never be cleared for that table. > > > Key: CASSANDRA-14905 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14905 > Project: Cassandra > Issue Type: Bug >Reporter: Aleksandr Sorokoumov >Assignee: Aleksandr Sorokoumov >Priority: Minor > Fix For: 3.0.x, 3.11.x, 4.0.x > > > if a node is down when a keyspace/table is dropped, it will receive the > schema notification before the size estimates listener is registered, so the > entries for the dropped keyspace/table will never be cleaned from 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] [Created] (CASSANDRA-14905) if SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table.
Aleksandr Sorokoumov created CASSANDRA-14905: Summary: if SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table. Key: CASSANDRA-14905 URL: https://issues.apache.org/jira/browse/CASSANDRA-14905 Project: Cassandra Issue Type: Bug Reporter: Aleksandr Sorokoumov if a node is down when a keyspace/table is dropped, it will receive the schema notification before the size estimates listener is registered, so the entries for the dropped keyspace/table will never be cleaned from 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