[jira] [Updated] (CASSANDRA-12736) Update the bundled python driver on trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-12736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-12736: - Reviewer: Paulo Motta (was: Stefania) > Update the bundled python driver on trunk > - > > Key: CASSANDRA-12736 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12736 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Stefania > Labels: cqlsh > Fix For: 4.x > > > Trunk was recently updated to be version 4.0. The bundled python driver that > cqlsh uses has a bug where it fails to connect to a C* server with a major > version number greater than 3. The driver was fixed upstream, and we should > pull in the fix. > [~pauloricardomg] or [~stefania]? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (CASSANDRA-12736) Update the bundled python driver on trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-12736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania reassigned CASSANDRA-12736: Assignee: Stefania (was: Paulo Motta) > Update the bundled python driver on trunk > - > > Key: CASSANDRA-12736 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12736 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Stefania > Labels: cqlsh > Fix For: 4.x > > > Trunk was recently updated to be version 4.0. The bundled python driver that > cqlsh uses has a bug where it fails to connect to a C* server with a major > version number greater than 3. The driver was fixed upstream, and we should > pull in the fix. > [~pauloricardomg] or [~stefania]? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12461) Add hooks to StorageService shutdown
[ https://issues.apache.org/jira/browse/CASSANDRA-12461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15544086#comment-15544086 ] Stefania commented on CASSANDRA-12461: -- CASSANDRA-12509 has been committed, we can rebase this patch on cassandra-3.X. > Add hooks to StorageService shutdown > > > Key: CASSANDRA-12461 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12461 > Project: Cassandra > Issue Type: Bug >Reporter: Anthony Cozzie >Assignee: Anthony Cozzie > Fix For: 3.x > > Attachments: > 0001-CASSANDRA-12461-add-C-support-for-shutdown-runnables.patch > > > The JVM will usually run shutdown hooks in parallel. This can lead to > synchronization problems between Cassandra, services that depend on it, and > services it depends on. This patch adds some simple support for shutdown > hooks to StorageService. > This should nearly solve CASSANDRA-12011 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12509) Shutdown process triggered twice during if the node is drained
[ https://issues.apache.org/jira/browse/CASSANDRA-12509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-12509: - Component/s: Lifecycle > Shutdown process triggered twice during if the node is drained > -- > > Key: CASSANDRA-12509 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12509 > Project: Cassandra > Issue Type: Bug > Components: Lifecycle >Reporter: Alex Petrov >Assignee: Alex Petrov > Fix For: 3.0.10, 3.10 > > > If the node is drained, the {{StorageService#drain}} > [method|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L4212] > is called, which triggers shutdown of mutation stage, messaging service, > compaction, batchlog etc. In the end of this process, the node is moved to > {{DRAINED}} status with the process still running. > When JVM is shutdown, the JVM shutdown hooks are ran, which are subscribed > during the server initialisation: > {{Runtime.getRuntime().addShutdownHook(drainOnShutdown);}} > [here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L575-L636]. > > I noticed this behaviour while reviewing [CASSANDRA-12461], as if we'd like > add custom pre and post-shutdown hooks, most likely it makes sense to run > them once (or user might expect such behaviour). > Is this behaviour correct? Should we run whole shutdown process twice or just > once in "drain" and no-op during JVM shutdown? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12509) Shutdown process triggered twice during if the node is drained
[ https://issues.apache.org/jira/browse/CASSANDRA-12509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-12509: - Resolution: Fixed Fix Version/s: 3.10 3.0.10 Status: Resolved (was: Patch Available) It seems that the dtest pull request is waiting for this patch in order to stabilize the test, so I've committed this patch to 3.0 as 5115c106db198e684b47c614b237925c45c71da8 and merged into 3.X and trunk. Until the dtest P.R. is also merged, {{TestArchiveCommitlog.test_archive_commitlog_with_active_commitlog}} will fail but it is already covered by a known failure and the P.R. is almost ready to be merged. > Shutdown process triggered twice during if the node is drained > -- > > Key: CASSANDRA-12509 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12509 > Project: Cassandra > Issue Type: Bug >Reporter: Alex Petrov >Assignee: Alex Petrov > Fix For: 3.0.10, 3.10 > > > If the node is drained, the {{StorageService#drain}} > [method|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L4212] > is called, which triggers shutdown of mutation stage, messaging service, > compaction, batchlog etc. In the end of this process, the node is moved to > {{DRAINED}} status with the process still running. > When JVM is shutdown, the JVM shutdown hooks are ran, which are subscribed > during the server initialisation: > {{Runtime.getRuntime().addShutdownHook(drainOnShutdown);}} > [here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L575-L636]. > > I noticed this behaviour while reviewing [CASSANDRA-12461], as if we'd like > add custom pre and post-shutdown hooks, most likely it makes sense to run > them once (or user might expect such behaviour). > Is this behaviour correct? Should we run whole shutdown process twice or just > once in "drain" and no-op during JVM shutdown? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X
Merge branch 'cassandra-3.0' into cassandra-3.X Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e18adf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e18adf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e18adf2 Branch: refs/heads/trunk Commit: 2e18adf2578f4c4a73d6b68fcbd8fe3786b11f00 Parents: c089b26 5115c10 Author: Stefania AlborghettiAuthored: Tue Oct 4 09:53:37 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:54:18 2016 +0800 -- CHANGES.txt | 1 + conf/logback.xml| 3 +- .../DebuggableScheduledThreadPoolExecutor.java | 2 +- .../apache/cassandra/service/StorageProxy.java | 8 +- .../cassandra/service/StorageService.java | 285 ++- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../cql3/validation/entities/UFTest.java| 4 +- 8 files changed, 178 insertions(+), 137 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e18adf2/CHANGES.txt -- diff --cc CHANGES.txt index bec8c2a,21eec4b..25f02a2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,75 -1,5 +1,76 @@@ -3.0.10 +3.10 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697) + * Upgrade metrics-reporter dependencies (CASSANDRA-12089) + * Tune compaction thread count via nodetool (CASSANDRA-12248) + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232) + * Include repair session IDs in repair start message (CASSANDRA-12532) + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039) + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667) + * Support optional backpressure strategies at the coordinator (CASSANDRA-9318) + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647) + * Fix cassandra-stress graphing (CASSANDRA-12237) + * Allow filtering on partition key columns for queries without secondary indexes (CASSANDRA-11031) + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585) + * Add JMH benchmarks.jar (CASSANDRA-12586) + * Add row offset support to SASI (CASSANDRA-11990) + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567) + * Add keep-alive to streaming (CASSANDRA-11841) + * Tracing payload is passed through newSession(..) (CASSANDRA-11706) + * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261) + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486) + * Retry all internode messages once after a connection is + closed and reopened (CASSANDRA-12192) + * Add support to rebuild from targeted replica (CASSANDRA-9875) + * Add sequence distribution type to cassandra stress (CASSANDRA-12490) + * "SELECT * FROM foo LIMIT ;" does not error out (CASSANDRA-12154) + * Define executeLocally() at the ReadQuery Level (CASSANDRA-12474) + * Extend read/write failure messages with a map of replica addresses + to error codes in the v5 native protocol (CASSANDRA-12311) + * Fix rebuild of SASI indexes with existing index files (CASSANDRA-12374) + * Let DatabaseDescriptor not implicitly startup services (CASSANDRA-9054, 12550) + * Fix clustering indexes in presence of static columns in SASI (CASSANDRA-12378) + * Fix queries on columns with reversed type on SASI indexes (CASSANDRA-12223) + * Added slow query log (CASSANDRA-12403) + * Count full coordinated request against timeout (CASSANDRA-12256) + * Allow TTL with null value on insert and update (CASSANDRA-12216) + * Make decommission operation resumable (CASSANDRA-12008) + * Add support to one-way targeted repair (CASSANDRA-9876) + * Remove clientutil jar (CASSANDRA-11635) + * Fix compaction throughput throttle (CASSANDRA-12366) + * Delay releasing Memtable memory on flush until PostFlush has finished running (CASSANDRA-12358) + * Cassandra stress should dump all setting on startup (CASSANDRA-11914) + * Make it possible to compact a given token range (CASSANDRA-10643) + * Allow updating DynamicEndpointSnitch properties via JMX (CASSANDRA-12179) + * Collect metrics on queries by consistency level (CASSANDRA-7384) + * Add support for GROUP BY to SELECT statement (CASSANDRA-10707) + * Deprecate memtable_cleanup_threshold and update default for memtable_flush_writers (CASSANDRA-12228) + * Upgrade to OHC 0.4.4 (CASSANDRA-12133) + * Add version command to cassandra-stress (CASSANDRA-12258) + * Create compaction-stress tool (CASSANDRA-11844) + * Garbage-collecting compaction operation and schema option
[6/6] cassandra git commit: Merge branch 'cassandra-3.X' into trunk
Merge branch 'cassandra-3.X' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/723d055d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/723d055d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/723d055d Branch: refs/heads/trunk Commit: 723d055d81d7cbfc16b79bdeebcd79523bc35719 Parents: dbd7839 2e18adf Author: Stefania AlborghettiAuthored: Tue Oct 4 09:55:56 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:55:56 2016 +0800 -- CHANGES.txt | 1 + conf/logback.xml| 3 +- .../DebuggableScheduledThreadPoolExecutor.java | 2 +- .../apache/cassandra/service/StorageProxy.java | 8 +- .../cassandra/service/StorageService.java | 285 ++- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../cql3/validation/entities/UFTest.java| 4 +- 8 files changed, 178 insertions(+), 137 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/723d055d/CHANGES.txt --
[2/6] cassandra git commit: Unify drain and shutdown processes
Unify drain and shutdown processes Patch by Alex Petrov; reviewed by Stefania Alborghetti for CASSANDRA-12509 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5115c106 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5115c106 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5115c106 Branch: refs/heads/cassandra-3.X Commit: 5115c106db198e684b47c614b237925c45c71da8 Parents: 79a16e5 Author: Alex PetrovAuthored: Fri Sep 30 10:00:38 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:51:51 2016 +0800 -- CHANGES.txt | 1 + conf/logback.xml| 3 +- .../DebuggableScheduledThreadPoolExecutor.java | 2 +- .../apache/cassandra/service/StorageProxy.java | 8 +- .../cassandra/service/StorageService.java | 285 ++- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../cql3/validation/entities/UFTest.java| 4 +- 8 files changed, 178 insertions(+), 137 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cbf9ab1..21eec4b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.10 + * Unify drain and shutdown processes (CASSANDRA-12509) * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706) * Fix failure in LogTransactionTest (CASSANDRA-12632) * Fix potentially incomplete non-frozen UDT values when querying with the http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/conf/logback.xml -- diff --git a/conf/logback.xml b/conf/logback.xml index a47740d..9f1e49a 100644 --- a/conf/logback.xml +++ b/conf/logback.xml @@ -24,7 +24,8 @@ appender reference in the root level section below. - + + http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java -- diff --git a/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java b/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java index a722b87..49d8510 100644 --- a/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java +++ b/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java @@ -47,7 +47,7 @@ public class DebuggableScheduledThreadPoolExecutor extends ScheduledThreadPoolEx { if (executor.isShutdown()) { -if (!StorageService.instance.isInShutdownHook()) +if (!StorageService.instance.isShutdown()) throw new RejectedExecutionException("ScheduledThreadPoolExecutor has shut down."); //Give some notification to the caller the task isn't going to run http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/service/StorageProxy.java -- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index 8a151f2..cffd63c 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -2302,7 +2302,13 @@ public class StorageProxy implements StorageProxyMBean public void setHintedHandoffEnabled(boolean b) { -DatabaseDescriptor.setHintedHandoffEnabled(b); +synchronized (StorageService.instance) +{ +if (b) +StorageService.instance.checkServiceAllowedToStart("hinted handoff"); + +DatabaseDescriptor.setHintedHandoffEnabled(b); +} } public void enableHintsForDC(String dc) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/service/StorageService.java -- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 15a0146..0be5d92 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -44,6 +44,7 @@ import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.jmx.JMXConfiguratorMBean; import ch.qos.logback.classic.spi.ILoggingEvent; import
[3/6] cassandra git commit: Unify drain and shutdown processes
Unify drain and shutdown processes Patch by Alex Petrov; reviewed by Stefania Alborghetti for CASSANDRA-12509 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5115c106 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5115c106 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5115c106 Branch: refs/heads/trunk Commit: 5115c106db198e684b47c614b237925c45c71da8 Parents: 79a16e5 Author: Alex PetrovAuthored: Fri Sep 30 10:00:38 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:51:51 2016 +0800 -- CHANGES.txt | 1 + conf/logback.xml| 3 +- .../DebuggableScheduledThreadPoolExecutor.java | 2 +- .../apache/cassandra/service/StorageProxy.java | 8 +- .../cassandra/service/StorageService.java | 285 ++- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../cql3/validation/entities/UFTest.java| 4 +- 8 files changed, 178 insertions(+), 137 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cbf9ab1..21eec4b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.10 + * Unify drain and shutdown processes (CASSANDRA-12509) * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706) * Fix failure in LogTransactionTest (CASSANDRA-12632) * Fix potentially incomplete non-frozen UDT values when querying with the http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/conf/logback.xml -- diff --git a/conf/logback.xml b/conf/logback.xml index a47740d..9f1e49a 100644 --- a/conf/logback.xml +++ b/conf/logback.xml @@ -24,7 +24,8 @@ appender reference in the root level section below. - + + http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java -- diff --git a/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java b/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java index a722b87..49d8510 100644 --- a/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java +++ b/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java @@ -47,7 +47,7 @@ public class DebuggableScheduledThreadPoolExecutor extends ScheduledThreadPoolEx { if (executor.isShutdown()) { -if (!StorageService.instance.isInShutdownHook()) +if (!StorageService.instance.isShutdown()) throw new RejectedExecutionException("ScheduledThreadPoolExecutor has shut down."); //Give some notification to the caller the task isn't going to run http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/service/StorageProxy.java -- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index 8a151f2..cffd63c 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -2302,7 +2302,13 @@ public class StorageProxy implements StorageProxyMBean public void setHintedHandoffEnabled(boolean b) { -DatabaseDescriptor.setHintedHandoffEnabled(b); +synchronized (StorageService.instance) +{ +if (b) +StorageService.instance.checkServiceAllowedToStart("hinted handoff"); + +DatabaseDescriptor.setHintedHandoffEnabled(b); +} } public void enableHintsForDC(String dc) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/service/StorageService.java -- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 15a0146..0be5d92 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -44,6 +44,7 @@ import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.jmx.JMXConfiguratorMBean; import ch.qos.logback.classic.spi.ILoggingEvent; import
[1/6] cassandra git commit: Unify drain and shutdown processes
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 79a16e5e9 -> 5115c106d refs/heads/cassandra-3.X c089b2697 -> 2e18adf25 refs/heads/trunk dbd783917 -> 723d055d8 Unify drain and shutdown processes Patch by Alex Petrov; reviewed by Stefania Alborghetti for CASSANDRA-12509 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5115c106 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5115c106 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5115c106 Branch: refs/heads/cassandra-3.0 Commit: 5115c106db198e684b47c614b237925c45c71da8 Parents: 79a16e5 Author: Alex PetrovAuthored: Fri Sep 30 10:00:38 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:51:51 2016 +0800 -- CHANGES.txt | 1 + conf/logback.xml| 3 +- .../DebuggableScheduledThreadPoolExecutor.java | 2 +- .../apache/cassandra/service/StorageProxy.java | 8 +- .../cassandra/service/StorageService.java | 285 ++- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../cql3/validation/entities/UFTest.java| 4 +- 8 files changed, 178 insertions(+), 137 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cbf9ab1..21eec4b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.10 + * Unify drain and shutdown processes (CASSANDRA-12509) * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706) * Fix failure in LogTransactionTest (CASSANDRA-12632) * Fix potentially incomplete non-frozen UDT values when querying with the http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/conf/logback.xml -- diff --git a/conf/logback.xml b/conf/logback.xml index a47740d..9f1e49a 100644 --- a/conf/logback.xml +++ b/conf/logback.xml @@ -24,7 +24,8 @@ appender reference in the root level section below. - + + http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java -- diff --git a/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java b/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java index a722b87..49d8510 100644 --- a/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java +++ b/src/java/org/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor.java @@ -47,7 +47,7 @@ public class DebuggableScheduledThreadPoolExecutor extends ScheduledThreadPoolEx { if (executor.isShutdown()) { -if (!StorageService.instance.isInShutdownHook()) +if (!StorageService.instance.isShutdown()) throw new RejectedExecutionException("ScheduledThreadPoolExecutor has shut down."); //Give some notification to the caller the task isn't going to run http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/service/StorageProxy.java -- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index 8a151f2..cffd63c 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -2302,7 +2302,13 @@ public class StorageProxy implements StorageProxyMBean public void setHintedHandoffEnabled(boolean b) { -DatabaseDescriptor.setHintedHandoffEnabled(b); +synchronized (StorageService.instance) +{ +if (b) +StorageService.instance.checkServiceAllowedToStart("hinted handoff"); + +DatabaseDescriptor.setHintedHandoffEnabled(b); +} } public void enableHintsForDC(String dc) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5115c106/src/java/org/apache/cassandra/service/StorageService.java -- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 15a0146..0be5d92 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -44,6
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X
Merge branch 'cassandra-3.0' into cassandra-3.X Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e18adf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e18adf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e18adf2 Branch: refs/heads/cassandra-3.X Commit: 2e18adf2578f4c4a73d6b68fcbd8fe3786b11f00 Parents: c089b26 5115c10 Author: Stefania AlborghettiAuthored: Tue Oct 4 09:53:37 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:54:18 2016 +0800 -- CHANGES.txt | 1 + conf/logback.xml| 3 +- .../DebuggableScheduledThreadPoolExecutor.java | 2 +- .../apache/cassandra/service/StorageProxy.java | 8 +- .../cassandra/service/StorageService.java | 285 ++- .../cassandra/service/StorageServiceMBean.java | 2 + .../org/apache/cassandra/tools/NodeProbe.java | 10 + .../cql3/validation/entities/UFTest.java| 4 +- 8 files changed, 178 insertions(+), 137 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e18adf2/CHANGES.txt -- diff --cc CHANGES.txt index bec8c2a,21eec4b..25f02a2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,75 -1,5 +1,76 @@@ -3.0.10 +3.10 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697) + * Upgrade metrics-reporter dependencies (CASSANDRA-12089) + * Tune compaction thread count via nodetool (CASSANDRA-12248) + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232) + * Include repair session IDs in repair start message (CASSANDRA-12532) + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039) + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667) + * Support optional backpressure strategies at the coordinator (CASSANDRA-9318) + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647) + * Fix cassandra-stress graphing (CASSANDRA-12237) + * Allow filtering on partition key columns for queries without secondary indexes (CASSANDRA-11031) + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585) + * Add JMH benchmarks.jar (CASSANDRA-12586) + * Add row offset support to SASI (CASSANDRA-11990) + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567) + * Add keep-alive to streaming (CASSANDRA-11841) + * Tracing payload is passed through newSession(..) (CASSANDRA-11706) + * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261) + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486) + * Retry all internode messages once after a connection is + closed and reopened (CASSANDRA-12192) + * Add support to rebuild from targeted replica (CASSANDRA-9875) + * Add sequence distribution type to cassandra stress (CASSANDRA-12490) + * "SELECT * FROM foo LIMIT ;" does not error out (CASSANDRA-12154) + * Define executeLocally() at the ReadQuery Level (CASSANDRA-12474) + * Extend read/write failure messages with a map of replica addresses + to error codes in the v5 native protocol (CASSANDRA-12311) + * Fix rebuild of SASI indexes with existing index files (CASSANDRA-12374) + * Let DatabaseDescriptor not implicitly startup services (CASSANDRA-9054, 12550) + * Fix clustering indexes in presence of static columns in SASI (CASSANDRA-12378) + * Fix queries on columns with reversed type on SASI indexes (CASSANDRA-12223) + * Added slow query log (CASSANDRA-12403) + * Count full coordinated request against timeout (CASSANDRA-12256) + * Allow TTL with null value on insert and update (CASSANDRA-12216) + * Make decommission operation resumable (CASSANDRA-12008) + * Add support to one-way targeted repair (CASSANDRA-9876) + * Remove clientutil jar (CASSANDRA-11635) + * Fix compaction throughput throttle (CASSANDRA-12366) + * Delay releasing Memtable memory on flush until PostFlush has finished running (CASSANDRA-12358) + * Cassandra stress should dump all setting on startup (CASSANDRA-11914) + * Make it possible to compact a given token range (CASSANDRA-10643) + * Allow updating DynamicEndpointSnitch properties via JMX (CASSANDRA-12179) + * Collect metrics on queries by consistency level (CASSANDRA-7384) + * Add support for GROUP BY to SELECT statement (CASSANDRA-10707) + * Deprecate memtable_cleanup_threshold and update default for memtable_flush_writers (CASSANDRA-12228) + * Upgrade to OHC 0.4.4 (CASSANDRA-12133) + * Add version command to cassandra-stress (CASSANDRA-12258) + * Create compaction-stress tool (CASSANDRA-11844) + * Garbage-collecting compaction operation and schema
[jira] [Updated] (CASSANDRA-12706) Exception supposedly after ttl expires and compaction occurs
[ https://issues.apache.org/jira/browse/CASSANDRA-12706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-12706: - Resolution: Fixed Reviewer: Swen Moczarski Fix Version/s: (was: 3.0.x) (was: 3.x) 3.10 3.0.10 Reproduced In: 3.0.9, 3.0.8 (was: 3.0.8, 3.0.9) Status: Resolved (was: Ready to Commit) Committed to 3.0 as 79a16e5e977bea4ec86fb3fef97a7ea0719a9095 and merged into 3.x and trunk. > Exception supposedly after ttl expires and compaction occurs > > > Key: CASSANDRA-12706 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12706 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths > Environment: Linux amd64 Amazon default AMI, > Java 1.8.0_122 oracle jdk >Reporter: Nikhil Sharma >Assignee: Stefania >Priority: Critical > Fix For: 3.0.10, 3.10 > > > After TTL (1 week) expires and compaction occurs. We start seeing: > WARN [SharedPool-Worker-1] 2016-09-26 07:35:17,420 > AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread > Thread[SharedPool-Worker-1,5,main]: {} > java.lang.NullPointerException: null > at > org.apache.cassandra.db.Slices$ArrayBackedSlices$ComponentOfSlice.isEQ(Slices.java:748) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.Slices$ArrayBackedSlices.toCQLString(Slices.java:659) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.toCQLString(ClusteringIndexSliceFilter.java:150) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.SinglePartitionReadCommand.appendCQLWhereClause(SinglePartitionReadCommand.java:911) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.ReadCommand.toCQLString(ReadCommand.java:560) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.ReadCommand$1MetricRecording.onClose(ReadCommand.java:506) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.transform.BasePartitions.runOnClose(BasePartitions.java:70) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.transform.BaseIterator.close(BaseIterator.java:76) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:48) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > ~[na:1.8.0_102] > at > org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) > [apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) > [apache-cassandra-3.0.9.jar:3.0.9] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102] > WARN [SharedPool-Worker-3] 2016-09-26 07:35:31,247 > AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread > Thread[SharedPool-Worker-3,5,main]: {} > java.lang.RuntimeException: java.lang.NullPointerException > at > org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2470) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > ~[na:1.8.0_102] > at > org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) > [apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) > [apache-cassandra-3.0.9.jar:3.0.9] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102] > Caused by: java.lang.NullPointerException: null > at > org.apache.cassandra.db.Slices$ArrayBackedSlices$ComponentOfSlice.isEQ(Slices.java:748) > ~[apache-cassandra-3.0.9.jar:3.0.9] > at > org.apache.cassandra.db.Slices$ArrayBackedSlices.toCQLString(Slices.java:659) >
[2/6] cassandra git commit: Fix NPE in ComponentOfSlice.isEQ()
Fix NPE in ComponentOfSlice.isEQ() Patch by Stefania Alborghetti; reviewed by Swen Moczarski for CASSANDRA-12706 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/79a16e5e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/79a16e5e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/79a16e5e Branch: refs/heads/cassandra-3.X Commit: 79a16e5e977bea4ec86fb3fef97a7ea0719a9095 Parents: cd8a98a Author: Stefania AlborghettiAuthored: Mon Sep 26 17:02:16 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:09:46 2016 +0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/Slices.java| 2 +- .../db/SinglePartitionSliceCommandTest.java | 21 3 files changed, 23 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d12a8f8..cbf9ab1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.10 + * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706) * Fix failure in LogTransactionTest (CASSANDRA-12632) * Fix potentially incomplete non-frozen UDT values when querying with the full primary key specified (CASSANDRA-12605) http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/src/java/org/apache/cassandra/db/Slices.java -- diff --git a/src/java/org/apache/cassandra/db/Slices.java b/src/java/org/apache/cassandra/db/Slices.java index bb354a1..269386e 100644 --- a/src/java/org/apache/cassandra/db/Slices.java +++ b/src/java/org/apache/cassandra/db/Slices.java @@ -745,7 +745,7 @@ public abstract class Slices implements Iterable public boolean isEQ() { -return startValue.equals(endValue); +return Objects.equals(startValue, endValue); } } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java -- diff --git a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java index b5d8159..7f59e2f 100644 --- a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java +++ b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java @@ -215,4 +215,25 @@ public class SinglePartitionSliceCommandTest checkForS(pi); } } + +@Test +public void toCQLStringIsSafeToCall() throws IOException +{ +DecoratedKey key = cfm.decorateKey(ByteBufferUtil.bytes("k1")); + +ColumnFilter columnFilter = ColumnFilter.selection(PartitionColumns.of(s)); +Slice slice = Slice.make(Slice.Bound.BOTTOM, Slice.Bound.inclusiveEndOf(ByteBufferUtil.bytes("i1"))); +ClusteringIndexSliceFilter sliceFilter = new ClusteringIndexSliceFilter(Slices.with(cfm.comparator, slice), false); +ReadCommand cmd = new SinglePartitionReadCommand(false, MessagingService.VERSION_30, true, cfm, + FBUtilities.nowInSeconds(), + columnFilter, + RowFilter.NONE, + DataLimits.NONE, + key, + sliceFilter); + +String ret = cmd.toCQLString(); +Assert.assertNotNull(ret); +Assert.assertFalse(ret.isEmpty()); +} }
[6/6] cassandra git commit: Merge branch 'cassandra-3.X' into trunk
Merge branch 'cassandra-3.X' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dbd78391 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dbd78391 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dbd78391 Branch: refs/heads/trunk Commit: dbd78391717b3f0fc640e04c6849de3d677a759a Parents: cf04fef c089b26 Author: Stefania AlborghettiAuthored: Tue Oct 4 09:17:45 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:17:45 2016 +0800 -- CHANGES.txt | 1 + .../db/SinglePartitionSliceCommandTest.java | 21 2 files changed, 22 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dbd78391/CHANGES.txt --
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X
Merge branch 'cassandra-3.0' into cassandra-3.X Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c089b269 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c089b269 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c089b269 Branch: refs/heads/cassandra-3.X Commit: c089b26976c491ec66d31df87f7441572d708bf7 Parents: 6839a57 79a16e5 Author: Stefania AlborghettiAuthored: Tue Oct 4 09:12:56 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:17:25 2016 +0800 -- CHANGES.txt | 1 + .../db/SinglePartitionSliceCommandTest.java | 21 2 files changed, 22 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c089b269/CHANGES.txt -- diff --cc CHANGES.txt index ca95411,cbf9ab1..bec8c2a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,75 -1,5 +1,76 @@@ -3.0.10 +3.10 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697) + * Upgrade metrics-reporter dependencies (CASSANDRA-12089) + * Tune compaction thread count via nodetool (CASSANDRA-12248) + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232) + * Include repair session IDs in repair start message (CASSANDRA-12532) + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039) + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667) + * Support optional backpressure strategies at the coordinator (CASSANDRA-9318) + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647) + * Fix cassandra-stress graphing (CASSANDRA-12237) + * Allow filtering on partition key columns for queries without secondary indexes (CASSANDRA-11031) + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585) + * Add JMH benchmarks.jar (CASSANDRA-12586) + * Add row offset support to SASI (CASSANDRA-11990) + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567) + * Add keep-alive to streaming (CASSANDRA-11841) + * Tracing payload is passed through newSession(..) (CASSANDRA-11706) + * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261) + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486) + * Retry all internode messages once after a connection is + closed and reopened (CASSANDRA-12192) + * Add support to rebuild from targeted replica (CASSANDRA-9875) + * Add sequence distribution type to cassandra stress (CASSANDRA-12490) + * "SELECT * FROM foo LIMIT ;" does not error out (CASSANDRA-12154) + * Define executeLocally() at the ReadQuery Level (CASSANDRA-12474) + * Extend read/write failure messages with a map of replica addresses + to error codes in the v5 native protocol (CASSANDRA-12311) + * Fix rebuild of SASI indexes with existing index files (CASSANDRA-12374) + * Let DatabaseDescriptor not implicitly startup services (CASSANDRA-9054, 12550) + * Fix clustering indexes in presence of static columns in SASI (CASSANDRA-12378) + * Fix queries on columns with reversed type on SASI indexes (CASSANDRA-12223) + * Added slow query log (CASSANDRA-12403) + * Count full coordinated request against timeout (CASSANDRA-12256) + * Allow TTL with null value on insert and update (CASSANDRA-12216) + * Make decommission operation resumable (CASSANDRA-12008) + * Add support to one-way targeted repair (CASSANDRA-9876) + * Remove clientutil jar (CASSANDRA-11635) + * Fix compaction throughput throttle (CASSANDRA-12366) + * Delay releasing Memtable memory on flush until PostFlush has finished running (CASSANDRA-12358) + * Cassandra stress should dump all setting on startup (CASSANDRA-11914) + * Make it possible to compact a given token range (CASSANDRA-10643) + * Allow updating DynamicEndpointSnitch properties via JMX (CASSANDRA-12179) + * Collect metrics on queries by consistency level (CASSANDRA-7384) + * Add support for GROUP BY to SELECT statement (CASSANDRA-10707) + * Deprecate memtable_cleanup_threshold and update default for memtable_flush_writers (CASSANDRA-12228) + * Upgrade to OHC 0.4.4 (CASSANDRA-12133) + * Add version command to cassandra-stress (CASSANDRA-12258) + * Create compaction-stress tool (CASSANDRA-11844) + * Garbage-collecting compaction operation and schema option (CASSANDRA-7019) + * Add beta protocol flag for v5 native protocol (CASSANDRA-12142) + * Support filtering on non-PRIMARY KEY columns in the CREATE + MATERIALIZED VIEW statement's WHERE clause (CASSANDRA-10368) + * Unify STDOUT and SYSTEMLOG logback format (CASSANDRA-12004) + * COPY FROM should raise error for non-existing input files (CASSANDRA-12174)
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X
Merge branch 'cassandra-3.0' into cassandra-3.X Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c089b269 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c089b269 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c089b269 Branch: refs/heads/trunk Commit: c089b26976c491ec66d31df87f7441572d708bf7 Parents: 6839a57 79a16e5 Author: Stefania AlborghettiAuthored: Tue Oct 4 09:12:56 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:17:25 2016 +0800 -- CHANGES.txt | 1 + .../db/SinglePartitionSliceCommandTest.java | 21 2 files changed, 22 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c089b269/CHANGES.txt -- diff --cc CHANGES.txt index ca95411,cbf9ab1..bec8c2a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,75 -1,5 +1,76 @@@ -3.0.10 +3.10 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697) + * Upgrade metrics-reporter dependencies (CASSANDRA-12089) + * Tune compaction thread count via nodetool (CASSANDRA-12248) + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232) + * Include repair session IDs in repair start message (CASSANDRA-12532) + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039) + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667) + * Support optional backpressure strategies at the coordinator (CASSANDRA-9318) + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647) + * Fix cassandra-stress graphing (CASSANDRA-12237) + * Allow filtering on partition key columns for queries without secondary indexes (CASSANDRA-11031) + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585) + * Add JMH benchmarks.jar (CASSANDRA-12586) + * Add row offset support to SASI (CASSANDRA-11990) + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567) + * Add keep-alive to streaming (CASSANDRA-11841) + * Tracing payload is passed through newSession(..) (CASSANDRA-11706) + * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261) + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486) + * Retry all internode messages once after a connection is + closed and reopened (CASSANDRA-12192) + * Add support to rebuild from targeted replica (CASSANDRA-9875) + * Add sequence distribution type to cassandra stress (CASSANDRA-12490) + * "SELECT * FROM foo LIMIT ;" does not error out (CASSANDRA-12154) + * Define executeLocally() at the ReadQuery Level (CASSANDRA-12474) + * Extend read/write failure messages with a map of replica addresses + to error codes in the v5 native protocol (CASSANDRA-12311) + * Fix rebuild of SASI indexes with existing index files (CASSANDRA-12374) + * Let DatabaseDescriptor not implicitly startup services (CASSANDRA-9054, 12550) + * Fix clustering indexes in presence of static columns in SASI (CASSANDRA-12378) + * Fix queries on columns with reversed type on SASI indexes (CASSANDRA-12223) + * Added slow query log (CASSANDRA-12403) + * Count full coordinated request against timeout (CASSANDRA-12256) + * Allow TTL with null value on insert and update (CASSANDRA-12216) + * Make decommission operation resumable (CASSANDRA-12008) + * Add support to one-way targeted repair (CASSANDRA-9876) + * Remove clientutil jar (CASSANDRA-11635) + * Fix compaction throughput throttle (CASSANDRA-12366) + * Delay releasing Memtable memory on flush until PostFlush has finished running (CASSANDRA-12358) + * Cassandra stress should dump all setting on startup (CASSANDRA-11914) + * Make it possible to compact a given token range (CASSANDRA-10643) + * Allow updating DynamicEndpointSnitch properties via JMX (CASSANDRA-12179) + * Collect metrics on queries by consistency level (CASSANDRA-7384) + * Add support for GROUP BY to SELECT statement (CASSANDRA-10707) + * Deprecate memtable_cleanup_threshold and update default for memtable_flush_writers (CASSANDRA-12228) + * Upgrade to OHC 0.4.4 (CASSANDRA-12133) + * Add version command to cassandra-stress (CASSANDRA-12258) + * Create compaction-stress tool (CASSANDRA-11844) + * Garbage-collecting compaction operation and schema option (CASSANDRA-7019) + * Add beta protocol flag for v5 native protocol (CASSANDRA-12142) + * Support filtering on non-PRIMARY KEY columns in the CREATE + MATERIALIZED VIEW statement's WHERE clause (CASSANDRA-10368) + * Unify STDOUT and SYSTEMLOG logback format (CASSANDRA-12004) + * COPY FROM should raise error for non-existing input files (CASSANDRA-12174) + *
[1/6] cassandra git commit: Fix NPE in ComponentOfSlice.isEQ()
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 cd8a98a2d -> 79a16e5e9 refs/heads/cassandra-3.X 6839a579f -> c089b2697 refs/heads/trunk cf04fef91 -> dbd783917 Fix NPE in ComponentOfSlice.isEQ() Patch by Stefania Alborghetti; reviewed by Swen Moczarski for CASSANDRA-12706 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/79a16e5e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/79a16e5e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/79a16e5e Branch: refs/heads/cassandra-3.0 Commit: 79a16e5e977bea4ec86fb3fef97a7ea0719a9095 Parents: cd8a98a Author: Stefania AlborghettiAuthored: Mon Sep 26 17:02:16 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:09:46 2016 +0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/Slices.java| 2 +- .../db/SinglePartitionSliceCommandTest.java | 21 3 files changed, 23 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d12a8f8..cbf9ab1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.10 + * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706) * Fix failure in LogTransactionTest (CASSANDRA-12632) * Fix potentially incomplete non-frozen UDT values when querying with the full primary key specified (CASSANDRA-12605) http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/src/java/org/apache/cassandra/db/Slices.java -- diff --git a/src/java/org/apache/cassandra/db/Slices.java b/src/java/org/apache/cassandra/db/Slices.java index bb354a1..269386e 100644 --- a/src/java/org/apache/cassandra/db/Slices.java +++ b/src/java/org/apache/cassandra/db/Slices.java @@ -745,7 +745,7 @@ public abstract class Slices implements Iterable public boolean isEQ() { -return startValue.equals(endValue); +return Objects.equals(startValue, endValue); } } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java -- diff --git a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java index b5d8159..7f59e2f 100644 --- a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java +++ b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java @@ -215,4 +215,25 @@ public class SinglePartitionSliceCommandTest checkForS(pi); } } + +@Test +public void toCQLStringIsSafeToCall() throws IOException +{ +DecoratedKey key = cfm.decorateKey(ByteBufferUtil.bytes("k1")); + +ColumnFilter columnFilter = ColumnFilter.selection(PartitionColumns.of(s)); +Slice slice = Slice.make(Slice.Bound.BOTTOM, Slice.Bound.inclusiveEndOf(ByteBufferUtil.bytes("i1"))); +ClusteringIndexSliceFilter sliceFilter = new ClusteringIndexSliceFilter(Slices.with(cfm.comparator, slice), false); +ReadCommand cmd = new SinglePartitionReadCommand(false, MessagingService.VERSION_30, true, cfm, + FBUtilities.nowInSeconds(), + columnFilter, + RowFilter.NONE, + DataLimits.NONE, + key, + sliceFilter); + +String ret = cmd.toCQLString(); +Assert.assertNotNull(ret); +Assert.assertFalse(ret.isEmpty()); +} }
[3/6] cassandra git commit: Fix NPE in ComponentOfSlice.isEQ()
Fix NPE in ComponentOfSlice.isEQ() Patch by Stefania Alborghetti; reviewed by Swen Moczarski for CASSANDRA-12706 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/79a16e5e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/79a16e5e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/79a16e5e Branch: refs/heads/trunk Commit: 79a16e5e977bea4ec86fb3fef97a7ea0719a9095 Parents: cd8a98a Author: Stefania AlborghettiAuthored: Mon Sep 26 17:02:16 2016 +0800 Committer: Stefania Alborghetti Committed: Tue Oct 4 09:09:46 2016 +0800 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/Slices.java| 2 +- .../db/SinglePartitionSliceCommandTest.java | 21 3 files changed, 23 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d12a8f8..cbf9ab1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.10 + * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706) * Fix failure in LogTransactionTest (CASSANDRA-12632) * Fix potentially incomplete non-frozen UDT values when querying with the full primary key specified (CASSANDRA-12605) http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/src/java/org/apache/cassandra/db/Slices.java -- diff --git a/src/java/org/apache/cassandra/db/Slices.java b/src/java/org/apache/cassandra/db/Slices.java index bb354a1..269386e 100644 --- a/src/java/org/apache/cassandra/db/Slices.java +++ b/src/java/org/apache/cassandra/db/Slices.java @@ -745,7 +745,7 @@ public abstract class Slices implements Iterable public boolean isEQ() { -return startValue.equals(endValue); +return Objects.equals(startValue, endValue); } } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/79a16e5e/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java -- diff --git a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java index b5d8159..7f59e2f 100644 --- a/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java +++ b/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java @@ -215,4 +215,25 @@ public class SinglePartitionSliceCommandTest checkForS(pi); } } + +@Test +public void toCQLStringIsSafeToCall() throws IOException +{ +DecoratedKey key = cfm.decorateKey(ByteBufferUtil.bytes("k1")); + +ColumnFilter columnFilter = ColumnFilter.selection(PartitionColumns.of(s)); +Slice slice = Slice.make(Slice.Bound.BOTTOM, Slice.Bound.inclusiveEndOf(ByteBufferUtil.bytes("i1"))); +ClusteringIndexSliceFilter sliceFilter = new ClusteringIndexSliceFilter(Slices.with(cfm.comparator, slice), false); +ReadCommand cmd = new SinglePartitionReadCommand(false, MessagingService.VERSION_30, true, cfm, + FBUtilities.nowInSeconds(), + columnFilter, + RowFilter.NONE, + DataLimits.NONE, + key, + sliceFilter); + +String ret = cmd.toCQLString(); +Assert.assertNotNull(ret); +Assert.assertFalse(ret.isEmpty()); +} }
[jira] [Updated] (CASSANDRA-12251) Move migration tasks to non-periodic queue, assure flush executor shutdown after non-periodic executor
[ https://issues.apache.org/jira/browse/CASSANDRA-12251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan updated CASSANDRA-12251: Summary: Move migration tasks to non-periodic queue, assure flush executor shutdown after non-periodic executor (was: dtest failure in upgrade_tests.cql_tests.TestCQLNodes3RF3_Upgrade_current_3_x_To_indev_3_x.whole_list_conditional_test) > Move migration tasks to non-periodic queue, assure flush executor shutdown > after non-periodic executor > -- > > Key: CASSANDRA-12251 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12251 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Alex Petrov > Labels: dtest > Fix For: 2.2.8, 3.0.9, 3.8 > > Attachments: node1.log, node1_debug.log, node1_gc.log, node2.log, > node2_debug.log, node2_gc.log, node3.log, node3_debug.log, node3_gc.log > > > example failure: > http://cassci.datastax.com/job/cassandra-3.8_dtest_upgrade/1/testReport/upgrade_tests.cql_tests/TestCQLNodes3RF3_Upgrade_current_3_x_To_indev_3_x/whole_list_conditional_test > Failed on CassCI build cassandra-3.8_dtest_upgrade #1 > Relevant error in logs is > {code} > Unexpected error in node1 log, error: > ERROR [InternalResponseStage:2] 2016-07-20 04:58:45,876 > CassandraDaemon.java:217 - Exception in thread > Thread[InternalResponseStage:2,5,main] > java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut > down > at > org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:61) > ~[apache-cassandra-3.7.jar:3.7] > at > java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) > ~[na:1.8.0_51] > at > org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.execute(DebuggableThreadPoolExecutor.java:165) > ~[apache-cassandra-3.7.jar:3.7] > at > java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) > ~[na:1.8.0_51] > at > org.apache.cassandra.db.ColumnFamilyStore.switchMemtable(ColumnFamilyStore.java:842) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.db.ColumnFamilyStore.switchMemtableIfCurrent(ColumnFamilyStore.java:822) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.db.ColumnFamilyStore.forceFlush(ColumnFamilyStore.java:891) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.schema.SchemaKeyspace.lambda$flush$1(SchemaKeyspace.java:279) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.schema.SchemaKeyspace$$Lambda$200/1129213153.accept(Unknown > Source) ~[na:na] > at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_51] > at > org.apache.cassandra.schema.SchemaKeyspace.flush(SchemaKeyspace.java:279) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1271) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1253) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.service.MigrationTask$1.response(MigrationTask.java:92) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.net.ResponseVerbHandler.doVerb(ResponseVerbHandler.java:53) > ~[apache-cassandra-3.7.jar:3.7] > at > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:64) > ~[apache-cassandra-3.7.jar:3.7] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > ~[na:1.8.0_51] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_51] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] > {code} > This is on a mixed 3.0.8, 3.8-tentative cluster -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[1/5] cassandra git commit: Revert "Reject invalid DC names as option while creating or altering NetworkTopologyStrategy"
Repository: cassandra Updated Branches: refs/heads/cassandra-3.X cf5cd158e -> 6839a579f refs/heads/trunk 87cb1c6e8 -> cf04fef91 Revert "Reject invalid DC names as option while creating or altering NetworkTopologyStrategy" This reverts commit f2c5ad743933498e60e7eef55e8daaa6ce338a03. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cd8a98a2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cd8a98a2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cd8a98a2 Branch: refs/heads/cassandra-3.X Commit: cd8a98a2dd2d7e4993cd1aa3c282602b48be73c8 Parents: 413e48e Author: Jeff JirsaAuthored: Thu Sep 29 19:50:04 2016 -0700 Committer: Jeff Jirsa Committed: Thu Sep 29 19:50:04 2016 -0700 -- CHANGES.txt | 1 - NEWS.txt| 11 .../locator/AbstractReplicationStrategy.java| 2 +- .../locator/NetworkTopologyStrategy.java| 39 + .../org/apache/cassandra/cql3/CQLTester.java| 11 .../validation/entities/SecondaryIndexTest.java | 10 .../cql3/validation/operations/AlterTest.java | 47 +--- .../cql3/validation/operations/CreateTest.java | 59 .../apache/cassandra/dht/BootStrapperTest.java | 10 +--- .../org/apache/cassandra/service/MoveTest.java | 9 +-- 10 files changed, 18 insertions(+), 181 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 9076e7a..d12a8f8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -7,7 +7,6 @@ * Extend ColumnIdentifier.internedInstances key to include the type that generated the byte buffer (CASSANDRA-12516) * Backport CASSANDRA-10756 (race condition in NativeTransportService shutdown) (CASSANDRA-12472) * If CF has no clustering columns, any row cache is full partition cache (CASSANDRA-12499) - * Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681) Merged from 2.2: * Fix merkle tree depth calculation (CASSANDRA-12580) * Make Collections deserialization more robust (CASSANDRA-12618) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index b97a420..0bd3920 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -13,17 +13,6 @@ restore snapshots created with the previous major version using the 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. -3.0.10 -= - -Upgrading -- - - To protect against accidental data loss, cassandra no longer allows - users to set arbitrary datacenter names for NetworkTopologyStrategy. - Cassandra will allow users to continue using existing keyspaces - with invalid datacenter names, but will validat DC names on CREATE and - ALTER - 3.0.9 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java -- diff --git a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java index d72c0c2..c90c6a1 100644 --- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java +++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java @@ -319,7 +319,7 @@ public abstract class AbstractReplicationStrategy } } -protected void validateExpectedOptions() throws ConfigurationException +private void validateExpectedOptions() throws ConfigurationException { Collection expectedOptions = recognizedOptions(); if (expectedOptions == null) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java -- diff --git a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java index 78f5b06..7c8d95e 100644 --- a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java +++ b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java @@ -24,11 +24,9 @@ import java.util.Map.Entry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.dht.Token; import
[2/5] cassandra git commit: Revert "Reject invalid DC names as option while creating or altering NetworkTopologyStrategy"
Revert "Reject invalid DC names as option while creating or altering NetworkTopologyStrategy" This reverts commit f2c5ad743933498e60e7eef55e8daaa6ce338a03. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cd8a98a2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cd8a98a2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cd8a98a2 Branch: refs/heads/trunk Commit: cd8a98a2dd2d7e4993cd1aa3c282602b48be73c8 Parents: 413e48e Author: Jeff JirsaAuthored: Thu Sep 29 19:50:04 2016 -0700 Committer: Jeff Jirsa Committed: Thu Sep 29 19:50:04 2016 -0700 -- CHANGES.txt | 1 - NEWS.txt| 11 .../locator/AbstractReplicationStrategy.java| 2 +- .../locator/NetworkTopologyStrategy.java| 39 + .../org/apache/cassandra/cql3/CQLTester.java| 11 .../validation/entities/SecondaryIndexTest.java | 10 .../cql3/validation/operations/AlterTest.java | 47 +--- .../cql3/validation/operations/CreateTest.java | 59 .../apache/cassandra/dht/BootStrapperTest.java | 10 +--- .../org/apache/cassandra/service/MoveTest.java | 9 +-- 10 files changed, 18 insertions(+), 181 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 9076e7a..d12a8f8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -7,7 +7,6 @@ * Extend ColumnIdentifier.internedInstances key to include the type that generated the byte buffer (CASSANDRA-12516) * Backport CASSANDRA-10756 (race condition in NativeTransportService shutdown) (CASSANDRA-12472) * If CF has no clustering columns, any row cache is full partition cache (CASSANDRA-12499) - * Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681) Merged from 2.2: * Fix merkle tree depth calculation (CASSANDRA-12580) * Make Collections deserialization more robust (CASSANDRA-12618) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index b97a420..0bd3920 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -13,17 +13,6 @@ restore snapshots created with the previous major version using the 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. -3.0.10 -= - -Upgrading -- - - To protect against accidental data loss, cassandra no longer allows - users to set arbitrary datacenter names for NetworkTopologyStrategy. - Cassandra will allow users to continue using existing keyspaces - with invalid datacenter names, but will validat DC names on CREATE and - ALTER - 3.0.9 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java -- diff --git a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java index d72c0c2..c90c6a1 100644 --- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java +++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java @@ -319,7 +319,7 @@ public abstract class AbstractReplicationStrategy } } -protected void validateExpectedOptions() throws ConfigurationException +private void validateExpectedOptions() throws ConfigurationException { Collection expectedOptions = recognizedOptions(); if (expectedOptions == null) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd8a98a2/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java -- diff --git a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java index 78f5b06..7c8d95e 100644 --- a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java +++ b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java @@ -24,11 +24,9 @@ import java.util.Map.Entry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.dht.Token; import org.apache.cassandra.locator.TokenMetadata.Topology; -import org.apache.cassandra.service.StorageService; import
[3/5] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X
Merge branch 'cassandra-3.0' into cassandra-3.X Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6839a579 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6839a579 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6839a579 Branch: refs/heads/trunk Commit: 6839a579fa192a489ccfbec4daa2648e6a5d856f Parents: cf5cd15 cd8a98a Author: Jeff JirsaAuthored: Mon Oct 3 13:04:11 2016 -0700 Committer: Jeff Jirsa Committed: Mon Oct 3 13:04:11 2016 -0700 -- --
[5/5] cassandra git commit: Merge branch 'cassandra-3.X' into trunk
Merge branch 'cassandra-3.X' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf04fef9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf04fef9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf04fef9 Branch: refs/heads/trunk Commit: cf04fef918a82603da0409e7b16b5e48f37e85b4 Parents: 87cb1c6 6839a57 Author: Jeff JirsaAuthored: Mon Oct 3 13:04:21 2016 -0700 Committer: Jeff Jirsa Committed: Mon Oct 3 13:04:21 2016 -0700 -- --
[4/5] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X
Merge branch 'cassandra-3.0' into cassandra-3.X Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6839a579 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6839a579 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6839a579 Branch: refs/heads/cassandra-3.X Commit: 6839a579fa192a489ccfbec4daa2648e6a5d856f Parents: cf5cd15 cd8a98a Author: Jeff JirsaAuthored: Mon Oct 3 13:04:11 2016 -0700 Committer: Jeff Jirsa Committed: Mon Oct 3 13:04:11 2016 -0700 -- --
[jira] [Updated] (CASSANDRA-12478) cassandra stress still uses CFMetaData.compile()
[ https://issues.apache.org/jira/browse/CASSANDRA-12478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-12478: -- Assignee: Denis Ranger > cassandra stress still uses CFMetaData.compile() > > > Key: CASSANDRA-12478 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12478 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Denis Ranger >Assignee: Denis Ranger > Labels: stress > Fix For: 3.0.x > > Attachments: > 0001-Replaced-using-CFMetaData.compile-in-cassandra-stres.patch, > 0002-Used-client-instead-of-tool-init.patch, cassandra-stress-trunk.patch, > cassandra-stress-v2.patch > > > Using CFMetaData.compile() on a client tool causes permission problems. To > reproduce: > * Start cassandra under user _cassandra_ > * Run {{chmod -R go-rwx /var/lib/cassandra}} to deny access to other users. > * Use a non-root user to run {{cassandra-stress}} > This produces an access denied message on {{/var/lib/cassandra/commitlog}}. > The attached fix uses client-mode functionality. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12736) Update the bundled python driver on trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-12736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15543223#comment-15543223 ] Philip Thompson commented on CASSANDRA-12736: - Those tests use 5 nodes, I would expect them to hang > Update the bundled python driver on trunk > - > > Key: CASSANDRA-12736 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12736 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Paulo Motta > Labels: cqlsh > Fix For: 4.x > > > Trunk was recently updated to be version 4.0. The bundled python driver that > cqlsh uses has a bug where it fails to connect to a C* server with a major > version number greater than 3. The driver was fixed upstream, and we should > pull in the fix. > [~pauloricardomg] or [~stefania]? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12268) Make MV Index creation robust for wide referent rows
[ https://issues.apache.org/jira/browse/CASSANDRA-12268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15543085#comment-15543085 ] Carl Yeksigian commented on CASSANDRA-12268: Just realized that there is an issue with using the same path for the regular update and during build, in that we can break apart batches and not provide the same semantics as we currently do. I've just added a boolean to determine whether or not to return more than one mutation. I'll kick off new CI runs. > Make MV Index creation robust for wide referent rows > > > Key: CASSANDRA-12268 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12268 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Jonathan Shook >Assignee: Carl Yeksigian > Fix For: 3.0.x, 3.x > > Attachments: 12268.py > > > When creating an index for a materialized view for extant data, heap pressure > is very dependent on the cardinality of of rows associated with each index > value. With the way that per-index value rows are created within the index, > this can cause unbounded heap pressure, which can cause OOM. This appears to > be a side-effect of how each index row is applied atomically as with batches. > The commit logs can accumulate enough during the process to prevent the node > from being restarted. Given that this occurs during global index creation, > this can happen on multiple nodes, making stable recovery of a node set > difficult, as co-replicas become unavailable to assist in back-filling data > from commitlogs. > While it is understandable that you want to avoid having relatively wide rows > even in materialized views, this represents a particularly difficult > scenario for triage. > The basic recommendation for improving this is to sub-group the index > creation into smaller chunks internally, providing a maximal bound against > the heap pressure when it is needed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-12715) Fix exceptions with the new vnode allocation.
[ https://issues.apache.org/jira/browse/CASSANDRA-12715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15527705#comment-15527705 ] Dikang Gu edited comment on CASSANDRA-12715 at 10/3/16 5:36 PM: [~blambov], I modified current unit test a bit, so that it can cover this case as well. Here is the new patch, https://github.com/DikangGu/cassandra/commit/071120a264f92927db785c628e0b93f2c04a07ea was (Author: dikanggu): [~blambov], I modified current unit test a bit, so that it can cover this case as well. Here is the new patch, https://github.com/DikangGu/cassandra/commit/57b6a000f39315b027ffe4caa499806c17c33240 > Fix exceptions with the new vnode allocation. > - > > Key: CASSANDRA-12715 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12715 > Project: Cassandra > Issue Type: Bug >Reporter: Dikang Gu >Assignee: Dikang Gu > Fix For: 3.0.x, 3.x > > > Problem: see exceptions when bootstrapping nodes using the new vnode > allocation algorithm. I'm able to reproduce it in trunk as well: > {code} > INFO [main] 2016-09-26 15:36:54,978 StorageService.java:1437 - JOINING: > calculation complete, ready to bootstrap > INFO [main] 2016-09-26 15:36:54,978 StorageService.java:1437 - JOINING: > getting bootstrap token > ERROR [main] 2016-09-26 15:36:54,989 CassandraDaemon.java:752 - Exception > encountered during startup > java.lang.AssertionError: null > at > org.apache.cassandra.locator.TokenMetadata.getTopology(TokenMetadata.java:1209) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.getStrategy(TokenAllocation.java:201) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.getStrategy(TokenAllocation.java:164) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.allocateTokens(TokenAllocation.java:54) > ~[main/:na] > at > org.apache.cassandra.dht.BootStrapper.allocateTokens(BootStrapper.java:207) > ~[main/:na] > at > org.apache.cassandra.dht.BootStrapper.getBootstrapTokens(BootStrapper.java:174) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:929) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:697) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:582) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:392) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) > [main/:na] > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9754) Make index info heap friendly for large CQL partitions
[ https://issues.apache.org/jira/browse/CASSANDRA-9754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542919#comment-15542919 ] Branimir Lambov commented on CASSANDRA-9754: bq. if we mmap a few times we'll still incur the very high and unpredictable costs from mmap The {{MmappedRegions}} usage is to map the regions at sstable load, i.e. effectively only once in the table's lifecycle, which should completely avoid any mmap costs at read time. bq. I'm wondering though if mmap'ing things even makes since Depends if we want to squeeze the last bit of performance or not. Memmapped data (assuming already mapped as above) that resides in the page cache has no cost whatsoever to be accessed, while reading it off RAF or a channel still needs a system call plus some copying. The difference is fest most on workloads that fit entirely in the page cache. If you don't feel like this is helpful, you can leave this out of the 2.1 version and rely on {{Rebufferer}} (or {{RandomAccessReader}}) to do memmapping or caching for you in trunk. > Make index info heap friendly for large CQL partitions > -- > > Key: CASSANDRA-9754 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9754 > Project: Cassandra > Issue Type: Improvement >Reporter: sankalp kohli >Assignee: Michael Kjellman >Priority: Minor > Fix For: 4.x > > Attachments: 9754_part1-v1.diff, 9754_part2-v1.diff > > > Looking at a heap dump of 2.0 cluster, I found that majority of the objects > are IndexInfo and its ByteBuffers. This is specially bad in endpoints with > large CQL partitions. If a CQL partition is say 6,4GB, it will have 100K > IndexInfo objects and 200K ByteBuffers. This will create a lot of churn for > GC. Can this be improved by not creating so many objects? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11117) ColUpdateTimeDeltaHistogram histogram overflow
[ https://issues.apache.org/jira/browse/CASSANDRA-7?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Joel Knighton updated CASSANDRA-7: -- Status: Patch Available (was: In Progress) > ColUpdateTimeDeltaHistogram histogram overflow > -- > > Key: CASSANDRA-7 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7 > Project: Cassandra > Issue Type: Bug >Reporter: Chris Lohfink >Assignee: Joel Knighton >Priority: Minor > Fix For: 2.2.x, 3.0.x, 3.x > > > {code} > getting attribute Mean of > org.apache.cassandra.metrics:type=ColumnFamily,name=ColUpdateTimeDeltaHistogram > threw an exceptionjavax.management.RuntimeMBeanException: > java.lang.IllegalStateException: Unable to compute ceiling for max when > histogram overflowed > {code} > Although the fact that this histogram has 164 buckets already, I wonder if > there is something weird with the computation thats causing this to be so > large? It appears to be coming from updates to system.local > {code} > org.apache.cassandra.metrics:type=Table,keyspace=system,scope=local,name=ColUpdateTimeDeltaHistogram > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12694) PAXOS Update Corrupted empty row exception
[ https://issues.apache.org/jira/browse/CASSANDRA-12694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Joshua McKenzie updated CASSANDRA-12694: Reviewer: Stefania > PAXOS Update Corrupted empty row exception > -- > > Key: CASSANDRA-12694 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12694 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths > Environment: 3 node cluster using RF=3 running on cassandra 3.7 >Reporter: Cameron Zemek >Assignee: Alex Petrov > > {noformat} > cqlsh> create table test.test (test_id TEXT, last_updated TIMESTAMP, > message_id TEXT, PRIMARY KEY(test_id)); > update test.test set last_updated = 1474494363669 where test_id = 'test1' if > message_id = null; > {noformat} > Then nodetool flush on the all 3 nodes. > {noformat} > cqlsh> update test.test set last_updated = 1474494363669 where test_id = > 'test1' if message_id = null; > ServerError: > {noformat} > From cassandra log > {noformat} > ERROR [SharedPool-Worker-1] 2016-09-23 12:09:13,179 Message.java:611 - > Unexpected exception during request; channel = [id: 0x7a22599e, > L:/127.0.0.1:9042 - R:/127.0.0.1:58297] > java.io.IOError: java.io.IOException: Corrupt empty row found in unfiltered > partition > at > org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:224) > ~[main/:na] > at > org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:212) > ~[main/:na] > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > ~[main/:na] > at > org.apache.cassandra.db.rows.UnfilteredRowIterators.digest(UnfilteredRowIterators.java:125) > ~[main/:na] > at > org.apache.cassandra.db.partitions.UnfilteredPartitionIterators.digest(UnfilteredPartitionIterators.java:249) > ~[main/:na] > at > org.apache.cassandra.db.ReadResponse.makeDigest(ReadResponse.java:87) > ~[main/:na] > at > org.apache.cassandra.db.ReadResponse$DataResponse.digest(ReadResponse.java:192) > ~[main/:na] > at > org.apache.cassandra.service.DigestResolver.resolve(DigestResolver.java:80) > ~[main/:na] > at > org.apache.cassandra.service.ReadCallback.get(ReadCallback.java:139) > ~[main/:na] > at > org.apache.cassandra.service.AbstractReadExecutor.get(AbstractReadExecutor.java:145) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.awaitResultsAndRetryOnDigestMismatch(StorageProxy.java:1714) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1663) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1604) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1523) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readOne(StorageProxy.java:1497) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readOne(StorageProxy.java:1491) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.cas(StorageProxy.java:249) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.ModificationStatement.executeWithCondition(ModificationStatement.java:441) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:416) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:208) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:239) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:224) > ~[main/:na] > at > org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115) > ~[main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507) > [main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401) > [main/:na] > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12744) Randomness of stress distributions is not good
[ https://issues.apache.org/jira/browse/CASSANDRA-12744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542859#comment-15542859 ] T Jake Luciani commented on CASSANDRA-12744: [branch|https://github.com/tjake/cassandra/tree/stress-random] [utest|http://cassci.datastax.com/job/tjake-stress-random-testall/] [dtests| http://cassci.datastax.com/job/tjake-stress-random-dtest/] > Randomness of stress distributions is not good > -- > > Key: CASSANDRA-12744 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12744 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: T Jake Luciani >Assignee: T Jake Luciani >Priority: Minor > Labels: stress > Fix For: 3.0.10 > > > The randomness of our distributions is pretty bad. We are using the > JDKRandomGenerator() but in testing of uniform(1..3) we see for 100 > iterations it's only outputting 3. If you bump it to 10k it hits all 3 > values. > I made a change to just use the default commons math random generator and now > see all 3 values for n=10 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12694) PAXOS Update Corrupted empty row exception
[ https://issues.apache.org/jira/browse/CASSANDRA-12694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-12694: -- Status: Patch Available (was: Open) > PAXOS Update Corrupted empty row exception > -- > > Key: CASSANDRA-12694 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12694 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths > Environment: 3 node cluster using RF=3 running on cassandra 3.7 >Reporter: Cameron Zemek >Assignee: Alex Petrov > > {noformat} > cqlsh> create table test.test (test_id TEXT, last_updated TIMESTAMP, > message_id TEXT, PRIMARY KEY(test_id)); > update test.test set last_updated = 1474494363669 where test_id = 'test1' if > message_id = null; > {noformat} > Then nodetool flush on the all 3 nodes. > {noformat} > cqlsh> update test.test set last_updated = 1474494363669 where test_id = > 'test1' if message_id = null; > ServerError: > {noformat} > From cassandra log > {noformat} > ERROR [SharedPool-Worker-1] 2016-09-23 12:09:13,179 Message.java:611 - > Unexpected exception during request; channel = [id: 0x7a22599e, > L:/127.0.0.1:9042 - R:/127.0.0.1:58297] > java.io.IOError: java.io.IOException: Corrupt empty row found in unfiltered > partition > at > org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:224) > ~[main/:na] > at > org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:212) > ~[main/:na] > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > ~[main/:na] > at > org.apache.cassandra.db.rows.UnfilteredRowIterators.digest(UnfilteredRowIterators.java:125) > ~[main/:na] > at > org.apache.cassandra.db.partitions.UnfilteredPartitionIterators.digest(UnfilteredPartitionIterators.java:249) > ~[main/:na] > at > org.apache.cassandra.db.ReadResponse.makeDigest(ReadResponse.java:87) > ~[main/:na] > at > org.apache.cassandra.db.ReadResponse$DataResponse.digest(ReadResponse.java:192) > ~[main/:na] > at > org.apache.cassandra.service.DigestResolver.resolve(DigestResolver.java:80) > ~[main/:na] > at > org.apache.cassandra.service.ReadCallback.get(ReadCallback.java:139) > ~[main/:na] > at > org.apache.cassandra.service.AbstractReadExecutor.get(AbstractReadExecutor.java:145) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.awaitResultsAndRetryOnDigestMismatch(StorageProxy.java:1714) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1663) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1604) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1523) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readOne(StorageProxy.java:1497) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readOne(StorageProxy.java:1491) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.cas(StorageProxy.java:249) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.ModificationStatement.executeWithCondition(ModificationStatement.java:441) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:416) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:208) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:239) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:224) > ~[main/:na] > at > org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115) > ~[main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507) > [main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401) > [main/:na] > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-12744) Randomness of stress distributions is not good
T Jake Luciani created CASSANDRA-12744: -- Summary: Randomness of stress distributions is not good Key: CASSANDRA-12744 URL: https://issues.apache.org/jira/browse/CASSANDRA-12744 Project: Cassandra Issue Type: Bug Components: Tools Reporter: T Jake Luciani Assignee: T Jake Luciani Priority: Minor Fix For: 3.0.10 The randomness of our distributions is pretty bad. We are using the JDKRandomGenerator() but in testing of uniform(1..3) we see for 100 iterations it's only outputting 3. If you bump it to 10k it hits all 3 values. I made a change to just use the default commons math random generator and now see all 3 values for n=10 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9754) Make index info heap friendly for large CQL partitions
[ https://issues.apache.org/jira/browse/CASSANDRA-9754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542718#comment-15542718 ] Michael Kjellman commented on CASSANDRA-9754: - I saw that way back when I started implementing things -- I'm wondering though if mmap'ing things even makes since. Given the chunks of work are aligned on 4k boundaries, even if we mmap a few times we'll still incur the very high and unpredictable costs from mmap (even if less given 2GB chunks are obviously much bigger than 4kb)... thoughts? I'm trying to profile it now... > Make index info heap friendly for large CQL partitions > -- > > Key: CASSANDRA-9754 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9754 > Project: Cassandra > Issue Type: Improvement >Reporter: sankalp kohli >Assignee: Michael Kjellman >Priority: Minor > Fix For: 4.x > > Attachments: 9754_part1-v1.diff, 9754_part2-v1.diff > > > Looking at a heap dump of 2.0 cluster, I found that majority of the objects > are IndexInfo and its ByteBuffers. This is specially bad in endpoints with > large CQL partitions. If a CQL partition is say 6,4GB, it will have 100K > IndexInfo objects and 200K ByteBuffers. This will create a lot of churn for > GC. Can this be improved by not creating so many objects? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11634) Add write timestamp to trace
[ https://issues.apache.org/jira/browse/CASSANDRA-11634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542688#comment-15542688 ] Edward Capriolo commented on CASSANDRA-11634: - Understood. Could you hint on how better to implement it? For example which components classes etc, you mentioned a cleaner spot, but it is not clear to me where that spot might be. > Add write timestamp to trace > > > Key: CASSANDRA-11634 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11634 > Project: Cassandra > Issue Type: Improvement > Components: Observability >Reporter: Christopher Batey >Assignee: Christopher Batey >Priority: Minor > Fix For: 3.x > > Attachments: 0001-Add-trace-message-for-write-timestamp.patch > > > Diagnosing issues with clock drift would be easier if trace had the mutation > timestamp. I'll add a patch for this soon. > Patch attached or at: > https://github.com/chbatey/cassandra-1/tree/trace-write-timestamp -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11634) Add write timestamp to trace
[ https://issues.apache.org/jira/browse/CASSANDRA-11634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542679#comment-15542679 ] Aleksey Yeschenko commented on CASSANDRA-11634: --- bq. Do you mean that you wish a refactor or can it be committed as is? The former. > Add write timestamp to trace > > > Key: CASSANDRA-11634 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11634 > Project: Cassandra > Issue Type: Improvement > Components: Observability >Reporter: Christopher Batey >Assignee: Christopher Batey >Priority: Minor > Fix For: 3.x > > Attachments: 0001-Add-trace-message-for-write-timestamp.patch > > > Diagnosing issues with clock drift would be easier if trace had the mutation > timestamp. I'll add a patch for this soon. > Patch attached or at: > https://github.com/chbatey/cassandra-1/tree/trace-write-timestamp -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11634) Add write timestamp to trace
[ https://issues.apache.org/jira/browse/CASSANDRA-11634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542674#comment-15542674 ] Edward Capriolo commented on CASSANDRA-11634: - Do you mean that you wish a refactor or can it be committed as is? > Add write timestamp to trace > > > Key: CASSANDRA-11634 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11634 > Project: Cassandra > Issue Type: Improvement > Components: Observability >Reporter: Christopher Batey >Assignee: Christopher Batey >Priority: Minor > Fix For: 3.x > > Attachments: 0001-Add-trace-message-for-write-timestamp.patch > > > Diagnosing issues with clock drift would be easier if trace had the mutation > timestamp. I'll add a patch for this soon. > Patch attached or at: > https://github.com/chbatey/cassandra-1/tree/trace-write-timestamp -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-12741) Optimize Materialied view update when base table and view table have the same partition key
[ https://issues.apache.org/jira/browse/CASSANDRA-12741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Carl Yeksigian resolved CASSANDRA-12741. Resolution: Not A Problem This is already the case, as long as there are no nodes joining the ring in that token range. > Optimize Materialied view update when base table and view table have the same > partition key > --- > > Key: CASSANDRA-12741 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12741 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Mickaël Delanoë >Priority: Minor > > When the base table and the view table share the same partition key, both > tables will use the same node. > I guess performance optimization can be done in that SPECIAL case. > And in that case could it also be conceivable to have a synchronous update of > the view table (to enforce consistency) at the cost of a increased latency ? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7545) Hints for a down node are written to a single partition in system.hints on the coordinator leading to contention
[ https://issues.apache.org/jira/browse/CASSANDRA-7545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542637#comment-15542637 ] Aleksey Yeschenko commented on CASSANDRA-7545: -- There isn't, sorry. Going 3.0 is your only option, unless you backport the 3.0 patch yourself. > Hints for a down node are written to a single partition in system.hints on > the coordinator leading to contention > > > Key: CASSANDRA-7545 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7545 > Project: Cassandra > Issue Type: Bug >Reporter: graham sanderson > > The worst side effect is potentially orders of magnitude larger than > suspected memory allocation due to a race condition updating the columns in > the memtable (see CASSANDRA-7546) > That said, having so many hints in a single partition has other negative side > effects (non linear growth of sorted tree data structure overhead in > memtable, just plain large number of tombstones in a row etc.) > Ideally, the hints would be partitioned by both the nodeUUID, and a fixed > number of (say 4) bits of a hash of the original rowmutation's partition > key... even this small spreading of load has a significant improvement. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12734) Materialized View schema file for snapshots created as tables
[ https://issues.apache.org/jira/browse/CASSANDRA-12734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542631#comment-15542631 ] Aleksey Yeschenko commented on CASSANDRA-12734: --- [~ifesdjeen] I think we also need CREATE MV WITH ID for this to work. > Materialized View schema file for snapshots created as tables > - > > Key: CASSANDRA-12734 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12734 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Hau Phan > Fix For: 3.0.9 > > > The materialized view schema file that gets created and stored with the > sstables is created as a table instead of a materialized view. > Can the materialized view be created and added to the corresponding table's > schema file? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11634) Add write timestamp to trace
[ https://issues.apache.org/jira/browse/CASSANDRA-11634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542627#comment-15542627 ] Aleksey Yeschenko commented on CASSANDRA-11634: --- WFM in principle, but the tracing calls don't feel like they are in the right place. A bit hackyish the way it is, can be put in a cleaner spot. Sorry for the long-ass delay. > Add write timestamp to trace > > > Key: CASSANDRA-11634 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11634 > Project: Cassandra > Issue Type: Improvement > Components: Observability >Reporter: Christopher Batey >Assignee: Christopher Batey >Priority: Minor > Fix For: 3.x > > Attachments: 0001-Add-trace-message-for-write-timestamp.patch > > > Diagnosing issues with clock drift would be easier if trace had the mutation > timestamp. I'll add a patch for this soon. > Patch attached or at: > https://github.com/chbatey/cassandra-1/tree/trace-write-timestamp -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11117) ColUpdateTimeDeltaHistogram histogram overflow
[ https://issues.apache.org/jira/browse/CASSANDRA-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542557#comment-15542557 ] Joel Knighton commented on CASSANDRA-7: --- ||branch||testall||dtest|| |[CASSANDRA-7-2.2|https://github.com/jkni/cassandra/tree/CASSANDRA-7-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-2.2-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-2.2-dtest]| |[CASSANDRA-7-3.0|https://github.com/jkni/cassandra/tree/CASSANDRA-7-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-3.0-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-3.0-dtest]| |[CASSANDRA-7-3.X|https://github.com/jkni/cassandra/tree/CASSANDRA-7-3.X]|[testall|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-3.X-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-3.X-dtest]| |[CASSANDRA-7-trunk|https://github.com/jkni/cassandra/tree/CASSANDRA-7-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/jkni/job/jkni-CASSANDRA-7-trunk-dtest]| I've linked patches above. CI for the patches look clean relative to upstream. For 2.2, I found write paths in Thrift for accessing counters that reproduced this behavior. In 3.0+, I found instances where UPDATE -> INSERT patterns reproduced this behavior, when an update to a nonexistent row created an empty {{LivenessInfo}}. This behavior is also possible to reproduce just by using client-specified timestamps. This leads us to a few options to fix this issue; we could look through the read/write path and try special case handling of the first two issues (and any others we would have to discover), but that wouldn't solve the client-specified timestamp behavior. For that reason, I opted in to simply filtering to values that wouldn't overflow the histogram. This limits the ColUpdateTimeDelta histogram to reflecting updates under normal conditions that are under about 100 days. The risk of the first approach is introducing additional complexity in the read/write path for a fairly niche metric. The risk of the second approach is that it reduces the amount of the information in the ColUpdateTimeDelta histogram. I do not think this significantly reduces the utility of the metric as proposed in [CASSANDRA-7979], which is to somehow quantify how frequently columns are updated. A single decaying histogram measurement (as for the second access in the counter and update/insert examples above) has limited value, and samples above 100 days don't impose a reasonable time skew constraint. I'm not necessarily opposed to the first option. If someone does have a strong preference, I think I'll defer on a patch here to someone more experienced with the read/write path. I'd be happy to review. > ColUpdateTimeDeltaHistogram histogram overflow > -- > > Key: CASSANDRA-7 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7 > Project: Cassandra > Issue Type: Bug >Reporter: Chris Lohfink >Assignee: Joel Knighton >Priority: Minor > Fix For: 2.2.x, 3.0.x, 3.x > > > {code} > getting attribute Mean of > org.apache.cassandra.metrics:type=ColumnFamily,name=ColUpdateTimeDeltaHistogram > threw an exceptionjavax.management.RuntimeMBeanException: > java.lang.IllegalStateException: Unable to compute ceiling for max when > histogram overflowed > {code} > Although the fact that this histogram has 164 buckets already, I wonder if > there is something weird with the computation thats causing this to be so > large? It appears to be coming from updates to system.local > {code} > org.apache.cassandra.metrics:type=Table,keyspace=system,scope=local,name=ColUpdateTimeDeltaHistogram > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12478) cassandra stress still uses CFMetaData.compile()
[ https://issues.apache.org/jira/browse/CASSANDRA-12478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paulo Motta updated CASSANDRA-12478: Status: Ready to Commit (was: Patch Available) > cassandra stress still uses CFMetaData.compile() > > > Key: CASSANDRA-12478 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12478 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Denis Ranger > Labels: stress > Fix For: 3.0.x > > Attachments: > 0001-Replaced-using-CFMetaData.compile-in-cassandra-stres.patch, > 0002-Used-client-instead-of-tool-init.patch, cassandra-stress-trunk.patch, > cassandra-stress-v2.patch > > > Using CFMetaData.compile() on a client tool causes permission problems. To > reproduce: > * Start cassandra under user _cassandra_ > * Run {{chmod -R go-rwx /var/lib/cassandra}} to deny access to other users. > * Use a non-root user to run {{cassandra-stress}} > This produces an access denied message on {{/var/lib/cassandra/commitlog}}. > The attached fix uses client-mode functionality. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12478) cassandra stress still uses CFMetaData.compile()
[ https://issues.apache.org/jira/browse/CASSANDRA-12478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542475#comment-15542475 ] Paulo Motta commented on CASSANDRA-12478: - Test looks good, marking as ready to commit. Thanks! Commit info: 3.0 patch different from 3.X/trunk patch. 3.X patch merges cleanly to trunk, please ignore commit 0109e82 on trunk branch (update bundled python cqlsh driver), since that will be done on CASSANDRA-12736 and there are some issues to be addressed there. > cassandra stress still uses CFMetaData.compile() > > > Key: CASSANDRA-12478 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12478 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Denis Ranger > Labels: stress > Fix For: 3.0.x > > Attachments: > 0001-Replaced-using-CFMetaData.compile-in-cassandra-stres.patch, > 0002-Used-client-instead-of-tool-init.patch, cassandra-stress-trunk.patch, > cassandra-stress-v2.patch > > > Using CFMetaData.compile() on a client tool causes permission problems. To > reproduce: > * Start cassandra under user _cassandra_ > * Run {{chmod -R go-rwx /var/lib/cassandra}} to deny access to other users. > * Use a non-root user to run {{cassandra-stress}} > This produces an access denied message on {{/var/lib/cassandra/commitlog}}. > The attached fix uses client-mode functionality. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12731) Remove IndexInfo cache from FileIndexInfoRetriever.
[ https://issues.apache.org/jira/browse/CASSANDRA-12731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542399#comment-15542399 ] Yasuharu Goto commented on CASSANDRA-12731: --- Thank you very much for your review and cleaning up, [~snazy] ! > Remove IndexInfo cache from FileIndexInfoRetriever. > --- > > Key: CASSANDRA-12731 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12731 > Project: Cassandra > Issue Type: Improvement >Reporter: Yasuharu Goto >Assignee: Yasuharu Goto > Attachments: screenshot-1.png, screenshot-2.png > > > Hi guys. > In the patch of CASSANDRA-11206 , I found that FileIndexInfoRetriever > allocates a (potentially very large) IndexInfo array (up to the number of > IndexInfo in the RowIndexEntry has) as a cache in every single read path. > After some experiments using LargePartitionTest on my MacBook, I got results > that show that removing FileIndexInfoRetriever improves the performance for > large partitions like below (latencies reduced by 41% and by 45%). > {noformat} > // LargePartitionsTest.test_13_4G with cache by array > INFO [main] 2016-09-29 23:11:25,763 ?:? - SELECTs 1 for part=4194304k > total=16384M took 94197 ms > INFO [main] 2016-09-29 23:12:50,914 ?:? - SELECTs 2 for part=4194304k > total=16384M took 85151 ms > // LargePartitionsTest.test_13_4G without cache > INFO [main] 2016-09-30 00:13:26,050 ?:? - SELECTs 1 for part=4194304k > total=16384M took 55112 ms > INFO [main] 2016-09-30 00:14:12,132 ?:? - SELECTs 2 for part=4194304k > total=16384M took 46082 ms > {noformat} > Code is > [here|https://github.com/matope/cassandra/commit/86fb910a0e38f7520e1be40fb42f74a692f2ebce] > (based on trunk) > Heap memory usage during running LargePartitionsTest (except for 8G test) > with array cache(original) > !screenshot-1.png! > Heap memory usage during running LargePartitionsTest (except for 8G test) > without cache > !screenshot-2.png! > Of course, I have attempted to use some collection containers instead of a > plain array. But I could not recognize great improvement enough to justify > using these cache mechanism by them. (Unless I did some mistake or overlook > about this test) > || LargePartitionsTest.test_12_2G || SELECTs 1 (ms) || SELECTs 2 (ms) || Scan > (ms) || > |Original (array) | 62736 | 48562 | 41540 | > |ConcurrentHashMap | 47597 | 30854 | 18271 | > |ConcurrentHashMap 2nd trial |44036|26895|17443| > |LinkedHashCache (capacity=16, limit=10, fifo) 1st|42668|32165|17323| > |LinkedHashCache (capacity=16, limit=10, fifo) 2nd|48863|28066|18053| > |LinkedHashCache (capacity=16, limit=16, fifo) | 46979 | 29810 | 18620 | > |LinkedHashCache (capacity=16, limit=10, lru) | 46456 | 29749 | 20311 | > |No Cache | 47579 | 32480 | 18337 | > |No Cache 2nd trial | 46534 | 27670 | 18700 | > Code that I used for this comparison is > [here|https://github.com/matope/cassandra/commit/e12fcac77f0f46bdf4104ef21c6454bfb2bb92d0]. > LinkedHashCache is a simple fifo/lru cache that is extended by LinkedHashMap. > Scan is a execution time to iterate through the large partition. > So, in this issue, I'd like to propose to remove IndexInfo cache from > FileIndexInfoRetriever to improve the performance on large partitions. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-12743) Assertion error while runnning compaction
Jean-Baptiste Le Duigou created CASSANDRA-12743: --- Summary: Assertion error while runnning compaction Key: CASSANDRA-12743 URL: https://issues.apache.org/jira/browse/CASSANDRA-12743 Project: Cassandra Issue Type: Bug Components: Compaction Environment: unix Reporter: Jean-Baptiste Le Duigou While running compaction I run into an error sometimes : {noformat} nodetool compact error: null -- StackTrace -- java.lang.AssertionError at org.apache.cassandra.io.compress.CompressionMetadata$Chunk.(CompressionMetadata.java:463) at org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:228) at org.apache.cassandra.io.util.CompressedSegmentedFile.createMappedSegments(CompressedSegmentedFile.java:80) at org.apache.cassandra.io.util.CompressedPoolingSegmentedFile.(CompressedPoolingSegmentedFile.java:38) at org.apache.cassandra.io.util.CompressedPoolingSegmentedFile$Builder.complete(CompressedPoolingSegmentedFile.java:101) at org.apache.cassandra.io.util.SegmentedFile$Builder.complete(SegmentedFile.java:198) at org.apache.cassandra.io.sstable.format.big.BigTableWriter.openEarly(BigTableWriter.java:315) at org.apache.cassandra.io.sstable.SSTableRewriter.maybeReopenEarly(SSTableRewriter.java:171) at org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:116) at org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter.append(DefaultCompactionWriter.java:64) at org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:184) at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:74) at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) at org.apache.cassandra.db.compaction.CompactionManager$8.runMayThrow(CompactionManager.java:599) at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) {noformat} Why is that happening? Is there anyway to provide more details (e.g. which SSTable cannot be compacted)? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12731) Remove IndexInfo cache from FileIndexInfoRetriever.
[ https://issues.apache.org/jira/browse/CASSANDRA-12731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542317#comment-15542317 ] Robert Stupp commented on CASSANDRA-12731: -- Nice catch, [~Yasuharu] ! I did some comparison myself and get similar improvements using the patch you provided so I've setup a branch for CI. The branch also includes a temporary fix for the issue you've also reported as CASSANDRA-12717. ||trunk|[branch|https://github.com/apache/cassandra/compare/trunk...snazy:12731-modified-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/snazy/job/snazy-12731-modified-trunk-testall/lastSuccessfulBuild/]|[dtest|http://cassci.datastax.com/view/Dev/view/snazy/job/snazy-12731-modified-trunk-dtest/lastSuccessfulBuild/] > Remove IndexInfo cache from FileIndexInfoRetriever. > --- > > Key: CASSANDRA-12731 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12731 > Project: Cassandra > Issue Type: Improvement >Reporter: Yasuharu Goto >Assignee: Yasuharu Goto > Attachments: screenshot-1.png, screenshot-2.png > > > Hi guys. > In the patch of CASSANDRA-11206 , I found that FileIndexInfoRetriever > allocates a (potentially very large) IndexInfo array (up to the number of > IndexInfo in the RowIndexEntry has) as a cache in every single read path. > After some experiments using LargePartitionTest on my MacBook, I got results > that show that removing FileIndexInfoRetriever improves the performance for > large partitions like below (latencies reduced by 41% and by 45%). > {noformat} > // LargePartitionsTest.test_13_4G with cache by array > INFO [main] 2016-09-29 23:11:25,763 ?:? - SELECTs 1 for part=4194304k > total=16384M took 94197 ms > INFO [main] 2016-09-29 23:12:50,914 ?:? - SELECTs 2 for part=4194304k > total=16384M took 85151 ms > // LargePartitionsTest.test_13_4G without cache > INFO [main] 2016-09-30 00:13:26,050 ?:? - SELECTs 1 for part=4194304k > total=16384M took 55112 ms > INFO [main] 2016-09-30 00:14:12,132 ?:? - SELECTs 2 for part=4194304k > total=16384M took 46082 ms > {noformat} > Code is > [here|https://github.com/matope/cassandra/commit/86fb910a0e38f7520e1be40fb42f74a692f2ebce] > (based on trunk) > Heap memory usage during running LargePartitionsTest (except for 8G test) > with array cache(original) > !screenshot-1.png! > Heap memory usage during running LargePartitionsTest (except for 8G test) > without cache > !screenshot-2.png! > Of course, I have attempted to use some collection containers instead of a > plain array. But I could not recognize great improvement enough to justify > using these cache mechanism by them. (Unless I did some mistake or overlook > about this test) > || LargePartitionsTest.test_12_2G || SELECTs 1 (ms) || SELECTs 2 (ms) || Scan > (ms) || > |Original (array) | 62736 | 48562 | 41540 | > |ConcurrentHashMap | 47597 | 30854 | 18271 | > |ConcurrentHashMap 2nd trial |44036|26895|17443| > |LinkedHashCache (capacity=16, limit=10, fifo) 1st|42668|32165|17323| > |LinkedHashCache (capacity=16, limit=10, fifo) 2nd|48863|28066|18053| > |LinkedHashCache (capacity=16, limit=16, fifo) | 46979 | 29810 | 18620 | > |LinkedHashCache (capacity=16, limit=10, lru) | 46456 | 29749 | 20311 | > |No Cache | 47579 | 32480 | 18337 | > |No Cache 2nd trial | 46534 | 27670 | 18700 | > Code that I used for this comparison is > [here|https://github.com/matope/cassandra/commit/e12fcac77f0f46bdf4104ef21c6454bfb2bb92d0]. > LinkedHashCache is a simple fifo/lru cache that is extended by LinkedHashMap. > Scan is a execution time to iterate through the large partition. > So, in this issue, I'd like to propose to remove IndexInfo cache from > FileIndexInfoRetriever to improve the performance on large partitions. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12731) Remove IndexInfo cache from FileIndexInfoRetriever.
[ https://issues.apache.org/jira/browse/CASSANDRA-12731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-12731: - Reviewer: Robert Stupp > Remove IndexInfo cache from FileIndexInfoRetriever. > --- > > Key: CASSANDRA-12731 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12731 > Project: Cassandra > Issue Type: Improvement >Reporter: Yasuharu Goto >Assignee: Yasuharu Goto > Attachments: screenshot-1.png, screenshot-2.png > > > Hi guys. > In the patch of CASSANDRA-11206 , I found that FileIndexInfoRetriever > allocates a (potentially very large) IndexInfo array (up to the number of > IndexInfo in the RowIndexEntry has) as a cache in every single read path. > After some experiments using LargePartitionTest on my MacBook, I got results > that show that removing FileIndexInfoRetriever improves the performance for > large partitions like below (latencies reduced by 41% and by 45%). > {noformat} > // LargePartitionsTest.test_13_4G with cache by array > INFO [main] 2016-09-29 23:11:25,763 ?:? - SELECTs 1 for part=4194304k > total=16384M took 94197 ms > INFO [main] 2016-09-29 23:12:50,914 ?:? - SELECTs 2 for part=4194304k > total=16384M took 85151 ms > // LargePartitionsTest.test_13_4G without cache > INFO [main] 2016-09-30 00:13:26,050 ?:? - SELECTs 1 for part=4194304k > total=16384M took 55112 ms > INFO [main] 2016-09-30 00:14:12,132 ?:? - SELECTs 2 for part=4194304k > total=16384M took 46082 ms > {noformat} > Code is > [here|https://github.com/matope/cassandra/commit/86fb910a0e38f7520e1be40fb42f74a692f2ebce] > (based on trunk) > Heap memory usage during running LargePartitionsTest (except for 8G test) > with array cache(original) > !screenshot-1.png! > Heap memory usage during running LargePartitionsTest (except for 8G test) > without cache > !screenshot-2.png! > Of course, I have attempted to use some collection containers instead of a > plain array. But I could not recognize great improvement enough to justify > using these cache mechanism by them. (Unless I did some mistake or overlook > about this test) > || LargePartitionsTest.test_12_2G || SELECTs 1 (ms) || SELECTs 2 (ms) || Scan > (ms) || > |Original (array) | 62736 | 48562 | 41540 | > |ConcurrentHashMap | 47597 | 30854 | 18271 | > |ConcurrentHashMap 2nd trial |44036|26895|17443| > |LinkedHashCache (capacity=16, limit=10, fifo) 1st|42668|32165|17323| > |LinkedHashCache (capacity=16, limit=10, fifo) 2nd|48863|28066|18053| > |LinkedHashCache (capacity=16, limit=16, fifo) | 46979 | 29810 | 18620 | > |LinkedHashCache (capacity=16, limit=10, lru) | 46456 | 29749 | 20311 | > |No Cache | 47579 | 32480 | 18337 | > |No Cache 2nd trial | 46534 | 27670 | 18700 | > Code that I used for this comparison is > [here|https://github.com/matope/cassandra/commit/e12fcac77f0f46bdf4104ef21c6454bfb2bb92d0]. > LinkedHashCache is a simple fifo/lru cache that is extended by LinkedHashMap. > Scan is a execution time to iterate through the large partition. > So, in this issue, I'd like to propose to remove IndexInfo cache from > FileIndexInfoRetriever to improve the performance on large partitions. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12742) Nodetool --ssl flag is not listed in 'nodetool help'
[ https://issues.apache.org/jira/browse/CASSANDRA-12742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Simon Fontana Oscarsson updated CASSANDRA-12742: Attachment: CASSANDRA-12742 Version 2.2.x. Should apply cleanly to 3.x. Let me know if it doesn't and i will fix it. > Nodetool --ssl flag is not listed in 'nodetool help' > > > Key: CASSANDRA-12742 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12742 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Simon Fontana Oscarsson >Priority: Trivial > Fix For: 2.2.x > > Attachments: CASSANDRA-12742 > > > Nodetool help should show ssl flag as an option. > Output from "nodetool help" before: > usage: nodetool [(-pw | --password )] > [(-pwf | --password-file )] > [(-p | --port )] [(-h | --host )] > [(-u | --username )] [] > After: > usage: nodetool [(-pw | --password )] [--ssl] > [(-pwf | --password-file )] > [(-p | --port )] [(-h | --host )] > [(-u | --username )] [] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12742) Nodetool --ssl flag is not listed in 'nodetool help'
[ https://issues.apache.org/jira/browse/CASSANDRA-12742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542178#comment-15542178 ] Simon Fontana Oscarsson commented on CASSANDRA-12742: - I have fixed this issue. Find the patch attached. > Nodetool --ssl flag is not listed in 'nodetool help' > > > Key: CASSANDRA-12742 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12742 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Simon Fontana Oscarsson >Priority: Trivial > Fix For: 2.2.x > > > Nodetool help should show ssl flag as an option. > Output from "nodetool help" before: > usage: nodetool [(-pw | --password )] > [(-pwf | --password-file )] > [(-p | --port )] [(-h | --host )] > [(-u | --username )] [] > After: > usage: nodetool [(-pw | --password )] [--ssl] > [(-pwf | --password-file )] > [(-p | --port )] [(-h | --host )] > [(-u | --username )] [] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12742) Nodetool --ssl flag is not listed in 'nodetool help'
[ https://issues.apache.org/jira/browse/CASSANDRA-12742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Simon Fontana Oscarsson updated CASSANDRA-12742: Status: Patch Available (was: Open) > Nodetool --ssl flag is not listed in 'nodetool help' > > > Key: CASSANDRA-12742 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12742 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Simon Fontana Oscarsson >Priority: Trivial > Fix For: 2.2.x > > > Nodetool help should show ssl flag as an option. > Output from "nodetool help" before: > usage: nodetool [(-pw | --password )] > [(-pwf | --password-file )] > [(-p | --port )] [(-h | --host )] > [(-u | --username )] [] > After: > usage: nodetool [(-pw | --password )] [--ssl] > [(-pwf | --password-file )] > [(-p | --port )] [(-h | --host )] > [(-u | --username )] [] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-12742) Nodetool --ssl flag is not listed in 'nodetool help'
Simon Fontana Oscarsson created CASSANDRA-12742: --- Summary: Nodetool --ssl flag is not listed in 'nodetool help' Key: CASSANDRA-12742 URL: https://issues.apache.org/jira/browse/CASSANDRA-12742 Project: Cassandra Issue Type: Bug Components: Tools Reporter: Simon Fontana Oscarsson Priority: Trivial Fix For: 2.2.x Nodetool help should show ssl flag as an option. Output from "nodetool help" before: usage: nodetool [(-pw | --password )] [(-pwf | --password-file )] [(-p | --port )] [(-h | --host )] [(-u | --username )] [] After: usage: nodetool [(-pw | --password )] [--ssl] [(-pwf | --password-file )] [(-p | --port )] [(-h | --host )] [(-u | --username )] [] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12716) Remove pre-3.0 compatibility code for 4.0
[ https://issues.apache.org/jira/browse/CASSANDRA-12716?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-12716: - Status: Patch Available (was: Open) > Remove pre-3.0 compatibility code for 4.0 > - > > Key: CASSANDRA-12716 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12716 > Project: Cassandra > Issue Type: Improvement >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Fix For: 4.0 > > > CASSANDRA-8099 make subsequent changes to internal formats so that we have > quite a bit of backward compatibility code a bit over the place. Due to that, > but also as a natural evolution, I believe we always had a tacit agreement > that 3.0/3.X would be a mandatory step on the upgrade to 4.X, so that we can > remove pre-3.0 compatibility (that is, we won't support going from any 2.x > release directly to 4.0, you'll have to upgrade to at least some 3.0 release > first). > I think it's time to create the 4.0 branch and remove that pre-3.0 backward > compatibility code, which should clean code quite a bit, and that's the goal > of this issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12716) Remove pre-3.0 compatibility code for 4.0
[ https://issues.apache.org/jira/browse/CASSANDRA-12716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542142#comment-15542142 ] Sylvain Lebresne commented on CASSANDRA-12716: -- Attaching a patch for this below: | [12716|https://github.com/pcmanus/cassandra/commits/12716] | [utests|http://cassci.datastax.com/job/pcmanus-12716-testall] | [dtests|http://cassci.datastax.com/job/pcmanus-12716-dtest] | I've tried to be thorough removing any code I could find that was not necessary anymore assume we're only compatible with 3.0+. It's worth noting this remove about 5K lines of code, which is not nothing (the patch actually removes a net 8K lines, but some of it is due to the removal of legacy test sstable; 5K is roughly where I was before I started removing those). There is a first big commit that remove the bulk of the code, followed by a number of smaller/more specific removals. There is a few cleanups around the {{Descriptor}} class that are not strictly removal but that I kind of run into: I wanted to make sure we properly rejecting early old sstables, from which I figured the best/safest place was in {{Descriptor.fromFilename()}}, but the method and its used were a bit messy so I cleaned things up while at it. As the description of this ticket and the NEWS entry of the last commit suggest, this assume we're ok making 3.x a mandatory step toward upgrade to 4.0, and means 4.0 is unable to read _anything_ pre-3.0, which I think is ok. A few minor technical points worth mentioning: * when running tests locally, I ran into a weird race in {{RealTransactionsTest}} where some cleanup seems to be interfering with other part of the test. I'm not really familiar with the test, nor am I sure why the patch would change anything for this test, but the {{MockSchema.cleanup()}} seems to be the culprit and didn't seem really used by the test at all so removed it. * One of the commits adds a call to {{SystemKeyspace.persistLocalMetadata()}} in {{CQLTester}}. That's actually the righ thing to do as before that we were running basicaly without the {{local}} system table being properly populated, and as some of the tests uses the java driver, said driver was not properly detecting the server version due to that, which made it read the old (pre-3.0) schema tables. This was wrong even before this patch but was a silent error so far and isn't anymore since thos legacy table have been entirely removed. > Remove pre-3.0 compatibility code for 4.0 > - > > Key: CASSANDRA-12716 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12716 > Project: Cassandra > Issue Type: Improvement >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Fix For: 4.0 > > > CASSANDRA-8099 make subsequent changes to internal formats so that we have > quite a bit of backward compatibility code a bit over the place. Due to that, > but also as a natural evolution, I believe we always had a tacit agreement > that 3.0/3.X would be a mandatory step on the upgrade to 4.X, so that we can > remove pre-3.0 compatibility (that is, we won't support going from any 2.x > release directly to 4.0, you'll have to upgrade to at least some 3.0 release > first). > I think it's time to create the 4.0 branch and remove that pre-3.0 backward > compatibility code, which should clean code quite a bit, and that's the goal > of this issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12741) Optimize Materialied view update when base table and view table have the same partition key
[ https://issues.apache.org/jira/browse/CASSANDRA-12741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mickaël Delanoë updated CASSANDRA-12741: Description: When the base table and the view table share the same partition key, both tables will use the same node. I guess performance optimization can be done in that SPECIAL case. And in that case could it also be conceivable to have a synchronous update of the view table (to enforce consistency) at the cost of a increased latency ? was: When the base table and the view table share the same partition key, both tables will use the same node. I guess performance optimization can be done in that SPECIAL case. In that case could it be conceivable to have a synchronous update of the view table (to enforce consistency) at the cost of a increased latency ? > Optimize Materialied view update when base table and view table have the same > partition key > --- > > Key: CASSANDRA-12741 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12741 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Mickaël Delanoë >Priority: Minor > > When the base table and the view table share the same partition key, both > tables will use the same node. > I guess performance optimization can be done in that SPECIAL case. > And in that case could it also be conceivable to have a synchronous update of > the view table (to enforce consistency) at the cost of a increased latency ? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-12741) Optimize Materialied view update when base table and view table have the same partition key
Mickaël Delanoë created CASSANDRA-12741: --- Summary: Optimize Materialied view update when base table and view table have the same partition key Key: CASSANDRA-12741 URL: https://issues.apache.org/jira/browse/CASSANDRA-12741 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Mickaël Delanoë Priority: Minor When the base table and the view table share the same partition key, both tables will use the same node. I guess performance optimization can be done in that SPECIAL case. In that case could it be conceivable to have a synchronous update of the view table (to enforce consistency) at the cost of a increased latency ? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12598) BailErrorStragery alike for ANTLR grammar parsing
[ https://issues.apache.org/jira/browse/CASSANDRA-12598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542078#comment-15542078 ] Berenguer Blasi commented on CASSANDRA-12598: - Sorry for the late reply, I am back online. I sleep better knowing I've overloaded those methods as this effectively gives you the {{BailErrorStrategy}} behaviour we're looking for 100% guaranteed. If somebody calls any of these methods directly, some auto-generated code changes to use them otherwise different than now, etc. It is more future proof overall imo. > BailErrorStragery alike for ANTLR grammar parsing > - > > Key: CASSANDRA-12598 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12598 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Berenguer Blasi >Assignee: Berenguer Blasi > Fix For: 3.x > > > CQL parsing is missing a mechanism similar to > http://www.antlr.org/api/Java/org/antlr/v4/runtime/BailErrorStrategy.html > This solves: > - Stopping parsing instead of continuing when we've got already an error > which is wasteful. > - Any skipped java code tied to 'recovered' missing tokens might later cause > java exceptions (think non-init variables, non incremented integers (div by > zero), etc.) which will bubble up directly and will hide properly formatted > error messages to the user with no indication on what went wrong at all. Just > a cryptic NPE i.e -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9754) Make index info heap friendly for large CQL partitions
[ https://issues.apache.org/jira/browse/CASSANDRA-9754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542043#comment-15542043 ] Branimir Lambov commented on CASSANDRA-9754: > Originally, I was mmapping 4kb aligned chunks as necessary. Cassandra has some machinery to deal with the same problem in {{RandomAccessReader}}; the solution we have in place is to map the entire file in <2GB chunks and look the chunk up on a read. Take a look at {{MmappedRegions}} in trunk and its users. > Make index info heap friendly for large CQL partitions > -- > > Key: CASSANDRA-9754 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9754 > Project: Cassandra > Issue Type: Improvement >Reporter: sankalp kohli >Assignee: Michael Kjellman >Priority: Minor > Fix For: 4.x > > Attachments: 9754_part1-v1.diff, 9754_part2-v1.diff > > > Looking at a heap dump of 2.0 cluster, I found that majority of the objects > are IndexInfo and its ByteBuffers. This is specially bad in endpoints with > large CQL partitions. If a CQL partition is say 6,4GB, it will have 100K > IndexInfo objects and 200K ByteBuffers. This will create a lot of churn for > GC. Can this be improved by not creating so many objects? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12736) Update the bundled python driver on trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-12736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542036#comment-15542036 ] Stefania commented on CASSANDRA-12736: -- {{test_bulk_round_trip_blogposts}} started hanging again, we need to investigate some more. > Update the bundled python driver on trunk > - > > Key: CASSANDRA-12736 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12736 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Paulo Motta > Labels: cqlsh > Fix For: 4.x > > > Trunk was recently updated to be version 4.0. The bundled python driver that > cqlsh uses has a bug where it fails to connect to a C* server with a major > version number greater than 3. The driver was fixed upstream, and we should > pull in the fix. > [~pauloricardomg] or [~stefania]? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12417) Built-in AVG aggregate is much less useful than it should be
[ https://issues.apache.org/jira/browse/CASSANDRA-12417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15542002#comment-15542002 ] Branimir Lambov commented on CASSANDRA-12417: - I wonder if the {{Int32Type}} etc. casts in the various {{compute}} methods are actually needed as the argument is already of the correct type and boxing is implied? Because of the "result must fit source type" logic, {{computeInternal()}} for both average implementations could return a long/double to avoid the box/unbox pair in the common non-overflow case. > Built-in AVG aggregate is much less useful than it should be > > > Key: CASSANDRA-12417 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12417 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Branimir Lambov >Assignee: Alex Petrov > > For fixed-size integer types overflow is all but guaranteed to happen, > yielding incorrect result. While for sum it is somewhat acceptable as the > result cannot fit the type, this is not the case for average. > As the result of average is always within the scope of the source type, > failing to produce it only signifies a bad implementation. Yes, one can solve > this by type-casting, but do we really want to always have to be telling > people that the correct spelling of the average function is > {{cast(avg(cast(value as bigint))) as int)}}, especially if this is so > trivial to fix? > Additionally, the straightforward addition we use for floating point versions > is not a good choice numerically for larger numbers of values. We should > switch to a more stable version, e.g. iterative mean using {{avg = avg + > (value - avg) / count}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-12735) org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out
[ https://issues.apache.org/jira/browse/CASSANDRA-12735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15541905#comment-15541905 ] Rajesh Radhakrishnan edited comment on CASSANDRA-12735 at 10/3/16 9:03 AM: --- Thank you! Sam. At the moment I have set the roles_validity_in_ms to 5000, permissions_validity_in_ms to 1, credentials_validity_in_ms to 2000 And for the updates, I have the following roles_update_interval_in_ms: 5000, defaults to the same value as roles_validity_in_ms. permissions_update_interval_in_ms 1 defaults to same as permissions_validity_in_ms. credentials_update_interval_in_ms: 2000, defaults to the same value as credentials_validity_in_ms. So as per you suggestion I am going to set the update intervals as the following roles_update_interval_in_ms: 2500, permissions_update_interval_in_ms 5000 credentials_update_interval_in_ms: 1000 As I mentioned before for our 2 nodes cluster, I already set the replication factor for system_auth to 2. And the CONSISTENCY level is ONE. was (Author: rajesh_con): Thank you! Sam. At the moment I have set the roles_validity_in_ms to 5000, permissions_validity_in_ms to 1, credentials_validity_in_ms to 2000 And for the updates, I have the following roles_update_interval_in_ms: 5000, defaults to the same value as roles_validity_in_ms. permissions_update_interval_in_ms 1 defaults to same as permissions_validity_in_ms. credentials_update_interval_in_ms: 2000, defaults to the same value as credentials_validity_in_ms. So as per you suggestion I am going to set the update intervals as the following roles_update_interval_in_ms: 2500, permissions_update_interval_in_ms 5000 credentials_update_interval_in_ms: 1000 As I mentioned before for our 2 nodes cluster, I already set the replication factor for system_auth to 2. > org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out > - > > Key: CASSANDRA-12735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12735 > Project: Cassandra > Issue Type: Bug > Components: Configuration, Core > Environment: Python 2.7.11, Datastax Cassandra 3.7.0 >Reporter: Rajesh Radhakrishnan >Assignee: Sam Tunnicliffe > Fix For: 3.7 > > > We got a cluster of two nodes running Cassandra.3.7.0 and using client > running Python 2.7.11 injecting lot of data from maybe 100 or so jobs. > -- > Cache setting can be seen from system.log: > INFO [main] 2016-09-30 15:12:50,002 AuthCache.java:172 - (Re)initializing > CredentialsCache (validity period/update interval/max entries) > (2000/2000/1000) > INFO [SharedPool-Worker-1] 2016-09-30 15:15:09,561 AuthCache.java:172 - > (Re)initializing PermissionsCache (validity period/update interval/max > entries) (1/1/1000) > INFO [SharedPool-Worker-1] 2016-09-30 15:15:24,319 AuthCache.java:172 - > (Re)initializing RolesCache (validity period/update interval/max entries) > (5000/5000/1000) > === > But I am getting the following exception : > ERROR [SharedPool-Worker-90] 2016-09-30 15:17:20,883 ErrorMessage.java:338 - > Unexpected exception during request > com.google.common.util.concurrent.UncheckedExecutionException: > com.google.common.util.concurrent.UncheckedExecutionException: > java.lang.RuntimeException: > org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - > received only 0 responses. > at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203) > ~[guava-18.0.jar:na] > at com.google.common.cache.LocalCache.get(LocalCache.java:3937) > ~[guava-18.0.jar:na] > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) > ~[guava-18.0.jar:na] > at > com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) > ~[guava-18.0.jar:na] > at org.apache.cassandra.auth.AuthCache.get(AuthCache.java:108) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.auth.PermissionsCache.getPermissions(PermissionsCache.java:45) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.auth.AuthenticatedUser.getPermissions(AuthenticatedUser.java:104) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.authorize(ClientState.java:375) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.checkPermissionOnResourceChain(ClientState.java:308) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.ensureHasPermission(ClientState.java:285) > ~[apache-cassandra-3.7.0.jar:3.7.0] >
[jira] [Commented] (CASSANDRA-12735) org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out
[ https://issues.apache.org/jira/browse/CASSANDRA-12735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15541905#comment-15541905 ] Rajesh Radhakrishnan commented on CASSANDRA-12735: -- Thank you! Sam. At the moment I have set the roles_validity_in_ms to 5000, permissions_validity_in_ms to 1, credentials_validity_in_ms to 2000 And for the updates, I have the following roles_update_interval_in_ms: 5000, defaults to the same value as roles_validity_in_ms. permissions_update_interval_in_ms 1 defaults to same as permissions_validity_in_ms. credentials_update_interval_in_ms: 2000, defaults to the same value as credentials_validity_in_ms. So as per you suggestion I am going to set the update intervals as the following roles_update_interval_in_ms: 2500, permissions_update_interval_in_ms 5000 credentials_update_interval_in_ms: 1000 As I mentioned before for our 2 nodes cluster, I already set the replication factor for system_auth to 2. > org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out > - > > Key: CASSANDRA-12735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12735 > Project: Cassandra > Issue Type: Bug > Components: Configuration, Core > Environment: Python 2.7.11, Datastax Cassandra 3.7.0 >Reporter: Rajesh Radhakrishnan >Assignee: Sam Tunnicliffe > Fix For: 3.7 > > > We got a cluster of two nodes running Cassandra.3.7.0 and using client > running Python 2.7.11 injecting lot of data from maybe 100 or so jobs. > -- > Cache setting can be seen from system.log: > INFO [main] 2016-09-30 15:12:50,002 AuthCache.java:172 - (Re)initializing > CredentialsCache (validity period/update interval/max entries) > (2000/2000/1000) > INFO [SharedPool-Worker-1] 2016-09-30 15:15:09,561 AuthCache.java:172 - > (Re)initializing PermissionsCache (validity period/update interval/max > entries) (1/1/1000) > INFO [SharedPool-Worker-1] 2016-09-30 15:15:24,319 AuthCache.java:172 - > (Re)initializing RolesCache (validity period/update interval/max entries) > (5000/5000/1000) > === > But I am getting the following exception : > ERROR [SharedPool-Worker-90] 2016-09-30 15:17:20,883 ErrorMessage.java:338 - > Unexpected exception during request > com.google.common.util.concurrent.UncheckedExecutionException: > com.google.common.util.concurrent.UncheckedExecutionException: > java.lang.RuntimeException: > org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - > received only 0 responses. > at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203) > ~[guava-18.0.jar:na] > at com.google.common.cache.LocalCache.get(LocalCache.java:3937) > ~[guava-18.0.jar:na] > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) > ~[guava-18.0.jar:na] > at > com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) > ~[guava-18.0.jar:na] > at org.apache.cassandra.auth.AuthCache.get(AuthCache.java:108) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.auth.PermissionsCache.getPermissions(PermissionsCache.java:45) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.auth.AuthenticatedUser.getPermissions(AuthenticatedUser.java:104) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.authorize(ClientState.java:375) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.checkPermissionOnResourceChain(ClientState.java:308) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.ensureHasPermission(ClientState.java:285) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.hasAccess(ClientState.java:272) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.service.ClientState.hasColumnFamilyAccess(ClientState.java:256) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.cql3.statements.ModificationStatement.checkAccess(ModificationStatement.java:211) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.cql3.statements.BatchStatement.checkAccess(BatchStatement.java:137) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.cql3.QueryProcessor.processBatch(QueryProcessor.java:502) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at > org.apache.cassandra.cql3.QueryProcessor.processBatch(QueryProcessor.java:495) > ~[apache-cassandra-3.7.0.jar:3.7.0] > at >
[jira] [Updated] (CASSANDRA-12715) Fix exceptions with the new vnode allocation.
[ https://issues.apache.org/jira/browse/CASSANDRA-12715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Branimir Lambov updated CASSANDRA-12715: Status: Ready to Commit (was: Patch Available) > Fix exceptions with the new vnode allocation. > - > > Key: CASSANDRA-12715 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12715 > Project: Cassandra > Issue Type: Bug >Reporter: Dikang Gu >Assignee: Dikang Gu > Fix For: 3.0.x, 3.x > > > Problem: see exceptions when bootstrapping nodes using the new vnode > allocation algorithm. I'm able to reproduce it in trunk as well: > {code} > INFO [main] 2016-09-26 15:36:54,978 StorageService.java:1437 - JOINING: > calculation complete, ready to bootstrap > INFO [main] 2016-09-26 15:36:54,978 StorageService.java:1437 - JOINING: > getting bootstrap token > ERROR [main] 2016-09-26 15:36:54,989 CassandraDaemon.java:752 - Exception > encountered during startup > java.lang.AssertionError: null > at > org.apache.cassandra.locator.TokenMetadata.getTopology(TokenMetadata.java:1209) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.getStrategy(TokenAllocation.java:201) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.getStrategy(TokenAllocation.java:164) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.allocateTokens(TokenAllocation.java:54) > ~[main/:na] > at > org.apache.cassandra.dht.BootStrapper.allocateTokens(BootStrapper.java:207) > ~[main/:na] > at > org.apache.cassandra.dht.BootStrapper.getBootstrapTokens(BootStrapper.java:174) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:929) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:697) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:582) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:392) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) > [main/:na] > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12715) Fix exceptions with the new vnode allocation.
[ https://issues.apache.org/jira/browse/CASSANDRA-12715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15541885#comment-15541885 ] Branimir Lambov commented on CASSANDRA-12715: - +1 > Fix exceptions with the new vnode allocation. > - > > Key: CASSANDRA-12715 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12715 > Project: Cassandra > Issue Type: Bug >Reporter: Dikang Gu >Assignee: Dikang Gu > Fix For: 3.0.x, 3.x > > > Problem: see exceptions when bootstrapping nodes using the new vnode > allocation algorithm. I'm able to reproduce it in trunk as well: > {code} > INFO [main] 2016-09-26 15:36:54,978 StorageService.java:1437 - JOINING: > calculation complete, ready to bootstrap > INFO [main] 2016-09-26 15:36:54,978 StorageService.java:1437 - JOINING: > getting bootstrap token > ERROR [main] 2016-09-26 15:36:54,989 CassandraDaemon.java:752 - Exception > encountered during startup > java.lang.AssertionError: null > at > org.apache.cassandra.locator.TokenMetadata.getTopology(TokenMetadata.java:1209) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.getStrategy(TokenAllocation.java:201) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.getStrategy(TokenAllocation.java:164) > ~[main/:na] > at > org.apache.cassandra.dht.tokenallocator.TokenAllocation.allocateTokens(TokenAllocation.java:54) > ~[main/:na] > at > org.apache.cassandra.dht.BootStrapper.allocateTokens(BootStrapper.java:207) > ~[main/:na] > at > org.apache.cassandra.dht.BootStrapper.getBootstrapTokens(BootStrapper.java:174) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:929) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:697) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:582) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:392) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) > [main/:na] > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12736) Update the bundled python driver on trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-12736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15541678#comment-15541678 ] Stefania commented on CASSANDRA-12736: -- The test results are clean but I should have applied the commit to {{d8d0456}} rather than tag 3.5.0, fixed and relaunched the cqlsh tests. > Update the bundled python driver on trunk > - > > Key: CASSANDRA-12736 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12736 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Paulo Motta > Labels: cqlsh > Fix For: 4.x > > > Trunk was recently updated to be version 4.0. The bundled python driver that > cqlsh uses has a bug where it fails to connect to a C* server with a major > version number greater than 3. The driver was fixed upstream, and we should > pull in the fix. > [~pauloricardomg] or [~stefania]? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12509) Shutdown process triggered twice during if the node is drained
[ https://issues.apache.org/jira/browse/CASSANDRA-12509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15541655#comment-15541655 ] Stefania commented on CASSANDRA-12509: -- The fix for the failing dtest should be available in this new [pull request|https://github.com/riptano/cassandra-dtest/pull/1349], we should be able to commit this once the pull request is merged. > Shutdown process triggered twice during if the node is drained > -- > > Key: CASSANDRA-12509 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12509 > Project: Cassandra > Issue Type: Bug >Reporter: Alex Petrov >Assignee: Alex Petrov > > If the node is drained, the {{StorageService#drain}} > [method|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L4212] > is called, which triggers shutdown of mutation stage, messaging service, > compaction, batchlog etc. In the end of this process, the node is moved to > {{DRAINED}} status with the process still running. > When JVM is shutdown, the JVM shutdown hooks are ran, which are subscribed > during the server initialisation: > {{Runtime.getRuntime().addShutdownHook(drainOnShutdown);}} > [here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L575-L636]. > > I noticed this behaviour while reviewing [CASSANDRA-12461], as if we'd like > add custom pre and post-shutdown hooks, most likely it makes sense to run > them once (or user might expect such behaviour). > Is this behaviour correct? Should we run whole shutdown process twice or just > once in "drain" and no-op during JVM shutdown? -- This message was sent by Atlassian JIRA (v6.3.4#6332)