[jira] [Updated] (CASSANDRA-11448) Running OOS should trigger the disk failure policy
[ https://issues.apache.org/jira/browse/CASSANDRA-11448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Branimir Lambov updated CASSANDRA-11448: Status: Patch Available (was: In Progress) > Running OOS should trigger the disk failure policy > -- > > Key: CASSANDRA-11448 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11448 > Project: Cassandra > Issue Type: Bug >Reporter: Brandon Williams >Assignee: Branimir Lambov > Fix For: 2.1.x, 2.2.x, 3.0.x > > > Currently when you run OOS, this happens: > {noformat} > ERROR [MemtableFlushWriter:8561] 2016-03-28 01:17:37,047 > CassandraDaemon.java:229 - Exception in thread > Thread[MemtableFlushWriter:8561,5,main] java.lang.RuntimeException: > Insufficient disk space to write 48 bytes > at > org.apache.cassandra.io.util.DiskAwareRunnable.getWriteDirectory(DiskAwareRunnable.java:29) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:332) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > ~[guava-16.0.1.jar:na] > at > org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1120) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_66] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > ~[na:1.8.0_66] > at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_66] > {noformat} > Now your flush writer is dead and postflush tasks build up forever. Instead > we should throw FSWE and trigger the failure policy. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11448) Running OOS should trigger the disk failure policy
[ https://issues.apache.org/jira/browse/CASSANDRA-11448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Branimir Lambov updated CASSANDRA-11448: Fix Version/s: 3.x > Running OOS should trigger the disk failure policy > -- > > Key: CASSANDRA-11448 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11448 > Project: Cassandra > Issue Type: Bug >Reporter: Brandon Williams >Assignee: Branimir Lambov > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > Currently when you run OOS, this happens: > {noformat} > ERROR [MemtableFlushWriter:8561] 2016-03-28 01:17:37,047 > CassandraDaemon.java:229 - Exception in thread > Thread[MemtableFlushWriter:8561,5,main] java.lang.RuntimeException: > Insufficient disk space to write 48 bytes > at > org.apache.cassandra.io.util.DiskAwareRunnable.getWriteDirectory(DiskAwareRunnable.java:29) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:332) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > ~[guava-16.0.1.jar:na] > at > org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1120) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_66] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > ~[na:1.8.0_66] > at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_66] > {noformat} > Now your flush writer is dead and postflush tasks build up forever. Instead > we should throw FSWE and trigger the failure policy. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11448) Running OOS should trigger the disk failure policy
[ https://issues.apache.org/jira/browse/CASSANDRA-11448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219524#comment-15219524 ] Branimir Lambov commented on CASSANDRA-11448: - Patch here: |[2.1|https://github.com/blambov/cassandra/tree/11448-2.1]|[utest|http://cassci.datastax.com/job/blambov-11448-2.1-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11448-2.1-dtest/]| |[2.2|https://github.com/blambov/cassandra/tree/11448-2.2]|[utest|http://cassci.datastax.com/job/blambov-11448-2.2-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11448-2.2-dtest/]| |[3.0|https://github.com/blambov/cassandra/tree/11448-3.0]|[utest|http://cassci.datastax.com/job/blambov-11448-3.0-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11448-3.0-dtest/]| |[trunk|https://github.com/blambov/cassandra/tree/11448]|[utest|http://cassci.datastax.com/job/blambov-11448-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11448-dtest/]| 2.1 patch applies cleanly up to 3.0 (disregarding {{CHANGES.txt}} conflicts), trunk is different. Changes the error thrown to {{FSWriteError}}, applies {{JVMStabilityInspector}}, passes it on to the post-flush instead of failing to trigger it, and makes sure commit log is not discarded for failed flushes. Trunk version also removes unused {{DiskAwareRunnable}} and fixes {{null}} return from {{getWriteableLocation}} not being treated properly. > Running OOS should trigger the disk failure policy > -- > > Key: CASSANDRA-11448 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11448 > Project: Cassandra > Issue Type: Bug >Reporter: Brandon Williams >Assignee: Branimir Lambov > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > Currently when you run OOS, this happens: > {noformat} > ERROR [MemtableFlushWriter:8561] 2016-03-28 01:17:37,047 > CassandraDaemon.java:229 - Exception in thread > Thread[MemtableFlushWriter:8561,5,main] java.lang.RuntimeException: > Insufficient disk space to write 48 bytes > at > org.apache.cassandra.io.util.DiskAwareRunnable.getWriteDirectory(DiskAwareRunnable.java:29) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:332) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > ~[guava-16.0.1.jar:na] > at > org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1120) > ~[cassandra-all-2.1.12.1046.jar:2.1.12.1046] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_66] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > ~[na:1.8.0_66] > at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_66] > {noformat} > Now your flush writer is dead and postflush tasks build up forever. Instead > we should throw FSWE and trigger the failure policy. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[10/10] cassandra git commit: Merge branch 'cassandra-3.5' into trunk
Merge branch 'cassandra-3.5' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fafbf27f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fafbf27f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fafbf27f Branch: refs/heads/trunk Commit: fafbf27fd629bf9474e406ec636dea4e6d9c76fc Parents: d00bda8 cd69d9d Author: Marcus Eriksson Authored: Thu Mar 31 09:46:02 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:46:02 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fafbf27f/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fafbf27f/src/java/org/apache/cassandra/db/compaction/CompactionManager.java --
[04/10] cassandra git commit: Dont mark sstables as repairing with sub range repairs
Dont mark sstables as repairing with sub range repairs Patch by marcuse; reviewed by yukim for CASSANDRA-11451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/10f25aee Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/10f25aee Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/10f25aee Branch: refs/heads/trunk Commit: 10f25aeebb22d43bf4f61413380f69f8e3ab3189 Parents: 1dac59d Author: Marcus Eriksson Authored: Tue Mar 29 17:06:42 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:41:04 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6e43496..e7aa321 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index ca02747..675d3cc 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -1176,12 +1176,15 @@ public class CompactionManager implements CompactionManagerMBean } } -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); - -if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +if (prs.isGlobal) { -logger.error("Cannot start multiple repair sessions over the same sstables"); -throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); + +if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +{ +logger.error("Cannot start multiple repair sessions over the same sstables"); +throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +} } sstables = Refs.tryRef(sstablesToValidate); @@ -1191,8 +1194,8 @@ public class CompactionManager implements CompactionManagerMBean throw new RuntimeException("Could not reference sstables"); } } - -prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); +if (prs.isGlobal) +prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); return sstables; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index b8f8b65..8a0706a 100644 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@ -108,16 +108,18 @@ public class RepairMessageVerbHandler implements IVerbHandler new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); -if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) +if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).isGlobal
[02/10] cassandra git commit: Dont mark sstables as repairing with sub range repairs
Dont mark sstables as repairing with sub range repairs Patch by marcuse; reviewed by yukim for CASSANDRA-11451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/10f25aee Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/10f25aee Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/10f25aee Branch: refs/heads/cassandra-3.0 Commit: 10f25aeebb22d43bf4f61413380f69f8e3ab3189 Parents: 1dac59d Author: Marcus Eriksson Authored: Tue Mar 29 17:06:42 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:41:04 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6e43496..e7aa321 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index ca02747..675d3cc 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -1176,12 +1176,15 @@ public class CompactionManager implements CompactionManagerMBean } } -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); - -if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +if (prs.isGlobal) { -logger.error("Cannot start multiple repair sessions over the same sstables"); -throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); + +if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +{ +logger.error("Cannot start multiple repair sessions over the same sstables"); +throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +} } sstables = Refs.tryRef(sstablesToValidate); @@ -1191,8 +1194,8 @@ public class CompactionManager implements CompactionManagerMBean throw new RuntimeException("Could not reference sstables"); } } - -prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); +if (prs.isGlobal) +prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); return sstables; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index b8f8b65..8a0706a 100644 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@ -108,16 +108,18 @@ public class RepairMessageVerbHandler implements IVerbHandler new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); -if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) +if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).
[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6807c598 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6807c598 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6807c598 Branch: refs/heads/trunk Commit: 6807c5984965b2689e077dbd1c4b9a3dd92a6d96 Parents: 202786e 10f25ae Author: Marcus Eriksson Authored: Thu Mar 31 09:42:22 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:42:22 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/CHANGES.txt -- diff --cc CHANGES.txt index ea0040f,e7aa321..449a2b5 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,17 -1,6 +1,18 @@@ -2.2.6 +3.0.5 + * Upgrade ohc to 0.4.3 + * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) + * Allocate merkletrees with the correct size (CASSANDRA-11390) + * Support streaming pre-3.0 sstables (CASSANDRA-10990) + * Add backpressure to compressed commit log (CASSANDRA-10971) + * SSTableExport supports secondary index tables (CASSANDRA-11330) + * Fix sstabledump to include missing info in debug output (CASSANDRA-11321) + * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331) + * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208) + * Remove recursive call from CompositesSearcher (CASSANDRA-11304) + * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377) + * Fix sstableloader fail when using materialized view (CASSANDRA-11275) +Merged from 2.2: + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) - * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --cc src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index 703d187,8a0706a..eeefec4 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@@ -95,20 -104,22 +95,22 @@@ public class RepairMessageVerbHandler i public boolean apply(SSTableReader sstable) { return sstable != null && -!(sstable.partitioner instanceof LocalPartitioner) && // exclude SSTables from 2i -new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); + !sstable.metadata.isIndex() && // exclude SSTables from 2i + new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(repairingRange); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - - Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); - if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).isGlobal) { - // clear snapshot that we just created - cfs.clearSnapshot(desc.sessionId.toString()); - logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); - return; + Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); + if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) +
[01/10] cassandra git commit: Dont mark sstables as repairing with sub range repairs
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 1dac59d1e -> 10f25aeeb refs/heads/cassandra-3.0 202786e06 -> 6807c5984 refs/heads/cassandra-3.5 7fbdce812 -> cd69d9d33 refs/heads/trunk d00bda88b -> fafbf27fd Dont mark sstables as repairing with sub range repairs Patch by marcuse; reviewed by yukim for CASSANDRA-11451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/10f25aee Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/10f25aee Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/10f25aee Branch: refs/heads/cassandra-2.2 Commit: 10f25aeebb22d43bf4f61413380f69f8e3ab3189 Parents: 1dac59d Author: Marcus Eriksson Authored: Tue Mar 29 17:06:42 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:41:04 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6e43496..e7aa321 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index ca02747..675d3cc 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -1176,12 +1176,15 @@ public class CompactionManager implements CompactionManagerMBean } } -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); - -if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +if (prs.isGlobal) { -logger.error("Cannot start multiple repair sessions over the same sstables"); -throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); + +if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +{ +logger.error("Cannot start multiple repair sessions over the same sstables"); +throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +} } sstables = Refs.tryRef(sstablesToValidate); @@ -1191,8 +1194,8 @@ public class CompactionManager implements CompactionManagerMBean throw new RuntimeException("Could not reference sstables"); } } - -prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); +if (prs.isGlobal) +prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); return sstables; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index b8f8b65..8a0706a 100644 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@ -108,16 +108,18 @@ public class RepairMessageVerbHandler implements IVerbHandler new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.met
[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cd69d9d3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cd69d9d3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cd69d9d3 Branch: refs/heads/cassandra-3.5 Commit: cd69d9de9c89a559eac4795e7a8cfa3e13c4 Parents: 7fbdce8 6807c59 Author: Marcus Eriksson Authored: Thu Mar 31 09:44:35 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:44:35 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd69d9d3/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd69d9d3/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd69d9d3/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --cc src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index 3b23b1f,eeefec4..519fe5f --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@@ -98,17 -98,19 +98,19 @@@ public class RepairMessageVerbHandler i !sstable.metadata.isIndex() && // exclude SSTables from 2i new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(repairingRange); } -}, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup +}, true, false); //ephemeral snapshot, if repair fails, it will be cleaned next startup - - Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); - if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).isGlobal) { - // clear snapshot that we just created - cfs.clearSnapshot(desc.sessionId.toString()); - logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); - return; + Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); + if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + { + // clear snapshot that we just created + cfs.clearSnapshot(desc.sessionId.toString()); + logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); + return; + } + ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables); } - ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables); logger.debug("Enqueuing response to snapshot request {} to {}", desc.sessionId, message.from); MessagingService.instance().sendReply(new MessageOut(MessagingService.Verb.INTERNAL_RESPONSE), id, message.from); break;
[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6807c598 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6807c598 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6807c598 Branch: refs/heads/cassandra-3.5 Commit: 6807c5984965b2689e077dbd1c4b9a3dd92a6d96 Parents: 202786e 10f25ae Author: Marcus Eriksson Authored: Thu Mar 31 09:42:22 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:42:22 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/CHANGES.txt -- diff --cc CHANGES.txt index ea0040f,e7aa321..449a2b5 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,17 -1,6 +1,18 @@@ -2.2.6 +3.0.5 + * Upgrade ohc to 0.4.3 + * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) + * Allocate merkletrees with the correct size (CASSANDRA-11390) + * Support streaming pre-3.0 sstables (CASSANDRA-10990) + * Add backpressure to compressed commit log (CASSANDRA-10971) + * SSTableExport supports secondary index tables (CASSANDRA-11330) + * Fix sstabledump to include missing info in debug output (CASSANDRA-11321) + * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331) + * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208) + * Remove recursive call from CompositesSearcher (CASSANDRA-11304) + * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377) + * Fix sstableloader fail when using materialized view (CASSANDRA-11275) +Merged from 2.2: + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) - * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --cc src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index 703d187,8a0706a..eeefec4 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@@ -95,20 -104,22 +95,22 @@@ public class RepairMessageVerbHandler i public boolean apply(SSTableReader sstable) { return sstable != null && -!(sstable.partitioner instanceof LocalPartitioner) && // exclude SSTables from 2i -new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); + !sstable.metadata.isIndex() && // exclude SSTables from 2i + new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(repairingRange); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - - Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); - if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).isGlobal) { - // clear snapshot that we just created - cfs.clearSnapshot(desc.sessionId.toString()); - logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); - return; + Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); + if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty())
[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6807c598 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6807c598 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6807c598 Branch: refs/heads/cassandra-3.0 Commit: 6807c5984965b2689e077dbd1c4b9a3dd92a6d96 Parents: 202786e 10f25ae Author: Marcus Eriksson Authored: Thu Mar 31 09:42:22 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:42:22 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/CHANGES.txt -- diff --cc CHANGES.txt index ea0040f,e7aa321..449a2b5 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,17 -1,6 +1,18 @@@ -2.2.6 +3.0.5 + * Upgrade ohc to 0.4.3 + * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) + * Allocate merkletrees with the correct size (CASSANDRA-11390) + * Support streaming pre-3.0 sstables (CASSANDRA-10990) + * Add backpressure to compressed commit log (CASSANDRA-10971) + * SSTableExport supports secondary index tables (CASSANDRA-11330) + * Fix sstabledump to include missing info in debug output (CASSANDRA-11321) + * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331) + * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208) + * Remove recursive call from CompositesSearcher (CASSANDRA-11304) + * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377) + * Fix sstableloader fail when using materialized view (CASSANDRA-11275) +Merged from 2.2: + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) - * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6807c598/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --cc src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index 703d187,8a0706a..eeefec4 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@@ -95,20 -104,22 +95,22 @@@ public class RepairMessageVerbHandler i public boolean apply(SSTableReader sstable) { return sstable != null && -!(sstable.partitioner instanceof LocalPartitioner) && // exclude SSTables from 2i -new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); + !sstable.metadata.isIndex() && // exclude SSTables from 2i + new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(repairingRange); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - - Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); - if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).isGlobal) { - // clear snapshot that we just created - cfs.clearSnapshot(desc.sessionId.toString()); - logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); - return; + Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); + if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty())
[03/10] cassandra git commit: Dont mark sstables as repairing with sub range repairs
Dont mark sstables as repairing with sub range repairs Patch by marcuse; reviewed by yukim for CASSANDRA-11451 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/10f25aee Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/10f25aee Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/10f25aee Branch: refs/heads/cassandra-3.5 Commit: 10f25aeebb22d43bf4f61413380f69f8e3ab3189 Parents: 1dac59d Author: Marcus Eriksson Authored: Tue Mar 29 17:06:42 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:41:04 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6e43496..e7aa321 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index ca02747..675d3cc 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -1176,12 +1176,15 @@ public class CompactionManager implements CompactionManagerMBean } } -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); - -if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +if (prs.isGlobal) { -logger.error("Cannot start multiple repair sessions over the same sstables"); -throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, validator.desc.parentSessionId); + +if (!Sets.intersection(currentlyRepairing, sstablesToValidate).isEmpty()) +{ +logger.error("Cannot start multiple repair sessions over the same sstables"); +throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); +} } sstables = Refs.tryRef(sstablesToValidate); @@ -1191,8 +1194,8 @@ public class CompactionManager implements CompactionManagerMBean throw new RuntimeException("Could not reference sstables"); } } - -prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); +if (prs.isGlobal) +prs.addSSTables(cfs.metadata.cfId, sstablesToValidate); return sstables; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/10f25aee/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index b8f8b65..8a0706a 100644 --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@ -108,16 +108,18 @@ public class RepairMessageVerbHandler implements IVerbHandler new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange)); } }, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup - -Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); -if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) +if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).
[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cd69d9d3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cd69d9d3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cd69d9d3 Branch: refs/heads/trunk Commit: cd69d9de9c89a559eac4795e7a8cfa3e13c4 Parents: 7fbdce8 6807c59 Author: Marcus Eriksson Authored: Thu Mar 31 09:44:35 2016 +0200 Committer: Marcus Eriksson Committed: Thu Mar 31 09:44:35 2016 +0200 -- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 17 ++--- .../repair/RepairMessageVerbHandler.java | 18 ++ .../cassandra/service/ActiveRepairService.java| 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd69d9d3/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd69d9d3/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cd69d9d3/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java -- diff --cc src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java index 3b23b1f,eeefec4..519fe5f --- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java +++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java @@@ -98,17 -98,19 +98,19 @@@ public class RepairMessageVerbHandler i !sstable.metadata.isIndex() && // exclude SSTables from 2i new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(repairingRange); } -}, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup +}, true, false); //ephemeral snapshot, if repair fails, it will be cleaned next startup - - Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); - if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + if (ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).isGlobal) { - // clear snapshot that we just created - cfs.clearSnapshot(desc.sessionId.toString()); - logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); - return; + Set currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfs.metadata.cfId, desc.parentSessionId); + if (!Sets.intersection(currentlyRepairing, snapshottedSSSTables).isEmpty()) + { + // clear snapshot that we just created + cfs.clearSnapshot(desc.sessionId.toString()); + logErrorAndSendFailureResponse("Cannot start multiple repair sessions over the same sstables", message.from, id); + return; + } + ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables); } - ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).addSSTables(cfs.metadata.cfId, snapshottedSSSTables); logger.debug("Enqueuing response to snapshot request {} to {}", desc.sessionId, message.from); MessagingService.instance().sendReply(new MessageOut(MessagingService.Verb.INTERNAL_RESPONSE), id, message.from); break;
[jira] [Updated] (CASSANDRA-11451) Don't mark sstables as repairing when doing sub range repair
[ https://issues.apache.org/jira/browse/CASSANDRA-11451?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-11451: Resolution: Fixed Fix Version/s: (was: 3.0.x) (was: 2.2.x) (was: 3.x) 3.5 3.0.5 2.2.6 Status: Resolved (was: Patch Available) committed, thanks > Don't mark sstables as repairing when doing sub range repair > > > Key: CASSANDRA-11451 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11451 > Project: Cassandra > Issue Type: Bug >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 2.2.6, 3.0.5, 3.5 > > > Since CASSANDRA-10422 we don't do anticompaction when a user issues a sub > range repair (-st X -et Y), but we still mark sstables as repairing. > We should avoid marking them as users might want to run many sub range repair > sessions in parallel. > The reason we mark sstables is that we don't want another repair session to > steal the sstables before we do anticompaction, and since we do no > anticompaction with sub range repair we have no benefit from the marking. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
cassandra git commit: Nitpick (for testing purposes)
Repository: cassandra Updated Branches: refs/heads/trunk fafbf27fd -> 657934f51 Nitpick (for testing purposes) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/657934f5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/657934f5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/657934f5 Branch: refs/heads/trunk Commit: 657934f5137eeab777dd54b7d9abde4472216543 Parents: fafbf27 Author: Sylvain Lebresne Authored: Thu Mar 31 09:57:23 2016 +0200 Committer: Sylvain Lebresne Committed: Thu Mar 31 09:57:23 2016 +0200 -- CHANGES.txt | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/657934f5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c689e96..0098a97 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -28,7 +28,6 @@ * (cqlsh) Show static columns in a different color (CASSANDRA-11059) * Allow to remove TTLs on table with default_time_to_live (CASSANDRA-11207) - 3.5 * Avoid index segment stitching in RAM which lead to OOM on big SSTable files (CASSANDRA-11383) * Fix clustering and row filters for LIKE queries on clustering columns (CASSANDRA-11397)
cassandra git commit: Make test index names unique
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 6807c5984 -> f8cc86039 Make test index names unique Patch by Sam Tunnicliffe; reviewed by Sylvain Lebresne for CASSANDRA-11453 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f8cc8603 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f8cc8603 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f8cc8603 Branch: refs/heads/cassandra-3.0 Commit: f8cc86039a09f2632016c830d63a7b95195cbced Parents: 6807c59 Author: Sam Tunnicliffe Authored: Tue Mar 29 16:23:03 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 09:00:42 2016 +0100 -- .../org/apache/cassandra/cql3/CQLTester.java| 1 + .../apache/cassandra/index/CustomIndexTest.java | 30 2 files changed, 19 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8cc8603/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --git a/test/unit/org/apache/cassandra/cql3/CQLTester.java b/test/unit/org/apache/cassandra/cql3/CQLTester.java index 43de101..a7145fc 100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@ -626,6 +626,7 @@ public abstract class CQLTester } catch (Exception e) { +logger.info("Error performing schema change", e); throw new RuntimeException("Error setting schema for test (query was: " + query + ")", e); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8cc8603/test/unit/org/apache/cassandra/index/CustomIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/index/CustomIndexTest.java b/test/unit/org/apache/cassandra/index/CustomIndexTest.java index b1fd992..0b553f4 100644 --- a/test/unit/org/apache/cassandra/index/CustomIndexTest.java +++ b/test/unit/org/apache/cassandra/index/CustomIndexTest.java @@ -392,30 +392,34 @@ public class CustomIndexTest extends CQLTester public void customExpressionsDisallowedInModifications() throws Throwable { createTable("CREATE TABLE %s (a int, b int, c int, d int, PRIMARY KEY (a, b))"); -createIndex(String.format("CREATE CUSTOM INDEX custom_index ON %%s(c) USING '%s'", StubIndex.class.getName())); +String indexName = currentTable() + "_custom_index"; +createIndex(String.format("CREATE CUSTOM INDEX %s ON %%s(c) USING '%s'", + indexName, StubIndex.class.getName())); assertInvalidThrowMessage(Server.CURRENT_VERSION, ModificationStatement.CUSTOM_EXPRESSIONS_NOT_ALLOWED, QueryValidationException.class, - "DELETE FROM %s WHERE expr(custom_index, 'foo bar baz ')"); + String.format("DELETE FROM %%s WHERE expr(%s, 'foo bar baz ')", indexName)); assertInvalidThrowMessage(Server.CURRENT_VERSION, ModificationStatement.CUSTOM_EXPRESSIONS_NOT_ALLOWED, QueryValidationException.class, - "UPDATE %s SET d=0 WHERE expr(custom_index, 'foo bar baz ')"); + String.format("UPDATE %%s SET d=0 WHERE expr(%s, 'foo bar baz ')", indexName)); } @Test public void indexSelectionPrefersMostSelectiveIndex() throws Throwable { createTable("CREATE TABLE %s(a int, b int, c int, PRIMARY KEY (a))"); -createIndex(String.format("CREATE CUSTOM INDEX more_selective ON %%s(b) USING '%s'", +createIndex(String.format("CREATE CUSTOM INDEX %s_more_selective ON %%s(b) USING '%s'", + currentTable(), SettableSelectivityIndex.class.getName())); -createIndex(String.format("CREATE CUSTOM INDEX less_selective ON %%s(c) USING '%s'", +createIndex(String.format("CREATE CUSTOM INDEX %s_less_selective ON %%s(c) USING '%s'", + currentTable(), SettableSelectivityIndex.class.getName())); SettableSelectivityIndex moreSelective = - (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName("more_selective"); + (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName(currentTable() + "_more_selective"); SettableSelectivityIndex lessSelective = - (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName("less_selective");
[5/5] cassandra git commit: Merge branch 'cassandra-3.5' into trunk
Merge branch 'cassandra-3.5' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c147f86 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c147f86 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c147f86 Branch: refs/heads/trunk Commit: 3c147f865cb2284ed971dd454e0295e42005ac6f Parents: 657934f b984ea3 Author: Sam Tunnicliffe Authored: Thu Mar 31 09:03:15 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 09:03:15 2016 +0100 -- .../org/apache/cassandra/cql3/CQLTester.java| 1 + .../apache/cassandra/index/CustomIndexTest.java | 30 2 files changed, 19 insertions(+), 12 deletions(-) --
[3/5] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b984ea35 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b984ea35 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b984ea35 Branch: refs/heads/trunk Commit: b984ea35e93a7ea9019375a1e5e7a60002085c10 Parents: cd69d9d f8cc860 Author: Sam Tunnicliffe Authored: Thu Mar 31 09:02:53 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 09:02:53 2016 +0100 -- .../org/apache/cassandra/cql3/CQLTester.java| 1 + .../apache/cassandra/index/CustomIndexTest.java | 30 2 files changed, 19 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b984ea35/test/unit/org/apache/cassandra/cql3/CQLTester.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b984ea35/test/unit/org/apache/cassandra/index/CustomIndexTest.java --
[1/5] cassandra git commit: Make test index names unique
Repository: cassandra Updated Branches: refs/heads/cassandra-3.5 cd69d9d33 -> b984ea35e refs/heads/trunk 657934f51 -> 3c147f865 Make test index names unique Patch by Sam Tunnicliffe; reviewed by Sylvain Lebresne for CASSANDRA-11453 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f8cc8603 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f8cc8603 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f8cc8603 Branch: refs/heads/cassandra-3.5 Commit: f8cc86039a09f2632016c830d63a7b95195cbced Parents: 6807c59 Author: Sam Tunnicliffe Authored: Tue Mar 29 16:23:03 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 09:00:42 2016 +0100 -- .../org/apache/cassandra/cql3/CQLTester.java| 1 + .../apache/cassandra/index/CustomIndexTest.java | 30 2 files changed, 19 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8cc8603/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --git a/test/unit/org/apache/cassandra/cql3/CQLTester.java b/test/unit/org/apache/cassandra/cql3/CQLTester.java index 43de101..a7145fc 100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@ -626,6 +626,7 @@ public abstract class CQLTester } catch (Exception e) { +logger.info("Error performing schema change", e); throw new RuntimeException("Error setting schema for test (query was: " + query + ")", e); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8cc8603/test/unit/org/apache/cassandra/index/CustomIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/index/CustomIndexTest.java b/test/unit/org/apache/cassandra/index/CustomIndexTest.java index b1fd992..0b553f4 100644 --- a/test/unit/org/apache/cassandra/index/CustomIndexTest.java +++ b/test/unit/org/apache/cassandra/index/CustomIndexTest.java @@ -392,30 +392,34 @@ public class CustomIndexTest extends CQLTester public void customExpressionsDisallowedInModifications() throws Throwable { createTable("CREATE TABLE %s (a int, b int, c int, d int, PRIMARY KEY (a, b))"); -createIndex(String.format("CREATE CUSTOM INDEX custom_index ON %%s(c) USING '%s'", StubIndex.class.getName())); +String indexName = currentTable() + "_custom_index"; +createIndex(String.format("CREATE CUSTOM INDEX %s ON %%s(c) USING '%s'", + indexName, StubIndex.class.getName())); assertInvalidThrowMessage(Server.CURRENT_VERSION, ModificationStatement.CUSTOM_EXPRESSIONS_NOT_ALLOWED, QueryValidationException.class, - "DELETE FROM %s WHERE expr(custom_index, 'foo bar baz ')"); + String.format("DELETE FROM %%s WHERE expr(%s, 'foo bar baz ')", indexName)); assertInvalidThrowMessage(Server.CURRENT_VERSION, ModificationStatement.CUSTOM_EXPRESSIONS_NOT_ALLOWED, QueryValidationException.class, - "UPDATE %s SET d=0 WHERE expr(custom_index, 'foo bar baz ')"); + String.format("UPDATE %%s SET d=0 WHERE expr(%s, 'foo bar baz ')", indexName)); } @Test public void indexSelectionPrefersMostSelectiveIndex() throws Throwable { createTable("CREATE TABLE %s(a int, b int, c int, PRIMARY KEY (a))"); -createIndex(String.format("CREATE CUSTOM INDEX more_selective ON %%s(b) USING '%s'", +createIndex(String.format("CREATE CUSTOM INDEX %s_more_selective ON %%s(b) USING '%s'", + currentTable(), SettableSelectivityIndex.class.getName())); -createIndex(String.format("CREATE CUSTOM INDEX less_selective ON %%s(c) USING '%s'", +createIndex(String.format("CREATE CUSTOM INDEX %s_less_selective ON %%s(c) USING '%s'", + currentTable(), SettableSelectivityIndex.class.getName())); SettableSelectivityIndex moreSelective = - (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName("more_selective"); + (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName(currentTable() + "_more_selective"); SettableSelectivityIndex lessSelective = - (SettableSelectivityIndex)getCurrentColumnFamilyStore().inde
[2/5] cassandra git commit: Make test index names unique
Make test index names unique Patch by Sam Tunnicliffe; reviewed by Sylvain Lebresne for CASSANDRA-11453 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f8cc8603 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f8cc8603 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f8cc8603 Branch: refs/heads/trunk Commit: f8cc86039a09f2632016c830d63a7b95195cbced Parents: 6807c59 Author: Sam Tunnicliffe Authored: Tue Mar 29 16:23:03 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 09:00:42 2016 +0100 -- .../org/apache/cassandra/cql3/CQLTester.java| 1 + .../apache/cassandra/index/CustomIndexTest.java | 30 2 files changed, 19 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8cc8603/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --git a/test/unit/org/apache/cassandra/cql3/CQLTester.java b/test/unit/org/apache/cassandra/cql3/CQLTester.java index 43de101..a7145fc 100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@ -626,6 +626,7 @@ public abstract class CQLTester } catch (Exception e) { +logger.info("Error performing schema change", e); throw new RuntimeException("Error setting schema for test (query was: " + query + ")", e); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8cc8603/test/unit/org/apache/cassandra/index/CustomIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/index/CustomIndexTest.java b/test/unit/org/apache/cassandra/index/CustomIndexTest.java index b1fd992..0b553f4 100644 --- a/test/unit/org/apache/cassandra/index/CustomIndexTest.java +++ b/test/unit/org/apache/cassandra/index/CustomIndexTest.java @@ -392,30 +392,34 @@ public class CustomIndexTest extends CQLTester public void customExpressionsDisallowedInModifications() throws Throwable { createTable("CREATE TABLE %s (a int, b int, c int, d int, PRIMARY KEY (a, b))"); -createIndex(String.format("CREATE CUSTOM INDEX custom_index ON %%s(c) USING '%s'", StubIndex.class.getName())); +String indexName = currentTable() + "_custom_index"; +createIndex(String.format("CREATE CUSTOM INDEX %s ON %%s(c) USING '%s'", + indexName, StubIndex.class.getName())); assertInvalidThrowMessage(Server.CURRENT_VERSION, ModificationStatement.CUSTOM_EXPRESSIONS_NOT_ALLOWED, QueryValidationException.class, - "DELETE FROM %s WHERE expr(custom_index, 'foo bar baz ')"); + String.format("DELETE FROM %%s WHERE expr(%s, 'foo bar baz ')", indexName)); assertInvalidThrowMessage(Server.CURRENT_VERSION, ModificationStatement.CUSTOM_EXPRESSIONS_NOT_ALLOWED, QueryValidationException.class, - "UPDATE %s SET d=0 WHERE expr(custom_index, 'foo bar baz ')"); + String.format("UPDATE %%s SET d=0 WHERE expr(%s, 'foo bar baz ')", indexName)); } @Test public void indexSelectionPrefersMostSelectiveIndex() throws Throwable { createTable("CREATE TABLE %s(a int, b int, c int, PRIMARY KEY (a))"); -createIndex(String.format("CREATE CUSTOM INDEX more_selective ON %%s(b) USING '%s'", +createIndex(String.format("CREATE CUSTOM INDEX %s_more_selective ON %%s(b) USING '%s'", + currentTable(), SettableSelectivityIndex.class.getName())); -createIndex(String.format("CREATE CUSTOM INDEX less_selective ON %%s(c) USING '%s'", +createIndex(String.format("CREATE CUSTOM INDEX %s_less_selective ON %%s(c) USING '%s'", + currentTable(), SettableSelectivityIndex.class.getName())); SettableSelectivityIndex moreSelective = - (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName("more_selective"); + (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName(currentTable() + "_more_selective"); SettableSelectivityIndex lessSelective = - (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName("less_selective"); + (SettableSelectivityIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName(c
[4/5] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b984ea35 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b984ea35 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b984ea35 Branch: refs/heads/cassandra-3.5 Commit: b984ea35e93a7ea9019375a1e5e7a60002085c10 Parents: cd69d9d f8cc860 Author: Sam Tunnicliffe Authored: Thu Mar 31 09:02:53 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 09:02:53 2016 +0100 -- .../org/apache/cassandra/cql3/CQLTester.java| 1 + .../apache/cassandra/index/CustomIndexTest.java | 30 2 files changed, 19 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b984ea35/test/unit/org/apache/cassandra/cql3/CQLTester.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b984ea35/test/unit/org/apache/cassandra/index/CustomIndexTest.java --
[jira] [Updated] (CASSANDRA-11453) CustomIndexTest fails intermittently
[ https://issues.apache.org/jira/browse/CASSANDRA-11453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sam Tunnicliffe updated CASSANDRA-11453: Resolution: Fixed Fix Version/s: (was: 3.0.x) (was: 3.x) 3.5 3.0.5 Status: Resolved (was: Patch Available) Thanks, committed in {{f8cc86039a09f2632016c830d63a7b95195cbced}} > CustomIndexTest fails intermittently > > > Key: CASSANDRA-11453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11453 > Project: Cassandra > Issue Type: Bug > Components: Testing >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe > Fix For: 3.0.5, 3.5 > > > For example: > http://cassci.datastax.com/job/cassandra-3.0_testall/460/testReport/org.apache.cassandra.index/CustomIndexTest/customExpressionForcesIndexSelection/ > This is due to a clash in index names as the cleanup of tables (and so also > indexes) in the teardown of {{CQLTester}} is asynchronous. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9325) cassandra-stress requires keystore for SSL but provides no way to configure it
[ https://issues.apache.org/jira/browse/CASSANDRA-9325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219651#comment-15219651 ] Stefan Podkowinski commented on CASSANDRA-9325: --- cassci test results: ||2.2||3.0||trunk|| |[branch|https://github.com/spodkowinski/cassandra/tree/CASSANDRA-9325-2.2]|[branch|https://github.com/spodkowinski/cassandra/tree/CASSANDRA-9325-3.0]|[branch|https://github.com/spodkowinski/cassandra/tree/CASSANDRA-9325-trunk]| |[dtest|http://cassci.datastax.com/view/Dev/view/spodkowinski/job/spodkowinski-CASSANDRA-9325-2.2-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/spodkowinski/job/spodkowinski-CASSANDRA-9325-3.0-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/spodkowinski/job/spodkowinski-CASSANDRA-9325-trunk-dtest/]| |[testall|http://cassci.datastax.com/view/Dev/view/spodkowinski/job/spodkowinski-CASSANDRA-9325-2.2-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/spodkowinski/job/spodkowinski-CASSANDRA-9325-3.0-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/spodkowinski/job/spodkowinski-CASSANDRA-9325-trunk-testall/]| > cassandra-stress requires keystore for SSL but provides no way to configure it > -- > > Key: CASSANDRA-9325 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9325 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: J.B. Langston >Assignee: Stefan Podkowinski > Labels: lhf, stress > Fix For: 2.2.x > > Attachments: 9325-2.1.patch > > > Even though it shouldn't be required unless client certificate authentication > is enabled, the stress tool is looking for a keystore in the default location > of conf/.keystore with the default password of cassandra. There is no command > line option to override these defaults so you have to provide a keystore that > satisfies the default. It looks for conf/.keystore in the working directory, > so you need to create this in the directory you are running cassandra-stress > from.It doesn't really matter what's in the keystore; it just needs to exist > in the expected location and have a password of cassandra. > Since the keystore might be required if client certificate authentication is > enabled, we need to add -transport parameters for keystore and > keystore-password. Ideally, these should be optional and stress shouldn't > require the keystore unless client certificate authentication is enabled on > the server. > In case it wasn't apparent, this is for Cassandra 2.1 and later's stress > tool. I actually had even more problems getting Cassandra 2.0's stress tool > working with SSL and gave up on it. We probably don't need to fix 2.0; we > can just document that it doesn't support SSL and recommend using 2.1 instead. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Reopened] (CASSANDRA-6091) Better Vnode support in hadoop/pig
[ https://issues.apache.org/jira/browse/CASSANDRA-6091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] mck reopened CASSANDRA-6091: Assignee: mck Patch against trunk is updated at https://github.com/thelastpickle/cassandra/commit/a8c169748ef21c44e19d909b656ae2631af306b8 Got some more testing to do before submitting it as a patch. > Better Vnode support in hadoop/pig > -- > > Key: CASSANDRA-6091 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6091 > Project: Cassandra > Issue Type: Improvement >Reporter: Alex Liu >Assignee: mck >Priority: Minor > Attachments: cassandra-2.0-6091.txt, cassandra-2.1-6091.txt, > trunk-6091.txt > > > CASSANDRA-6084 shows there are some issues during running hadoop/pig job if > vnodes are enable. Also the hadoop performance of vnode enabled nodes are > bad for there are so many splits. > The idea is to combine vnode splits into a big sudo splits so it work like > vnode is disable for hadoop/pig job -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11331) Create Index IF NOT EXISTS throws error when index already exists
[ https://issues.apache.org/jira/browse/CASSANDRA-11331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer updated CASSANDRA-11331: --- Reproduced In: 3.4, 3.0.4 (was: 3.0.4, 3.4) Reviewer: Benjamin Lerer > Create Index IF NOT EXISTS throws error when index already exists > - > > Key: CASSANDRA-11331 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11331 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Philip Thompson >Assignee: Sam Tunnicliffe > Fix For: 3.0.x, 3.x > > > While testing with trunk, I see that issuing the following queries throws an > InvalidRequest, despite being valid. > {code} > CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '1'} AND durable_writes = true; > USE k; > CREATE TABLE k.t ( > id int PRIMARY KEY, > v int, > v2 int, > v3 text > ); > CREATE INDEX IF NOT EXISTS ON t (v2); > CREATE INDEX IF NOT EXISTS ON t (v2); > InvalidRequest: code=2200 [Invalid query] message="Index t_v2_idx_1 is a > duplicate of existing index t_v2_idx" > {code} > The second {{CREATE INDEX IF NOT EXISTS}} should work fine. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11331) Create Index IF NOT EXISTS throws error when index already exists
[ https://issues.apache.org/jira/browse/CASSANDRA-11331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219880#comment-15219880 ] Benjamin Lerer commented on CASSANDRA-11331: +1 > Create Index IF NOT EXISTS throws error when index already exists > - > > Key: CASSANDRA-11331 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11331 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Philip Thompson >Assignee: Sam Tunnicliffe > Fix For: 3.0.x, 3.x > > > While testing with trunk, I see that issuing the following queries throws an > InvalidRequest, despite being valid. > {code} > CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '1'} AND durable_writes = true; > USE k; > CREATE TABLE k.t ( > id int PRIMARY KEY, > v int, > v2 int, > v3 text > ); > CREATE INDEX IF NOT EXISTS ON t (v2); > CREATE INDEX IF NOT EXISTS ON t (v2); > InvalidRequest: code=2200 [Invalid query] message="Index t_v2_idx_1 is a > duplicate of existing index t_v2_idx" > {code} > The second {{CREATE INDEX IF NOT EXISTS}} should work fine. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11331) Create Index IF NOT EXISTS throws error when index already exists
[ https://issues.apache.org/jira/browse/CASSANDRA-11331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer updated CASSANDRA-11331: --- Status: Ready to Commit (was: Patch Available) > Create Index IF NOT EXISTS throws error when index already exists > - > > Key: CASSANDRA-11331 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11331 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Philip Thompson >Assignee: Sam Tunnicliffe > Fix For: 3.0.x, 3.x > > > While testing with trunk, I see that issuing the following queries throws an > InvalidRequest, despite being valid. > {code} > CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '1'} AND durable_writes = true; > USE k; > CREATE TABLE k.t ( > id int PRIMARY KEY, > v int, > v2 int, > v3 text > ); > CREATE INDEX IF NOT EXISTS ON t (v2); > CREATE INDEX IF NOT EXISTS ON t (v2); > InvalidRequest: code=2200 [Invalid query] message="Index t_v2_idx_1 is a > duplicate of existing index t_v2_idx" > {code} > The second {{CREATE INDEX IF NOT EXISTS}} should work fine. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (CASSANDRA-11467) Paging loses rows in certain conditions
[ https://issues.apache.org/jira/browse/CASSANDRA-11467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer reassigned CASSANDRA-11467: -- Assignee: Benjamin Lerer > Paging loses rows in certain conditions > --- > > Key: CASSANDRA-11467 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11467 > Project: Cassandra > Issue Type: Bug >Reporter: Ian McMahon >Assignee: Benjamin Lerer > Attachments: pagination_test.go > > > The bug occurs under the following conditions: > - RandomPartitioner > - a compact storage CF > - querying across rows > - a tombstone in the first column of a row on the pagesize boundary > - you need to be querying at least 2*pagesize + 1 records > Attached is a go program using gocql which reproduces the bug fairly > minimally. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11461) Failed incremental repairs never cleared from pending list
[ https://issues.apache.org/jira/browse/CASSANDRA-11461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219911#comment-15219911 ] Marcus Eriksson commented on CASSANDRA-11461: - Can we make sure somehow? With vnodes and incremental repair we can only trigger a repair on a single node in the cluster at a time. What I tried: # start repair service, it gets the error # stop repair service # start a manual -inc repair, which succeeds if there were sstables marked as repairing #3 above should not succeed either. > Failed incremental repairs never cleared from pending list > -- > > Key: CASSANDRA-11461 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11461 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Adam Hattrell > > Set up a test cluster with 2 DC's, heavy use of LCS (not sure if that's > relevant). > Kick off cassandra-stress against it. > Kick of an automated incremental repair cycle. > After a bit a node starts flapping which causes a few repairs to fail. This > is never cleared out of pending repairs - given the keyspace is replicated to > all nodes it means they all have pending repairs that will never complete. > Repairs are basically blocked at this point. > Given we're using Incremental repairs you're now spammed with: > "Cannot start multiple repair sessions over the same sstables" > Cluster and logs are still available for review - message me for details. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11461) Failed incremental repairs never cleared from pending list
[ https://issues.apache.org/jira/browse/CASSANDRA-11461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219907#comment-15219907 ] Nick Bailey commented on CASSANDRA-11461: - Well that depends. It starts by doing everything synchronously and tries to calculate throughput. Based on the throughput it calculates it may try to run things in parallel if it think it's required to complete but it prefers to run a single repair at a time. I'm not 100% certain, but I believe in the case where this was scene, OpsCenter was not running anything in parallel. > Failed incremental repairs never cleared from pending list > -- > > Key: CASSANDRA-11461 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11461 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Adam Hattrell > > Set up a test cluster with 2 DC's, heavy use of LCS (not sure if that's > relevant). > Kick off cassandra-stress against it. > Kick of an automated incremental repair cycle. > After a bit a node starts flapping which causes a few repairs to fail. This > is never cleared out of pending repairs - given the keyspace is replicated to > all nodes it means they all have pending repairs that will never complete. > Repairs are basically blocked at this point. > Given we're using Incremental repairs you're now spammed with: > "Cannot start multiple repair sessions over the same sstables" > Cluster and logs are still available for review - message me for details. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b80a31d7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b80a31d7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b80a31d7 Branch: refs/heads/trunk Commit: b80a31d7e0e3ea7bdb6cd5eb9de8d33a38e04430 Parents: b984ea3 067c8df Author: T Jake Luciani Authored: Thu Mar 31 10:18:02 2016 -0400 Committer: T Jake Luciani Committed: Thu Mar 31 10:18:02 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b80a31d7/CHANGES.txt --
[01/10] cassandra git commit: Add cassandra-stress keystore option (CASSANDRA-9325)
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 10f25aeeb -> 106750c78 refs/heads/cassandra-3.0 f8cc86039 -> 067c8dfbe refs/heads/cassandra-3.5 b984ea35e -> b80a31d7e refs/heads/trunk 3c147f865 -> 7e5c6b597 Add cassandra-stress keystore option (CASSANDRA-9325) * Prevents stress tool from checking keystore at .conf/keystore even if not needed * Adds keystore -transport option in case client verification is used on server Patch by Stefan Podkowinski; reviewed by T Jake Luciani for CASSANDRA-9325 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/106750c7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/106750c7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/106750c7 Branch: refs/heads/cassandra-2.2 Commit: 106750c78e21c6d7ad85ee2d0819a36cd65726b3 Parents: 10f25ae Author: Stefan Podkowinski Authored: Tue Feb 16 17:34:26 2016 +0100 Committer: T Jake Luciani Committed: Thu Mar 31 10:09:24 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e7aa321..3e51935 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java -- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java index 8b0ef6a..b6d1d90 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java @@ -65,6 +65,10 @@ public class SettingsTransport implements Serializable factoryOptions.put(SSLTransportFactory.TRUSTSTORE, options.trustStore.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.TRUSTSTORE_PASSWORD)) factoryOptions.put(SSLTransportFactory.TRUSTSTORE_PASSWORD, options.trustStorePw.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE)) +factoryOptions.put(SSLTransportFactory.KEYSTORE, options.keyStore.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE_PASSWORD)) +factoryOptions.put(SSLTransportFactory.KEYSTORE_PASSWORD, options.keyStorePw.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.PROTOCOL)) factoryOptions.put(SSLTransportFactory.PROTOCOL, options.protocol.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.CIPHER_SUITES)) @@ -102,6 +106,16 @@ public class SettingsTransport implements Serializable encOptions.enabled = true; encOptions.truststore = options.trustStore.value(); encOptions.truststore_password = options.trustStorePw.value(); +if (options.keyStore.present()) +{ +encOptions.keystore = options.keyStore.value(); +encOptions.keystore_password = options.keyStorePw.value(); +} +else +{ +// mandatory for SSLFactory.createSSLContext(), see CASSANDRA-9325 +encOptions.keystore = encOptions.truststore; +} encOptions.algorithm = options.alg.value(); encOptions.protocol = options.protocol.value(); encOptions.cipher_suites = options.ciphers.value().split(","); @@ -116,6 +130,8 @@ public class SettingsTransport implements Serializable final OptionSimple factory = new OptionSimple("factory=", ".*", TFramedTransportFactory.class.getName(), "Fully-qualified ITransportFactory class name for creating a connection. Note: For Thrift over SSL, use org.apache.cassandra.thrift.SSLTransportFactory.", false); final OptionSimple trustStore = new OptionSimple("truststore=", ".*", null, "SSL: full path to truststore", false); final OptionSimple trustStorePw = new OptionSimple("truststore-password=", ".*", null, "SSL: truststore pa
[10/10] cassandra git commit: Merge branch 'cassandra-3.5' into trunk
Merge branch 'cassandra-3.5' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7e5c6b59 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7e5c6b59 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7e5c6b59 Branch: refs/heads/trunk Commit: 7e5c6b597aae9571b3e6fb47dfe3b6467fecdc19 Parents: 3c147f8 b80a31d Author: T Jake Luciani Authored: Thu Mar 31 10:18:19 2016 -0400 Committer: T Jake Luciani Committed: Thu Mar 31 10:18:19 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7e5c6b59/CHANGES.txt --
[02/10] cassandra git commit: Add cassandra-stress keystore option (CASSANDRA-9325)
Add cassandra-stress keystore option (CASSANDRA-9325) * Prevents stress tool from checking keystore at .conf/keystore even if not needed * Adds keystore -transport option in case client verification is used on server Patch by Stefan Podkowinski; reviewed by T Jake Luciani for CASSANDRA-9325 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/106750c7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/106750c7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/106750c7 Branch: refs/heads/cassandra-3.0 Commit: 106750c78e21c6d7ad85ee2d0819a36cd65726b3 Parents: 10f25ae Author: Stefan Podkowinski Authored: Tue Feb 16 17:34:26 2016 +0100 Committer: T Jake Luciani Committed: Thu Mar 31 10:09:24 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e7aa321..3e51935 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java -- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java index 8b0ef6a..b6d1d90 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java @@ -65,6 +65,10 @@ public class SettingsTransport implements Serializable factoryOptions.put(SSLTransportFactory.TRUSTSTORE, options.trustStore.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.TRUSTSTORE_PASSWORD)) factoryOptions.put(SSLTransportFactory.TRUSTSTORE_PASSWORD, options.trustStorePw.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE)) +factoryOptions.put(SSLTransportFactory.KEYSTORE, options.keyStore.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE_PASSWORD)) +factoryOptions.put(SSLTransportFactory.KEYSTORE_PASSWORD, options.keyStorePw.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.PROTOCOL)) factoryOptions.put(SSLTransportFactory.PROTOCOL, options.protocol.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.CIPHER_SUITES)) @@ -102,6 +106,16 @@ public class SettingsTransport implements Serializable encOptions.enabled = true; encOptions.truststore = options.trustStore.value(); encOptions.truststore_password = options.trustStorePw.value(); +if (options.keyStore.present()) +{ +encOptions.keystore = options.keyStore.value(); +encOptions.keystore_password = options.keyStorePw.value(); +} +else +{ +// mandatory for SSLFactory.createSSLContext(), see CASSANDRA-9325 +encOptions.keystore = encOptions.truststore; +} encOptions.algorithm = options.alg.value(); encOptions.protocol = options.protocol.value(); encOptions.cipher_suites = options.ciphers.value().split(","); @@ -116,6 +130,8 @@ public class SettingsTransport implements Serializable final OptionSimple factory = new OptionSimple("factory=", ".*", TFramedTransportFactory.class.getName(), "Fully-qualified ITransportFactory class name for creating a connection. Note: For Thrift over SSL, use org.apache.cassandra.thrift.SSLTransportFactory.", false); final OptionSimple trustStore = new OptionSimple("truststore=", ".*", null, "SSL: full path to truststore", false); final OptionSimple trustStorePw = new OptionSimple("truststore-password=", ".*", null, "SSL: truststore password", false); +final OptionSimple keyStore = new OptionSimple("keystore=", ".*", null, "SSL: full path to keystore", false); +final OptionSimple keyStorePw = new OptionSimple("keystore-password=", ".*", null, "SS
[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/067c8dfb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/067c8dfb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/067c8dfb Branch: refs/heads/trunk Commit: 067c8dfbe41421283e8cf6dc3c595efb237be054 Parents: f8cc860 106750c Author: T Jake Luciani Authored: Thu Mar 31 10:15:40 2016 -0400 Committer: T Jake Luciani Committed: Thu Mar 31 10:15:40 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/067c8dfb/CHANGES.txt -- diff --cc CHANGES.txt index 449a2b5,3e51935..eda762b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,18 -1,7 +1,19 @@@ -2.2.6 +3.0.5 + * Upgrade ohc to 0.4.3 + * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) + * Allocate merkletrees with the correct size (CASSANDRA-11390) + * Support streaming pre-3.0 sstables (CASSANDRA-10990) + * Add backpressure to compressed commit log (CASSANDRA-10971) + * SSTableExport supports secondary index tables (CASSANDRA-11330) + * Fix sstabledump to include missing info in debug output (CASSANDRA-11321) + * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331) + * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208) + * Remove recursive call from CompositesSearcher (CASSANDRA-11304) + * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377) + * Fix sstableloader fail when using materialized view (CASSANDRA-11275) +Merged from 2.2: + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) - * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809)
[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b80a31d7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b80a31d7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b80a31d7 Branch: refs/heads/cassandra-3.5 Commit: b80a31d7e0e3ea7bdb6cd5eb9de8d33a38e04430 Parents: b984ea3 067c8df Author: T Jake Luciani Authored: Thu Mar 31 10:18:02 2016 -0400 Committer: T Jake Luciani Committed: Thu Mar 31 10:18:02 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b80a31d7/CHANGES.txt --
[03/10] cassandra git commit: Add cassandra-stress keystore option (CASSANDRA-9325)
Add cassandra-stress keystore option (CASSANDRA-9325) * Prevents stress tool from checking keystore at .conf/keystore even if not needed * Adds keystore -transport option in case client verification is used on server Patch by Stefan Podkowinski; reviewed by T Jake Luciani for CASSANDRA-9325 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/106750c7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/106750c7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/106750c7 Branch: refs/heads/cassandra-3.5 Commit: 106750c78e21c6d7ad85ee2d0819a36cd65726b3 Parents: 10f25ae Author: Stefan Podkowinski Authored: Tue Feb 16 17:34:26 2016 +0100 Committer: T Jake Luciani Committed: Thu Mar 31 10:09:24 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e7aa321..3e51935 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java -- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java index 8b0ef6a..b6d1d90 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java @@ -65,6 +65,10 @@ public class SettingsTransport implements Serializable factoryOptions.put(SSLTransportFactory.TRUSTSTORE, options.trustStore.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.TRUSTSTORE_PASSWORD)) factoryOptions.put(SSLTransportFactory.TRUSTSTORE_PASSWORD, options.trustStorePw.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE)) +factoryOptions.put(SSLTransportFactory.KEYSTORE, options.keyStore.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE_PASSWORD)) +factoryOptions.put(SSLTransportFactory.KEYSTORE_PASSWORD, options.keyStorePw.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.PROTOCOL)) factoryOptions.put(SSLTransportFactory.PROTOCOL, options.protocol.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.CIPHER_SUITES)) @@ -102,6 +106,16 @@ public class SettingsTransport implements Serializable encOptions.enabled = true; encOptions.truststore = options.trustStore.value(); encOptions.truststore_password = options.trustStorePw.value(); +if (options.keyStore.present()) +{ +encOptions.keystore = options.keyStore.value(); +encOptions.keystore_password = options.keyStorePw.value(); +} +else +{ +// mandatory for SSLFactory.createSSLContext(), see CASSANDRA-9325 +encOptions.keystore = encOptions.truststore; +} encOptions.algorithm = options.alg.value(); encOptions.protocol = options.protocol.value(); encOptions.cipher_suites = options.ciphers.value().split(","); @@ -116,6 +130,8 @@ public class SettingsTransport implements Serializable final OptionSimple factory = new OptionSimple("factory=", ".*", TFramedTransportFactory.class.getName(), "Fully-qualified ITransportFactory class name for creating a connection. Note: For Thrift over SSL, use org.apache.cassandra.thrift.SSLTransportFactory.", false); final OptionSimple trustStore = new OptionSimple("truststore=", ".*", null, "SSL: full path to truststore", false); final OptionSimple trustStorePw = new OptionSimple("truststore-password=", ".*", null, "SSL: truststore password", false); +final OptionSimple keyStore = new OptionSimple("keystore=", ".*", null, "SSL: full path to keystore", false); +final OptionSimple keyStorePw = new OptionSimple("keystore-password=", ".*", null, "SS
[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/067c8dfb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/067c8dfb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/067c8dfb Branch: refs/heads/cassandra-3.5 Commit: 067c8dfbe41421283e8cf6dc3c595efb237be054 Parents: f8cc860 106750c Author: T Jake Luciani Authored: Thu Mar 31 10:15:40 2016 -0400 Committer: T Jake Luciani Committed: Thu Mar 31 10:15:40 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/067c8dfb/CHANGES.txt -- diff --cc CHANGES.txt index 449a2b5,3e51935..eda762b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,18 -1,7 +1,19 @@@ -2.2.6 +3.0.5 + * Upgrade ohc to 0.4.3 + * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) + * Allocate merkletrees with the correct size (CASSANDRA-11390) + * Support streaming pre-3.0 sstables (CASSANDRA-10990) + * Add backpressure to compressed commit log (CASSANDRA-10971) + * SSTableExport supports secondary index tables (CASSANDRA-11330) + * Fix sstabledump to include missing info in debug output (CASSANDRA-11321) + * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331) + * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208) + * Remove recursive call from CompositesSearcher (CASSANDRA-11304) + * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377) + * Fix sstableloader fail when using materialized view (CASSANDRA-11275) +Merged from 2.2: + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) - * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809)
[04/10] cassandra git commit: Add cassandra-stress keystore option (CASSANDRA-9325)
Add cassandra-stress keystore option (CASSANDRA-9325) * Prevents stress tool from checking keystore at .conf/keystore even if not needed * Adds keystore -transport option in case client verification is used on server Patch by Stefan Podkowinski; reviewed by T Jake Luciani for CASSANDRA-9325 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/106750c7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/106750c7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/106750c7 Branch: refs/heads/trunk Commit: 106750c78e21c6d7ad85ee2d0819a36cd65726b3 Parents: 10f25ae Author: Stefan Podkowinski Authored: Tue Feb 16 17:34:26 2016 +0100 Committer: T Jake Luciani Committed: Thu Mar 31 10:09:24 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e7aa321..3e51935 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/106750c7/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java -- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java index 8b0ef6a..b6d1d90 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsTransport.java @@ -65,6 +65,10 @@ public class SettingsTransport implements Serializable factoryOptions.put(SSLTransportFactory.TRUSTSTORE, options.trustStore.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.TRUSTSTORE_PASSWORD)) factoryOptions.put(SSLTransportFactory.TRUSTSTORE_PASSWORD, options.trustStorePw.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE)) +factoryOptions.put(SSLTransportFactory.KEYSTORE, options.keyStore.value()); +if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE_PASSWORD)) +factoryOptions.put(SSLTransportFactory.KEYSTORE_PASSWORD, options.keyStorePw.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.PROTOCOL)) factoryOptions.put(SSLTransportFactory.PROTOCOL, options.protocol.value()); if (transportFactory.supportedOptions().contains(SSLTransportFactory.CIPHER_SUITES)) @@ -102,6 +106,16 @@ public class SettingsTransport implements Serializable encOptions.enabled = true; encOptions.truststore = options.trustStore.value(); encOptions.truststore_password = options.trustStorePw.value(); +if (options.keyStore.present()) +{ +encOptions.keystore = options.keyStore.value(); +encOptions.keystore_password = options.keyStorePw.value(); +} +else +{ +// mandatory for SSLFactory.createSSLContext(), see CASSANDRA-9325 +encOptions.keystore = encOptions.truststore; +} encOptions.algorithm = options.alg.value(); encOptions.protocol = options.protocol.value(); encOptions.cipher_suites = options.ciphers.value().split(","); @@ -116,6 +130,8 @@ public class SettingsTransport implements Serializable final OptionSimple factory = new OptionSimple("factory=", ".*", TFramedTransportFactory.class.getName(), "Fully-qualified ITransportFactory class name for creating a connection. Note: For Thrift over SSL, use org.apache.cassandra.thrift.SSLTransportFactory.", false); final OptionSimple trustStore = new OptionSimple("truststore=", ".*", null, "SSL: full path to truststore", false); final OptionSimple trustStorePw = new OptionSimple("truststore-password=", ".*", null, "SSL: truststore password", false); +final OptionSimple keyStore = new OptionSimple("keystore=", ".*", null, "SSL: full path to keystore", false); +final OptionSimple keyStorePw = new OptionSimple("keystore-password=", ".*", null, "SSL: keyst
[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/067c8dfb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/067c8dfb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/067c8dfb Branch: refs/heads/cassandra-3.0 Commit: 067c8dfbe41421283e8cf6dc3c595efb237be054 Parents: f8cc860 106750c Author: T Jake Luciani Authored: Thu Mar 31 10:15:40 2016 -0400 Committer: T Jake Luciani Committed: Thu Mar 31 10:15:40 2016 -0400 -- CHANGES.txt | 1 + .../stress/settings/SettingsTransport.java| 18 +- 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/067c8dfb/CHANGES.txt -- diff --cc CHANGES.txt index 449a2b5,3e51935..eda762b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,18 -1,7 +1,19 @@@ -2.2.6 +3.0.5 + * Upgrade ohc to 0.4.3 + * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) + * Allocate merkletrees with the correct size (CASSANDRA-11390) + * Support streaming pre-3.0 sstables (CASSANDRA-10990) + * Add backpressure to compressed commit log (CASSANDRA-10971) + * SSTableExport supports secondary index tables (CASSANDRA-11330) + * Fix sstabledump to include missing info in debug output (CASSANDRA-11321) + * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331) + * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208) + * Remove recursive call from CompositesSearcher (CASSANDRA-11304) + * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377) + * Fix sstableloader fail when using materialized view (CASSANDRA-11275) +Merged from 2.2: + * Add cassandra-stress keystore option (CASSANDRA-9325) * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451) - * Fix use of NullUpdater for 2i during compaction (CASSANDRA-11450) * Notify when sstables change after cancelling compaction (CASSANDRA-11373) * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333) * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809)
[jira] [Updated] (CASSANDRA-9325) cassandra-stress requires keystore for SSL but provides no way to configure it
[ https://issues.apache.org/jira/browse/CASSANDRA-9325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] T Jake Luciani updated CASSANDRA-9325: -- Resolution: Fixed Fix Version/s: (was: 2.2.x) 3.5 3.0.5 2.2.6 Status: Resolved (was: Patch Available) committed > cassandra-stress requires keystore for SSL but provides no way to configure it > -- > > Key: CASSANDRA-9325 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9325 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: J.B. Langston >Assignee: Stefan Podkowinski > Labels: lhf, stress > Fix For: 2.2.6, 3.0.5, 3.5 > > Attachments: 9325-2.1.patch > > > Even though it shouldn't be required unless client certificate authentication > is enabled, the stress tool is looking for a keystore in the default location > of conf/.keystore with the default password of cassandra. There is no command > line option to override these defaults so you have to provide a keystore that > satisfies the default. It looks for conf/.keystore in the working directory, > so you need to create this in the directory you are running cassandra-stress > from.It doesn't really matter what's in the keystore; it just needs to exist > in the expected location and have a password of cassandra. > Since the keystore might be required if client certificate authentication is > enabled, we need to add -transport parameters for keystore and > keystore-password. Ideally, these should be optional and stress shouldn't > require the keystore unless client certificate authentication is enabled on > the server. > In case it wasn't apparent, this is for Cassandra 2.1 and later's stress > tool. I actually had even more problems getting Cassandra 2.0's stress tool > working with SSL and gave up on it. We probably don't need to fix 2.0; we > can just document that it doesn't support SSL and recommend using 2.1 instead. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11456) support for PreparedStatement with LIKE
[ https://issues.apache.org/jira/browse/CASSANDRA-11456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219923#comment-15219923 ] Sam Tunnicliffe commented on CASSANDRA-11456: - [~xedin] sounds reasonable. I've pushed a branch with a quick implementation, wdyt? ||branch||testall||dtest|| |[11456-trunk|https://github.com/beobal/cassandra/tree/11456-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11456-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11456-trunk-dtest]| > support for PreparedStatement with LIKE > --- > > Key: CASSANDRA-11456 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11456 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 3.6 > > > Using the Java driver for example: > {code} > PreparedStatement pst = session.prepare("select * from test.users where > first_name LIKE ?"); > BoundStatement bs = pst.bind("Jon%"); > {code} > The first line fails with {{SyntaxError: line 1:47 mismatched input '?' > expecting STRING_LITERAL}} (which makes sense since it's how it's declared in > the grammar). Other operators declare the right-hand side value as a > {{Term.Raw}}, which can also be a bind marker. > I think users will expect to be able to bind the argument this way. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (CASSANDRA-11412) Many sstablescanners opened during repair
[ https://issues.apache.org/jira/browse/CASSANDRA-11412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson reassigned CASSANDRA-11412: --- Assignee: Marcus Eriksson > Many sstablescanners opened during repair > - > > Key: CASSANDRA-11412 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11412 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > > Since CASSANDRA-5220 we open [one sstablescanner per range per > sstable|https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java#L374]. > If compaction gets behind and you are running vnodes with 256 tokens and > RF3, this could become a problem (ie, {{768 * number of sstables}} scanners) > We could probably refactor this similar to the way we handle scanners with > LCS - only open the scanner once we need it -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[3/6] cassandra git commit: Improve IF NOT EXISTS check in CREATE INDEX
Improve IF NOT EXISTS check in CREATE INDEX Patch by Sam Tunnicliffe; reviewed by Benjamin Lerer for CASSANDRA-11331 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/be380814 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/be380814 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/be380814 Branch: refs/heads/trunk Commit: be3808140207d2ab783ef907639c2ad544b6683f Parents: 067c8df Author: Sam Tunnicliffe Authored: Thu Mar 10 17:25:36 2016 + Committer: Sam Tunnicliffe Committed: Thu Mar 31 15:37:16 2016 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/statements/CreateIndexStatement.java | 11 --- .../cql3/validation/entities/SecondaryIndexTest.java | 4 3 files changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index eda762b..7fc628e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.5 + * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131) * Upgrade ohc to 0.4.3 * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) * Allocate merkletrees with the correct size (CASSANDRA-11390) http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java index b2a6fd5..df1965a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java @@ -229,9 +229,14 @@ public class CreateIndexStatement extends SchemaAlteringStatement // check to disallow creation of an index which duplicates an existing one in all but name Optional existingIndex = Iterables.tryFind(cfm.getIndexes(), existing -> existing.equalsWithoutName(index)); if (existingIndex.isPresent()) -throw new InvalidRequestException(String.format("Index %s is a duplicate of existing index %s", -index.name, - existingIndex.get().name)); +{ +if (ifNotExists) +return null; +else +throw new InvalidRequestException(String.format("Index %s is a duplicate of existing index %s", +index.name, + existingIndex.get().name)); +} logger.trace("Updating index definition for {}", indexName); cfm.indexes(cfm.getIndexes().with(index)); http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java index 6ad9cc8..f9802d7 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java @@ -106,7 +106,11 @@ public class SecondaryIndexTest extends CQLTester removeQuotes(indexName.toLowerCase(Locale.US))), "CREATE INDEX " + indexName + " ON %s(b)"); +// IF NOT EXISTS should apply in cases where the new index differs from an existing one in name only String otherIndexName = "index_" + System.nanoTime(); +assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); +createIndex("CREATE INDEX IF NOT EXISTS " + otherIndexName + " ON %s(b)"); +assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); assertInvalidMessage(String.format("Index %s is a duplicate of existing index %s", removeQuotes(otherIndexName.toLowerCase(Locale.US)), removeQuotes(indexName.toLowerCase(Locale.US))),
[jira] [Updated] (CASSANDRA-11468) Reading from early opened, and compressed, sstable throws CorruptSSTableException
[ https://issues.apache.org/jira/browse/CASSANDRA-11468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Eggleston updated CASSANDRA-11468: Since Version: 3.0.4 (was: 3.4) > Reading from early opened, and compressed, sstable throws > CorruptSSTableException > - > > Key: CASSANDRA-11468 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11468 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston > Fix For: 3.0.x > > > When a compressed sstable is early opened during compaction, reading from it > can fail with the following exception: > {code} > org.apache.cassandra.io.sstable.CorruptSSTableException: Corrupted: > build/test/cassandra/data/ks_1459378971131/early_open_test-893eb3d0f6cb11e59e1b4f343b985d3e/ma-3-big-Data.db > at > org.apache.cassandra.db.columniterator.AbstractSSTableIterator.(AbstractSSTableIterator.java:130) > at > org.apache.cassandra.db.columniterator.SSTableIterator.(SSTableIterator.java:46) > at > org.apache.cassandra.db.columniterator.SSTableIterator.(SSTableIterator.java:36) > at > org.apache.cassandra.io.sstable.format.big.BigTableReader.iterator(BigTableReader.java:62) > at > org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndSSTablesInTimestampOrder(SinglePartitionReadCommand.java:715) > at > org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndDiskInternal(SinglePartitionReadCommand.java:482) > at > org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndDisk(SinglePartitionReadCommand.java:459) > at > org.apache.cassandra.db.SinglePartitionReadCommand.queryStorage(SinglePartitionReadCommand.java:325) > at > org.apache.cassandra.db.ReadCommand.executeLocally(ReadCommand.java:363) > at > org.apache.cassandra.db.ReadCommand.executeInternal(ReadCommand.java:393) > at > org.apache.cassandra.db.SinglePartitionReadCommand$Group.executeInternal(SinglePartitionReadCommand.java:950) > at > org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:397) > at > org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:76) > at > org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:295) > at > org.apache.cassandra.io.sstable.EarlyOpenTest.earlyOpen(EarlyOpenTest.java:160) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at org.junit.runner.JUnitCore.run(JUnitCore.java:159) > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78) > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212) > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) > Caused by: java.io.EOFException > at > org.apache.cassandra.io.util.RebufferingInputStream.readByte(RebufferingInputStream.java:146) > at > org.apache.cassandra.io.util.RebufferingInputStream.readPrimitiveSlowly(RebufferingInputStream.java:108) > at > org.ap
[1/6] cassandra git commit: Improve IF NOT EXISTS check in CREATE INDEX
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 067c8dfbe -> be3808140 refs/heads/cassandra-3.5 b80a31d7e -> 4111e4fdf refs/heads/trunk 7e5c6b597 -> 961b5c9f4 Improve IF NOT EXISTS check in CREATE INDEX Patch by Sam Tunnicliffe; reviewed by Benjamin Lerer for CASSANDRA-11331 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/be380814 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/be380814 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/be380814 Branch: refs/heads/cassandra-3.0 Commit: be3808140207d2ab783ef907639c2ad544b6683f Parents: 067c8df Author: Sam Tunnicliffe Authored: Thu Mar 10 17:25:36 2016 + Committer: Sam Tunnicliffe Committed: Thu Mar 31 15:37:16 2016 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/statements/CreateIndexStatement.java | 11 --- .../cql3/validation/entities/SecondaryIndexTest.java | 4 3 files changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index eda762b..7fc628e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.5 + * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131) * Upgrade ohc to 0.4.3 * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) * Allocate merkletrees with the correct size (CASSANDRA-11390) http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java index b2a6fd5..df1965a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java @@ -229,9 +229,14 @@ public class CreateIndexStatement extends SchemaAlteringStatement // check to disallow creation of an index which duplicates an existing one in all but name Optional existingIndex = Iterables.tryFind(cfm.getIndexes(), existing -> existing.equalsWithoutName(index)); if (existingIndex.isPresent()) -throw new InvalidRequestException(String.format("Index %s is a duplicate of existing index %s", -index.name, - existingIndex.get().name)); +{ +if (ifNotExists) +return null; +else +throw new InvalidRequestException(String.format("Index %s is a duplicate of existing index %s", +index.name, + existingIndex.get().name)); +} logger.trace("Updating index definition for {}", indexName); cfm.indexes(cfm.getIndexes().with(index)); http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java index 6ad9cc8..f9802d7 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java @@ -106,7 +106,11 @@ public class SecondaryIndexTest extends CQLTester removeQuotes(indexName.toLowerCase(Locale.US))), "CREATE INDEX " + indexName + " ON %s(b)"); +// IF NOT EXISTS should apply in cases where the new index differs from an existing one in name only String otherIndexName = "index_" + System.nanoTime(); +assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); +createIndex("CREATE INDEX IF NOT EXISTS " + otherIndexName + " ON %s(b)"); +assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); assertInvalidMessage(String.format("Index %s is a duplicate of existing index %s", removeQuotes(otherIndexName.toLowerCase(Locale.US)), removeQuotes(indexName.toLowerCase(Locale.US))),
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4111e4fd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4111e4fd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4111e4fd Branch: refs/heads/trunk Commit: 4111e4fdf982462619145761d80d109bf1d78fa2 Parents: b80a31d be38081 Author: Sam Tunnicliffe Authored: Thu Mar 31 15:40:16 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 15:40:16 2016 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/statements/CreateIndexStatement.java | 11 --- .../cql3/validation/entities/SecondaryIndexTest.java | 4 3 files changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4111e4fd/CHANGES.txt -- diff --cc CHANGES.txt index d645925,7fc628e..b542a67 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,5 +1,8 @@@ -3.0.5 +3.5 + * Avoid index segment stitching in RAM which lead to OOM on big SSTable files (CASSANDRA-11383) + * Fix clustering and row filters for LIKE queries on clustering columns (CASSANDRA-11397) +Merged from 3.0: + * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131) * Upgrade ohc to 0.4.3 * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) * Allocate merkletrees with the correct size (CASSANDRA-11390) http://git-wip-us.apache.org/repos/asf/cassandra/blob/4111e4fd/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4111e4fd/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java --
[jira] [Updated] (CASSANDRA-11331) Create Index IF NOT EXISTS throws error when index already exists
[ https://issues.apache.org/jira/browse/CASSANDRA-11331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sam Tunnicliffe updated CASSANDRA-11331: Resolution: Fixed Fix Version/s: (was: 3.0.x) (was: 3.x) 3.5 3.0.5 Reproduced In: 3.4, 3.0.4 (was: 3.0.4, 3.4) Status: Resolved (was: Ready to Commit) Thanks, committed to 3.0 in {{be3808140207d2ab783ef907639c2ad544b6683f}} > Create Index IF NOT EXISTS throws error when index already exists > - > > Key: CASSANDRA-11331 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11331 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Philip Thompson >Assignee: Sam Tunnicliffe > Fix For: 3.0.5, 3.5 > > > While testing with trunk, I see that issuing the following queries throws an > InvalidRequest, despite being valid. > {code} > CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '1'} AND durable_writes = true; > USE k; > CREATE TABLE k.t ( > id int PRIMARY KEY, > v int, > v2 int, > v3 text > ); > CREATE INDEX IF NOT EXISTS ON t (v2); > CREATE INDEX IF NOT EXISTS ON t (v2); > InvalidRequest: code=2200 [Invalid query] message="Index t_v2_idx_1 is a > duplicate of existing index t_v2_idx" > {code} > The second {{CREATE INDEX IF NOT EXISTS}} should work fine. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11461) Failed incremental repairs never cleared from pending list
[ https://issues.apache.org/jira/browse/CASSANDRA-11461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219978#comment-15219978 ] Francesco Animali commented on CASSANDRA-11461: --- actually I specified a number of parallel repairs in the opscenterd.conf: max_parallel_repairs = 500 > Failed incremental repairs never cleared from pending list > -- > > Key: CASSANDRA-11461 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11461 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Adam Hattrell > > Set up a test cluster with 2 DC's, heavy use of LCS (not sure if that's > relevant). > Kick off cassandra-stress against it. > Kick of an automated incremental repair cycle. > After a bit a node starts flapping which causes a few repairs to fail. This > is never cleared out of pending repairs - given the keyspace is replicated to > all nodes it means they all have pending repairs that will never complete. > Repairs are basically blocked at this point. > Given we're using Incremental repairs you're now spammed with: > "Cannot start multiple repair sessions over the same sstables" > Cluster and logs are still available for review - message me for details. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (CASSANDRA-11307) Inappropriate WARN log message for commit log sync delay when using commitlog_sync: batch
[ https://issues.apache.org/jira/browse/CASSANDRA-11307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer reassigned CASSANDRA-11307: -- Assignee: Benjamin Lerer > Inappropriate WARN log message for commit log sync delay when using > commitlog_sync: batch > - > > Key: CASSANDRA-11307 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11307 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Linux >Reporter: Gary Ogasawara >Assignee: Benjamin Lerer >Priority: Minor > > In v2.1.11 when using configuration > commitlog_sync: batch > commitlog_sync_batch_window_in_ms: 2 > will frequently get this WARN log though there is not a real problem. > WARN [COMMIT-LOG-WRITER] 2016-03-03 00:40:11,646 > AbstractCommitLogService.java:105 - Out of 142412 commit log syncs over the > past 300s with average duration of 0.00ms, 35 have exceeded the configured > commit interval by an average of 3.66ms > WARN [COMMIT-LOG-WRITER] 2016-03-03 00:45:11,755 > AbstractCommitLogService.java:105 - Out of 104605 commit log syncs over the > past 300s with average duration of 1.74ms, 18314 have exceeded the configured > commit interval by an average of 6.33ms > Looks like BatchCommitLogService sets AbstractCommitLogService() > pollIntervalMillis to the configured commitlog_sync_batch_window_in_ms. > Since CASSANDRA-9504, this is by default set to 2 which causes this WARN > message to be triggered unnecessarily. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[6/6] cassandra git commit: Merge branch 'cassandra-3.5' into trunk
Merge branch 'cassandra-3.5' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/961b5c9f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/961b5c9f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/961b5c9f Branch: refs/heads/trunk Commit: 961b5c9f4561a0c0add9a05fe46a55fe01b9d398 Parents: 7e5c6b5 4111e4f Author: Sam Tunnicliffe Authored: Thu Mar 31 15:42:03 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 15:42:03 2016 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/statements/CreateIndexStatement.java | 11 --- .../cql3/validation/entities/SecondaryIndexTest.java | 4 3 files changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/961b5c9f/CHANGES.txt --
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5
Merge branch 'cassandra-3.0' into cassandra-3.5 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4111e4fd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4111e4fd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4111e4fd Branch: refs/heads/cassandra-3.5 Commit: 4111e4fdf982462619145761d80d109bf1d78fa2 Parents: b80a31d be38081 Author: Sam Tunnicliffe Authored: Thu Mar 31 15:40:16 2016 +0100 Committer: Sam Tunnicliffe Committed: Thu Mar 31 15:40:16 2016 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/statements/CreateIndexStatement.java | 11 --- .../cql3/validation/entities/SecondaryIndexTest.java | 4 3 files changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4111e4fd/CHANGES.txt -- diff --cc CHANGES.txt index d645925,7fc628e..b542a67 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,5 +1,8 @@@ -3.0.5 +3.5 + * Avoid index segment stitching in RAM which lead to OOM on big SSTable files (CASSANDRA-11383) + * Fix clustering and row filters for LIKE queries on clustering columns (CASSANDRA-11397) +Merged from 3.0: + * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131) * Upgrade ohc to 0.4.3 * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) * Allocate merkletrees with the correct size (CASSANDRA-11390) http://git-wip-us.apache.org/repos/asf/cassandra/blob/4111e4fd/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4111e4fd/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java --
[2/6] cassandra git commit: Improve IF NOT EXISTS check in CREATE INDEX
Improve IF NOT EXISTS check in CREATE INDEX Patch by Sam Tunnicliffe; reviewed by Benjamin Lerer for CASSANDRA-11331 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/be380814 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/be380814 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/be380814 Branch: refs/heads/cassandra-3.5 Commit: be3808140207d2ab783ef907639c2ad544b6683f Parents: 067c8df Author: Sam Tunnicliffe Authored: Thu Mar 10 17:25:36 2016 + Committer: Sam Tunnicliffe Committed: Thu Mar 31 15:37:16 2016 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/statements/CreateIndexStatement.java | 11 --- .../cql3/validation/entities/SecondaryIndexTest.java | 4 3 files changed, 13 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index eda762b..7fc628e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.5 + * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131) * Upgrade ohc to 0.4.3 * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093) * Allocate merkletrees with the correct size (CASSANDRA-11390) http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java index b2a6fd5..df1965a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java @@ -229,9 +229,14 @@ public class CreateIndexStatement extends SchemaAlteringStatement // check to disallow creation of an index which duplicates an existing one in all but name Optional existingIndex = Iterables.tryFind(cfm.getIndexes(), existing -> existing.equalsWithoutName(index)); if (existingIndex.isPresent()) -throw new InvalidRequestException(String.format("Index %s is a duplicate of existing index %s", -index.name, - existingIndex.get().name)); +{ +if (ifNotExists) +return null; +else +throw new InvalidRequestException(String.format("Index %s is a duplicate of existing index %s", +index.name, + existingIndex.get().name)); +} logger.trace("Updating index definition for {}", indexName); cfm.indexes(cfm.getIndexes().with(index)); http://git-wip-us.apache.org/repos/asf/cassandra/blob/be380814/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java index 6ad9cc8..f9802d7 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java @@ -106,7 +106,11 @@ public class SecondaryIndexTest extends CQLTester removeQuotes(indexName.toLowerCase(Locale.US))), "CREATE INDEX " + indexName + " ON %s(b)"); +// IF NOT EXISTS should apply in cases where the new index differs from an existing one in name only String otherIndexName = "index_" + System.nanoTime(); +assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); +createIndex("CREATE INDEX IF NOT EXISTS " + otherIndexName + " ON %s(b)"); +assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); assertInvalidMessage(String.format("Index %s is a duplicate of existing index %s", removeQuotes(otherIndexName.toLowerCase(Locale.US)), removeQuotes(indexName.toLowerCase(Locale.US))),
[jira] [Commented] (CASSANDRA-11225) dtest failure in consistency_test.TestAccuracy.test_simple_strategy_counters
[ https://issues.apache.org/jira/browse/CASSANDRA-11225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219981#comment-15219981 ] Russ Hatch commented on CASSANDRA-11225: [~Stefania] Sounds like maybe those two failures could both be eventual consistency test problems? I learned recently while investigating another test, that even with an exclusive connection, with the coordinator in the replica set, it still may go out to another node for data (though rare). Maybe we're seeing a manifestation of that corner case? > dtest failure in consistency_test.TestAccuracy.test_simple_strategy_counters > > > Key: CASSANDRA-11225 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11225 > Project: Cassandra > Issue Type: Test >Reporter: Russ Hatch >Assignee: Russ Hatch > Labels: dtest > > example failure: > http://cassci.datastax.com/job/cassandra-2.1_novnode_dtest/209/testReport/consistency_test/TestAccuracy/test_simple_strategy_counters > Failed on CassCI build cassandra-2.1_novnode_dtest #209 > error: "AssertionError: Failed to read value from sufficient number of nodes, > required 2 but got 1 - [574, 2]" -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11461) Failed incremental repairs never cleared from pending list
[ https://issues.apache.org/jira/browse/CASSANDRA-11461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220014#comment-15220014 ] Nick Bailey commented on CASSANDRA-11461: - We would need to reproduce the issue in OpsCenter with debug logging enabled to see how many parallel repairs OpsCenter is attempting. But I could easily see how you would hit this issue with vnodes enabled. We don't have any logic to prevent that from happening. > Failed incremental repairs never cleared from pending list > -- > > Key: CASSANDRA-11461 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11461 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Adam Hattrell > > Set up a test cluster with 2 DC's, heavy use of LCS (not sure if that's > relevant). > Kick off cassandra-stress against it. > Kick of an automated incremental repair cycle. > After a bit a node starts flapping which causes a few repairs to fail. This > is never cleared out of pending repairs - given the keyspace is replicated to > all nodes it means they all have pending repairs that will never complete. > Repairs are basically blocked at this point. > Given we're using Incremental repairs you're now spammed with: > "Cannot start multiple repair sessions over the same sstables" > Cluster and logs are still available for review - message me for details. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11461) Failed incremental repairs never cleared from pending list
[ https://issues.apache.org/jira/browse/CASSANDRA-11461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220026#comment-15220026 ] Marcus Eriksson commented on CASSANDRA-11461: - [~nickmbailey] with CASSANDRA-11451 users can run repair service just like today, only it doesn't make much sense to support incremental repairs in repair service as we never anticompact with sub range repairs > Failed incremental repairs never cleared from pending list > -- > > Key: CASSANDRA-11461 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11461 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Adam Hattrell > > Set up a test cluster with 2 DC's, heavy use of LCS (not sure if that's > relevant). > Kick off cassandra-stress against it. > Kick of an automated incremental repair cycle. > After a bit a node starts flapping which causes a few repairs to fail. This > is never cleared out of pending repairs - given the keyspace is replicated to > all nodes it means they all have pending repairs that will never complete. > Repairs are basically blocked at this point. > Given we're using Incremental repairs you're now spammed with: > "Cannot start multiple repair sessions over the same sstables" > Cluster and logs are still available for review - message me for details. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10587) sstablemetadata NPE on cassandra 2.2
[ https://issues.apache.org/jira/browse/CASSANDRA-10587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220046#comment-15220046 ] Paulo Motta commented on CASSANDRA-10587: - LGTM, tested locally and worked after fix. Thanks! > sstablemetadata NPE on cassandra 2.2 > > > Key: CASSANDRA-10587 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10587 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Tiago Batista >Assignee: Yuki Morishita >Priority: Minor > Fix For: 2.2.x, 3.x > > > I have recently upgraded my cassandra cluster to 2.2, currently running > 2.2.3. After running the first repair, cassandra renames the sstables to the > new naming schema that does not contain the keyspace name. > This causes sstablemetadata to fail with the following stack trace: > {noformat} > Exception in thread "main" java.lang.NullPointerException > at > org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:275) > at > org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:172) > at > org.apache.cassandra.tools.SSTableMetadataViewer.main(SSTableMetadataViewer.java:52) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10587) sstablemetadata NPE on cassandra 2.2
[ https://issues.apache.org/jira/browse/CASSANDRA-10587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paulo Motta updated CASSANDRA-10587: Status: Ready to Commit (was: Patch Available) > sstablemetadata NPE on cassandra 2.2 > > > Key: CASSANDRA-10587 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10587 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Tiago Batista >Assignee: Yuki Morishita >Priority: Minor > Fix For: 2.2.x, 3.x > > > I have recently upgraded my cassandra cluster to 2.2, currently running > 2.2.3. After running the first repair, cassandra renames the sstables to the > new naming schema that does not contain the keyspace name. > This causes sstablemetadata to fail with the following stack trace: > {noformat} > Exception in thread "main" java.lang.NullPointerException > at > org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:275) > at > org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:172) > at > org.apache.cassandra.tools.SSTableMetadataViewer.main(SSTableMetadataViewer.java:52) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7881) SCHEMA_CHANGE Events and Responses should carry the Schema Version
[ https://issues.apache.org/jira/browse/CASSANDRA-7881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220108#comment-15220108 ] Tyler Hobbs commented on CASSANDRA-7881: I agree with your comments. Do you want to go ahead and resolve this as Won't Fix? > SCHEMA_CHANGE Events and Responses should carry the Schema Version > -- > > Key: CASSANDRA-7881 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7881 > Project: Cassandra > Issue Type: Sub-task >Reporter: Michaël Figuière >Assignee: Robert Stupp >Priority: Minor > Labels: client-impacting, protocolv4 > Fix For: 3.x > > Attachments: 7881.txt > > > For similar logging and debugging purpose as exposed in CASSANDRA-7880, it > would be helpful to send to the client the previous and new schema version > UUID that were in use before and after a schema change operation, in the > {{SCHEMA_CHANGE}} events and responses in the protocol v4. > This could then be exposed in the client APIs in order to bring much more > precise awareness of the actual status of the schema on each node. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11466) Add Dynamic Type to the Native Protocol
[ https://issues.apache.org/jira/browse/CASSANDRA-11466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-11466: -- Issue Type: Sub-task (was: Improvement) Parent: CASSANDRA-9362 > Add Dynamic Type to the Native Protocol > --- > > Key: CASSANDRA-11466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11466 > Project: Cassandra > Issue Type: Sub-task > Components: CQL >Reporter: Tyler Hobbs > Labels: client-impacting, doc-impacting > > There are several cases where the native protocol limits our ability to > support functions due to argument or result types that are only known at > execution time. For example, we can't support {{fromJson()}} in the > selection clause or {{toJson()}} outside of the selection clause. > To support these functions and other use cases, we should add a dynamic type > to the native protocol. The serialization format for this would be a > {{}} field (i.e. a numeric typecode, as defined in the native protocol > spec) followed by the serialized value. When deserializing values, drivers > would first read the typecode to determine the type, then decode the > remainder of the bytes accordingly. How this type information is exposed to > the end user is up to the driver authors. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10735) Support netty openssl (netty-tcnative) for client encryption
[ https://issues.apache.org/jira/browse/CASSANDRA-10735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220125#comment-15220125 ] Norman Maurer commented on CASSANDRA-10735: --- Actually you may want to assign this to me ? ;) > Support netty openssl (netty-tcnative) for client encryption > > > Key: CASSANDRA-10735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10735 > Project: Cassandra > Issue Type: Improvement >Reporter: Andy Tolbert >Assignee: Aleksey Yeschenko > Fix For: 3.x > > Attachments: netty-ssl-trunk.tgz, nettyssl-bench.tgz, > nettysslbench.png, nettysslbench_small.png, sslbench12-03.png > > > The java-driver recently added support for using netty openssl via > [netty-tcnative|http://netty.io/wiki/forked-tomcat-native.html] in > [JAVA-841|https://datastax-oss.atlassian.net/browse/JAVA-841], this shows a > very measured improvement (numbers incoming on that ticket). It seems > likely that this can offer improvement if implemented C* side as well. > Since netty-tcnative has platform specific requirements, this should not be > made the default, but rather be an option that one can use. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9371) Add SEQUENCE to schema-change response/event messages
[ https://issues.apache.org/jira/browse/CASSANDRA-9371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-9371: - Issue Type: Bug (was: Sub-task) Parent: (was: CASSANDRA-9362) > Add SEQUENCE to schema-change response/event messages > - > > Key: CASSANDRA-9371 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9371 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: Robert Stupp >Assignee: Robert Stupp > > Placeholder to indicate that CASSANDRA-9200 implies modification of the > native protocol. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9371) Add SEQUENCE to schema-change response/event messages
[ https://issues.apache.org/jira/browse/CASSANDRA-9371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-9371: - Issue Type: Task (was: Bug) > Add SEQUENCE to schema-change response/event messages > - > > Key: CASSANDRA-9371 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9371 > Project: Cassandra > Issue Type: Task > Components: CQL >Reporter: Robert Stupp >Assignee: Robert Stupp > > Placeholder to indicate that CASSANDRA-9200 implies modification of the > native protocol. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-11469) dtest failure in upgrade_internal_auth_test.TestAuthUpgrade.upgrade_to_22_test
Philip Thompson created CASSANDRA-11469: --- Summary: dtest failure in upgrade_internal_auth_test.TestAuthUpgrade.upgrade_to_22_test Key: CASSANDRA-11469 URL: https://issues.apache.org/jira/browse/CASSANDRA-11469 Project: Cassandra Issue Type: Bug Reporter: Philip Thompson Fix For: 2.2.x Upgrading from 2.1 to 2.2, we are seeing failures in upgrade_internal_auth_test.py. I have seen a variety of stack traces, but the most common is: {code} java.lang.IllegalArgumentException: Unknown keyspace/cf pair (system_auth.credentials) at org.apache.cassandra.db.Keyspace.getColumnFamilyStore(Keyspace.java:169) ~[main/:na] at org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1383) ~[main/:na] at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1277) ~[main/:na] at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:221) ~[main/:na] at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:176) ~[main/:na] at org.apache.cassandra.auth.PasswordAuthenticator.doAuthenticate(PasswordAuthenticator.java:143) ~[main/:na] at org.apache.cassandra.auth.PasswordAuthenticator.authenticate(PasswordAuthenticator.java:85) ~[main/:na] at org.apache.cassandra.auth.PasswordAuthenticator.access$100(PasswordAuthenticator.java:53) ~[main/:na] at org.apache.cassandra.auth.PasswordAuthenticator$PlainTextSaslAuthenticator.getAuthenticatedUser(PasswordAuthenticator.java:181) ~[main/:na] at org.apache.cassandra.transport.messages.AuthResponse.execute(AuthResponse.java:78) ~[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] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final] at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final] at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_51] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) [main/:na] at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [main/:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] {code} This failure is flaky, but not uncommon. I ran it 300 times here, and saw about 100 failures on CI: http://cassci.datastax.com/view/Parameterized/job/parameterized_dtest_multiplexer/53/testReport/ This is a recent failure, and given the type of failure, it seems like potentially a bug and not a test issue. [~beobal], you may be most interested in looking at this? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10735) Support netty openssl (netty-tcnative) for client encryption
[ https://issues.apache.org/jira/browse/CASSANDRA-10735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-10735: -- Assignee: Norman Maurer (was: Aleksey Yeschenko) > Support netty openssl (netty-tcnative) for client encryption > > > Key: CASSANDRA-10735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10735 > Project: Cassandra > Issue Type: Improvement >Reporter: Andy Tolbert >Assignee: Norman Maurer > Fix For: 3.x > > Attachments: netty-ssl-trunk.tgz, nettyssl-bench.tgz, > nettysslbench.png, nettysslbench_small.png, sslbench12-03.png > > > The java-driver recently added support for using netty openssl via > [netty-tcnative|http://netty.io/wiki/forked-tomcat-native.html] in > [JAVA-841|https://datastax-oss.atlassian.net/browse/JAVA-841], this shows a > very measured improvement (numbers incoming on that ticket). It seems > likely that this can offer improvement if implemented C* side as well. > Since netty-tcnative has platform specific requirements, this should not be > made the default, but rather be an option that one can use. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10735) Support netty openssl (netty-tcnative) for client encryption
[ https://issues.apache.org/jira/browse/CASSANDRA-10735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220130#comment-15220130 ] Aleksey Yeschenko commented on CASSANDRA-10735: --- bq. Actually you may want to assign this to me? As you wish (: > Support netty openssl (netty-tcnative) for client encryption > > > Key: CASSANDRA-10735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10735 > Project: Cassandra > Issue Type: Improvement >Reporter: Andy Tolbert >Assignee: Norman Maurer > Fix For: 3.x > > Attachments: netty-ssl-trunk.tgz, nettyssl-bench.tgz, > nettysslbench.png, nettysslbench_small.png, sslbench12-03.png > > > The java-driver recently added support for using netty openssl via > [netty-tcnative|http://netty.io/wiki/forked-tomcat-native.html] in > [JAVA-841|https://datastax-oss.atlassian.net/browse/JAVA-841], this shows a > very measured improvement (numbers incoming on that ticket). It seems > likely that this can offer improvement if implemented C* side as well. > Since netty-tcnative has platform specific requirements, this should not be > made the default, but rather be an option that one can use. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-7881) SCHEMA_CHANGE Events and Responses should carry the Schema Version
[ https://issues.apache.org/jira/browse/CASSANDRA-7881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp resolved CASSANDRA-7881. - Resolution: Won't Fix Fix Version/s: (was: 3.x) > SCHEMA_CHANGE Events and Responses should carry the Schema Version > -- > > Key: CASSANDRA-7881 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7881 > Project: Cassandra > Issue Type: Sub-task >Reporter: Michaël Figuière >Assignee: Robert Stupp >Priority: Minor > Labels: client-impacting, protocolv4 > Attachments: 7881.txt > > > For similar logging and debugging purpose as exposed in CASSANDRA-7880, it > would be helpful to send to the client the previous and new schema version > UUID that were in use before and after a schema change operation, in the > {{SCHEMA_CHANGE}} events and responses in the protocol v4. > This could then be exposed in the client APIs in order to bring much more > precise awareness of the actual status of the schema on each node. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10735) Support netty openssl (netty-tcnative) for client encryption
[ https://issues.apache.org/jira/browse/CASSANDRA-10735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220135#comment-15220135 ] Norman Maurer commented on CASSANDRA-10735: --- [~iamaleksey] you are fast buddy ;) > Support netty openssl (netty-tcnative) for client encryption > > > Key: CASSANDRA-10735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10735 > Project: Cassandra > Issue Type: Improvement >Reporter: Andy Tolbert >Assignee: Norman Maurer > Fix For: 3.x > > Attachments: netty-ssl-trunk.tgz, nettyssl-bench.tgz, > nettysslbench.png, nettysslbench_small.png, sslbench12-03.png > > > The java-driver recently added support for using netty openssl via > [netty-tcnative|http://netty.io/wiki/forked-tomcat-native.html] in > [JAVA-841|https://datastax-oss.atlassian.net/browse/JAVA-841], this shows a > very measured improvement (numbers incoming on that ticket). It seems > likely that this can offer improvement if implemented C* side as well. > Since netty-tcnative has platform specific requirements, this should not be > made the default, but rather be an option that one can use. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10735) Support netty openssl (netty-tcnative) for client encryption
[ https://issues.apache.org/jira/browse/CASSANDRA-10735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220139#comment-15220139 ] Aleksey Yeschenko commented on CASSANDRA-10735: --- [~norman] I hope you'll be too, mate (: > Support netty openssl (netty-tcnative) for client encryption > > > Key: CASSANDRA-10735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10735 > Project: Cassandra > Issue Type: Improvement >Reporter: Andy Tolbert >Assignee: Norman Maurer > Fix For: 3.x > > Attachments: netty-ssl-trunk.tgz, nettyssl-bench.tgz, > nettysslbench.png, nettysslbench_small.png, sslbench12-03.png > > > The java-driver recently added support for using netty openssl via > [netty-tcnative|http://netty.io/wiki/forked-tomcat-native.html] in > [JAVA-841|https://datastax-oss.atlassian.net/browse/JAVA-841], this shows a > very measured improvement (numbers incoming on that ticket). It seems > likely that this can offer improvement if implemented C* side as well. > Since netty-tcnative has platform specific requirements, this should not be > made the default, but rather be an option that one can use. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11310) Allow filtering on clustering columns for queries without secondary indexes
[ https://issues.apache.org/jira/browse/CASSANDRA-11310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer updated CASSANDRA-11310: --- Status: Patch Available (was: Open) > Allow filtering on clustering columns for queries without secondary indexes > --- > > Key: CASSANDRA-11310 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11310 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Benjamin Lerer >Assignee: Alex Petrov > Labels: doc-impacting > Fix For: 3.x > > > Since CASSANDRA-6377 queries without index filtering non-primary key columns > are fully supported. > It makes sense to also support filtering on clustering-columns. > {code} > CREATE TABLE emp_table2 ( > empID int, > firstname text, > lastname text, > b_mon text, > b_day text, > b_yr text, > PRIMARY KEY (empID, b_yr, b_mon, b_day)); > SELECT b_mon,b_day,b_yr,firstname,lastname FROM emp_table2 > WHERE b_mon='oct' ALLOW FILTERING; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11393) dtest failure in upgrade_tests.upgrade_through_versions_test.ProtoV3Upgrade_2_1_UpTo_3_0_HEAD.rolling_upgrade_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220159#comment-15220159 ] Philip Thompson commented on CASSANDRA-11393: - I am now also seeing this in another upgrade test, upgrade_internal_auth_test.py:TestAuthUpgrade.upgrade_to_30_test http://cassci.datastax.com/job/cassandra-3.0_dtest/633/testReport/upgrade_internal_auth_test/TestAuthUpgrade/upgrade_to_30_test/ > dtest failure in > upgrade_tests.upgrade_through_versions_test.ProtoV3Upgrade_2_1_UpTo_3_0_HEAD.rolling_upgrade_test > -- > > Key: CASSANDRA-11393 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11393 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Benjamin Lerer > Labels: dtest > Fix For: 3.0.x > > > We are seeing a failure in the upgrade tests that go from 2.1 to 3.0 > {code} > node2: ERROR [SharedPool-Worker-2] 2016-03-10 20:05:17,865 Message.java:611 - > Unexpected exception during request; channel = [id: 0xeb79b477, > /127.0.0.1:39613 => /127.0.0.2:9042] > java.lang.AssertionError: null > at > org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer.serializedSize(ReadCommand.java:1208) > ~[main/:na] > at > org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer.serializedSize(ReadCommand.java:1155) > ~[main/:na] > at org.apache.cassandra.net.MessageOut.payloadSize(MessageOut.java:166) > ~[main/:na] > at > org.apache.cassandra.net.OutboundTcpConnectionPool.getConnection(OutboundTcpConnectionPool.java:72) > ~[main/:na] > at > org.apache.cassandra.net.MessagingService.getConnection(MessagingService.java:609) > ~[main/:na] > at > org.apache.cassandra.net.MessagingService.sendOneWay(MessagingService.java:758) > ~[main/:na] > at > org.apache.cassandra.net.MessagingService.sendRR(MessagingService.java:701) > ~[main/:na] > at > org.apache.cassandra.net.MessagingService.sendRRWithFailure(MessagingService.java:684) > ~[main/:na] > at > org.apache.cassandra.service.AbstractReadExecutor.makeRequests(AbstractReadExecutor.java:110) > ~[main/:na] > at > org.apache.cassandra.service.AbstractReadExecutor.makeDataRequests(AbstractReadExecutor.java:85) > ~[main/:na] > at > org.apache.cassandra.service.AbstractReadExecutor$AlwaysSpeculatingReadExecutor.executeAsync(AbstractReadExecutor.java:330) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.doInitialQueries(StorageProxy.java:1699) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1654) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1601) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1520) > ~[main/:na] > at > org.apache.cassandra.db.SinglePartitionReadCommand.execute(SinglePartitionReadCommand.java:302) > ~[main/:na] > at > org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:67) > ~[main/:na] > at > org.apache.cassandra.service.pager.SinglePartitionPager.fetchPage(SinglePartitionPager.java:34) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$Pager$NormalPager.fetchPage(SelectStatement.java:297) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:333) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:209) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:76) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:206) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:472) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:449) > ~[main/:na] > at > org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:130) > ~[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] > at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) > [netty-all-4.0.23.Final.jar:4.0.23.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) > [netty-all-4.0.23.Final.jar:4.0.23.Final]
[jira] [Commented] (CASSANDRA-11310) Allow filtering on clustering columns for queries without secondary indexes
[ https://issues.apache.org/jira/browse/CASSANDRA-11310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220158#comment-15220158 ] Benjamin Lerer commented on CASSANDRA-11310: Thanks the changes look good. Waiting for CI results. > Allow filtering on clustering columns for queries without secondary indexes > --- > > Key: CASSANDRA-11310 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11310 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Benjamin Lerer >Assignee: Alex Petrov > Labels: doc-impacting > Fix For: 3.x > > > Since CASSANDRA-6377 queries without index filtering non-primary key columns > are fully supported. > It makes sense to also support filtering on clustering-columns. > {code} > CREATE TABLE emp_table2 ( > empID int, > firstname text, > lastname text, > b_mon text, > b_day text, > b_yr text, > PRIMARY KEY (empID, b_yr, b_mon, b_day)); > SELECT b_mon,b_day,b_yr,firstname,lastname FROM emp_table2 > WHERE b_mon='oct' ALLOW FILTERING; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11452) Cache implementation using LIRS eviction for in-process page cache
[ https://issues.apache.org/jira/browse/CASSANDRA-11452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220189#comment-15220189 ] Branimir Lambov commented on CASSANDRA-11452: - Work in progress attached [here|https://github.com/blambov/cassandra/tree/5863-cache-implementation]: Implements caches based on {{ConcurrentHashMap}} using FIFO, LRU and LIRS eviction strategies, implemented with lock-free queues. Also has version of the LIRS with some locking, as well as EHCache (too slow) for comparison. LIRS does achieve better hit ratios, very obviously so for smaller cache-to-data ratios. Its latencies and throughput are similar to the Guava cache. [Sample hit rates (using the included {{CachingBench}}) and varying the cache size)|https://docs.google.com/spreadsheets/d/1FlOFIMidbRXIXbu6wAEDBsyCiFE95XiwVz9aE7iYuh4/edit?usp=sharing] [cstar_perf|http://cstar.datastax.com/tests/id/a7389154-f756-11e5-82e5-0256e416528f] Next step: try an alternative for the concurrent hash map. > Cache implementation using LIRS eviction for in-process page cache > -- > > Key: CASSANDRA-11452 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11452 > Project: Cassandra > Issue Type: Improvement > Components: Local Write-Read Paths >Reporter: Branimir Lambov >Assignee: Branimir Lambov > > Following up from CASSANDRA-5863, to make best use of caching and to avoid > having to explicitly marking compaction accesses as non-cacheable, we need a > cache implementation that uses an eviction algorithm that can better handle > non-recurring accesses. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-11452) Cache implementation using LIRS eviction for in-process page cache
[ https://issues.apache.org/jira/browse/CASSANDRA-11452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220189#comment-15220189 ] Branimir Lambov edited comment on CASSANDRA-11452 at 3/31/16 4:47 PM: -- Work in progress attached [here|https://github.com/blambov/cassandra/compare/5863-page-cache-4-rebase...blambov:5863-cache-implementation]: Implements caches based on {{ConcurrentHashMap}} using FIFO, LRU and LIRS eviction strategies, implemented with lock-free queues. Also has version of the LIRS with some locking, as well as EHCache (too slow) for comparison. LIRS does achieve better hit ratios, very obviously so for smaller cache-to-data ratios. Its latencies and throughput are similar to the Guava cache. [Sample hit rates (using the included {{CachingBench}}) and varying the cache size)|https://docs.google.com/spreadsheets/d/1FlOFIMidbRXIXbu6wAEDBsyCiFE95XiwVz9aE7iYuh4/edit?usp=sharing] [cstar_perf|http://cstar.datastax.com/tests/id/a7389154-f756-11e5-82e5-0256e416528f] Next step: try an alternative for the concurrent hash map. was (Author: blambov): Work in progress attached [here|https://github.com/blambov/cassandra/tree/5863-cache-implementation]: Implements caches based on {{ConcurrentHashMap}} using FIFO, LRU and LIRS eviction strategies, implemented with lock-free queues. Also has version of the LIRS with some locking, as well as EHCache (too slow) for comparison. LIRS does achieve better hit ratios, very obviously so for smaller cache-to-data ratios. Its latencies and throughput are similar to the Guava cache. [Sample hit rates (using the included {{CachingBench}}) and varying the cache size)|https://docs.google.com/spreadsheets/d/1FlOFIMidbRXIXbu6wAEDBsyCiFE95XiwVz9aE7iYuh4/edit?usp=sharing] [cstar_perf|http://cstar.datastax.com/tests/id/a7389154-f756-11e5-82e5-0256e416528f] Next step: try an alternative for the concurrent hash map. > Cache implementation using LIRS eviction for in-process page cache > -- > > Key: CASSANDRA-11452 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11452 > Project: Cassandra > Issue Type: Improvement > Components: Local Write-Read Paths >Reporter: Branimir Lambov >Assignee: Branimir Lambov > > Following up from CASSANDRA-5863, to make best use of caching and to avoid > having to explicitly marking compaction accesses as non-cacheable, we need a > cache implementation that uses an eviction algorithm that can better handle > non-recurring accesses. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-11470) dtest failure in materialized_views_test.TestMaterializedViews.base_replica_repair_test
Philip Thompson created CASSANDRA-11470: --- Summary: dtest failure in materialized_views_test.TestMaterializedViews.base_replica_repair_test Key: CASSANDRA-11470 URL: https://issues.apache.org/jira/browse/CASSANDRA-11470 Project: Cassandra Issue Type: Test Reporter: Philip Thompson Assignee: DS Test Eng Attachments: node1.log, node2.log, node2_debug.log, node3.log, node3_debug.log base_replica_repair_test has failed on trunk with the following exception in the log of node2: {code} ERROR [main] 2016-03-31 08:48:46,949 CassandraDaemon.java:708 - Exception encountered during startup java.lang.RuntimeException: Failed to list files in /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985 at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53) ~[main/:na] at org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:547) ~[main/:na] at org.apache.cassandra.db.Directories$SSTableLister.filter(Directories.java:725) ~[main/:na] at org.apache.cassandra.db.Directories$SSTableLister.list(Directories.java:690) ~[main/:na] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:567) ~[main/:na] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:555) ~[main/:na] at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:383) ~[main/:na] at org.apache.cassandra.db.Keyspace.(Keyspace.java:320) ~[main/:na] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:130) ~[main/:na] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:107) ~[main/:na] at org.apache.cassandra.cql3.restrictions.StatementRestrictions.(StatementRestrictions.java:139) ~[main/:na] at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:864) ~[main/:na] at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:811) ~[main/:na] at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:799) ~[main/:na] at org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:505) ~[main/:na] at org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:242) ~[main/:na] at org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:286) ~[main/:na] at org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:294) ~[main/:na] at org.apache.cassandra.schema.SchemaKeyspace.query(SchemaKeyspace.java:1246) ~[main/:na] at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:875) ~[main/:na] at org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:867) ~[main/:na] at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:134) ~[main/:na] at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:124) ~[main/:na] at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:229) [main/:na] at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) [main/:na] at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:691) [main/:na] Caused by: java.lang.RuntimeException: Failed to list directory files in /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985, inconsistent disk state for transaction [ma_txn_flush_58db56b0-f71d-11e5-bf68-03a01adb9f11.log in /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985] at org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:149) ~[main/:na] at org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:103) ~[main/:na] at org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$48/35984028.accept(Unknown Source) ~[na:na] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:1.8.0_45] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[na:1.8.0_45] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) ~[na:1.8.0_45] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) ~[na:1.8.0_45] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[na:1.8.0_45] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:1.8.0_45] at java.util.stream.ForEachO
[jira] [Updated] (CASSANDRA-11470) dtest failure in materialized_views_test.TestMaterializedViews.base_replica_repair_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-11470: Issue Type: Bug (was: Test) > dtest failure in > materialized_views_test.TestMaterializedViews.base_replica_repair_test > --- > > Key: CASSANDRA-11470 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11470 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: DS Test Eng > Labels: dtest > Attachments: node1.log, node2.log, node2_debug.log, node3.log, > node3_debug.log > > > base_replica_repair_test has failed on trunk with the following exception in > the log of node2: > {code} > ERROR [main] 2016-03-31 08:48:46,949 CassandraDaemon.java:708 - Exception > encountered during startup > java.lang.RuntimeException: Failed to list files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985 > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:547) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.filter(Directories.java:725) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.list(Directories.java:690) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:567) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:555) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:383) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.(Keyspace.java:320) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:130) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:107) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.(StatementRestrictions.java:139) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:864) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:811) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:799) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:505) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:242) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:286) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:294) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.query(SchemaKeyspace.java:1246) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:875) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:867) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:134) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:124) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:229) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:691) > [main/:na] > Caused by: java.lang.RuntimeException: Failed to list directory files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985, > inconsistent disk state for transaction > [ma_txn_flush_58db56b0-f71d-11e5-bf68-03a01adb9f11.log in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:149) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:103) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$48/35984028.accept(Unknown > Source) ~[na:na] > at > java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) > ~[na:1.8.0_45] > at > java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:
[jira] [Updated] (CASSANDRA-11470) dtest failure in materialized_views_test.TestMaterializedViews.base_replica_repair_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-11470: Assignee: (was: DS Test Eng) > dtest failure in > materialized_views_test.TestMaterializedViews.base_replica_repair_test > --- > > Key: CASSANDRA-11470 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11470 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson > Labels: dtest > Attachments: node1.log, node2.log, node2_debug.log, node3.log, > node3_debug.log > > > base_replica_repair_test has failed on trunk with the following exception in > the log of node2: > {code} > ERROR [main] 2016-03-31 08:48:46,949 CassandraDaemon.java:708 - Exception > encountered during startup > java.lang.RuntimeException: Failed to list files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985 > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:547) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.filter(Directories.java:725) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.list(Directories.java:690) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:567) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:555) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:383) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.(Keyspace.java:320) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:130) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:107) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.(StatementRestrictions.java:139) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:864) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:811) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:799) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:505) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:242) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:286) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:294) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.query(SchemaKeyspace.java:1246) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:875) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:867) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:134) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:124) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:229) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:691) > [main/:na] > Caused by: java.lang.RuntimeException: Failed to list directory files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985, > inconsistent disk state for transaction > [ma_txn_flush_58db56b0-f71d-11e5-bf68-03a01adb9f11.log in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:149) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:103) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$48/35984028.accept(Unknown > Source) ~[na:na] > at > java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) > ~[na:1.8.0_45] > at > java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) > ~[na:1.8.0_45] >
[jira] [Updated] (CASSANDRA-11470) dtest failure in materialized_views_test.TestMaterializedViews.base_replica_repair_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-11470: Fix Version/s: 3.x > dtest failure in > materialized_views_test.TestMaterializedViews.base_replica_repair_test > --- > > Key: CASSANDRA-11470 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11470 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson > Labels: dtest > Fix For: 3.x > > Attachments: node1.log, node2.log, node2_debug.log, node3.log, > node3_debug.log > > > base_replica_repair_test has failed on trunk with the following exception in > the log of node2: > {code} > ERROR [main] 2016-03-31 08:48:46,949 CassandraDaemon.java:708 - Exception > encountered during startup > java.lang.RuntimeException: Failed to list files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985 > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:547) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.filter(Directories.java:725) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.list(Directories.java:690) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:567) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:555) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:383) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.(Keyspace.java:320) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:130) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:107) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.(StatementRestrictions.java:139) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:864) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:811) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:799) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:505) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:242) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:286) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:294) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.query(SchemaKeyspace.java:1246) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:875) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:867) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:134) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:124) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:229) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:691) > [main/:na] > Caused by: java.lang.RuntimeException: Failed to list directory files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985, > inconsistent disk state for transaction > [ma_txn_flush_58db56b0-f71d-11e5-bf68-03a01adb9f11.log in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:149) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:103) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$48/35984028.accept(Unknown > Source) ~[na:na] > at > java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) > ~[na:1.8.0_45] > at > java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) > ~[na:1.8
[jira] [Commented] (CASSANDRA-11465) dtest failure in cql_tracing_test.TestCqlTracing.tracing_unknown_impl_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220227#comment-15220227 ] Philip Thompson commented on CASSANDRA-11465: - Also seeing the failure in tracing_default_impl_test http://cassci.datastax.com/job/trunk_novnode_dtest/337/testReport/cql_tracing_test/TestCqlTracing/tracing_default_impl_test/ > dtest failure in cql_tracing_test.TestCqlTracing.tracing_unknown_impl_test > -- > > Key: CASSANDRA-11465 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11465 > Project: Cassandra > Issue Type: Test >Reporter: Philip Thompson >Assignee: DS Test Eng > Labels: dtest > > Failing on the following assert, on trunk only: > {{self.assertEqual(len(errs[0]), 1)}} > Is not failing consistently. > example failure: > http://cassci.datastax.com/job/trunk_dtest/1087/testReport/cql_tracing_test/TestCqlTracing/tracing_unknown_impl_test > Failed on CassCI build trunk_dtest #1087 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11446) dtest failure in scrub_test.TestScrub.test_nodetool_scrub
[ https://issues.apache.org/jira/browse/CASSANDRA-11446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220241#comment-15220241 ] Jim Witschey commented on CASSANDRA-11446: -- This may just be noise that can be addressed by adding a {{.sleep}}, which I've done in this PR: https://github.com/riptano/cassandra-dtest/pull/904 > dtest failure in scrub_test.TestScrub.test_nodetool_scrub > - > > Key: CASSANDRA-11446 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11446 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Jim Witschey > Labels: dtest > > test_nodetool_scrub is failing on trunk with offheap memtables. The failure > is in this assertion: > {{self.assertEqual(initial_sstables, scrubbed_sstables)}} > Example failure: > http://cassci.datastax.com/job/trunk_offheap_dtest/95/testReport/scrub_test/TestScrub/test_nodetool_scrub/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (CASSANDRA-11465) dtest failure in cql_tracing_test.TestCqlTracing.tracing_unknown_impl_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jim Witschey reassigned CASSANDRA-11465: Assignee: Jim Witschey (was: DS Test Eng) > dtest failure in cql_tracing_test.TestCqlTracing.tracing_unknown_impl_test > -- > > Key: CASSANDRA-11465 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11465 > Project: Cassandra > Issue Type: Test >Reporter: Philip Thompson >Assignee: Jim Witschey > Labels: dtest > > Failing on the following assert, on trunk only: > {{self.assertEqual(len(errs[0]), 1)}} > Is not failing consistently. > example failure: > http://cassci.datastax.com/job/trunk_dtest/1087/testReport/cql_tracing_test/TestCqlTracing/tracing_unknown_impl_test > Failed on CassCI build trunk_dtest #1087 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11470) dtest failure in materialized_views_test.TestMaterializedViews.base_replica_repair_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220248#comment-15220248 ] Philip Thompson commented on CASSANDRA-11470: - This appears to have nothing to do with MV. I am now also seeing in in readrepair_test on trunk http://cassci.datastax.com/job/trunk_offheap_dtest/100/testReport/ > dtest failure in > materialized_views_test.TestMaterializedViews.base_replica_repair_test > --- > > Key: CASSANDRA-11470 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11470 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson > Labels: dtest > Fix For: 3.x > > Attachments: node1.log, node2.log, node2_debug.log, node3.log, > node3_debug.log > > > base_replica_repair_test has failed on trunk with the following exception in > the log of node2: > {code} > ERROR [main] 2016-03-31 08:48:46,949 CassandraDaemon.java:708 - Exception > encountered during startup > java.lang.RuntimeException: Failed to list files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985 > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:547) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.filter(Directories.java:725) > ~[main/:na] > at > org.apache.cassandra.db.Directories$SSTableLister.list(Directories.java:690) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:567) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:555) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:383) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.(Keyspace.java:320) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:130) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:107) > ~[main/:na] > at > org.apache.cassandra.cql3.restrictions.StatementRestrictions.(StatementRestrictions.java:139) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:864) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:811) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:799) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:505) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:242) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:286) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:294) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.query(SchemaKeyspace.java:1246) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:875) > ~[main/:na] > at > org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:867) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:134) > ~[main/:na] > at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:124) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:229) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:691) > [main/:na] > Caused by: java.lang.RuntimeException: Failed to list directory files in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985, > inconsistent disk state for transaction > [ma_txn_flush_58db56b0-f71d-11e5-bf68-03a01adb9f11.log in > /mnt/tmp/dtest-du964e/test/node2/data0/system_schema/views-9786ac1cdd583201a7cdad556410c985] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:149) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister.classifyFiles(LogAwareFileLister.java:103) > ~[main/:na] > at > org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$48/35984028.accept(Unknown > Source) ~[na:na] >
[jira] [Updated] (CASSANDRA-10201) Row cache compression
[ https://issues.apache.org/jira/browse/CASSANDRA-10201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-10201: - Assignee: (was: Robert Stupp) > Row cache compression > - > > Key: CASSANDRA-10201 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10201 > Project: Cassandra > Issue Type: Sub-task >Reporter: Robert Stupp >Priority: Minor > Fix For: 3.x > > > Compressing the contents of the row cache _may_ buy some performance benefit > by increasing hit ratio due to allowing more data in the row cache. > This would obviously only work if the data really allows good compression > ratio. > (This is not a high priority ticket but feels useful enough to have it in the > backlog.) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10189) Unify read/writeUTF code paths
[ https://issues.apache.org/jira/browse/CASSANDRA-10189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-10189: - Assignee: (was: Robert Stupp) > Unify read/writeUTF code paths > -- > > Key: CASSANDRA-10189 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10189 > Project: Cassandra > Issue Type: Improvement >Reporter: Robert Stupp > > (Follow-up to CASSANDRA-9738 and CASSANDRA-8670) > CASSANDRA-9738 requires {{writeUTF}} functionality that has been improved in > CASSANDRA-8670 plus {{readUTF}} functionality. But we need slightly different > signatures - one taking {{DataInput}}/{{DataOutput}} and one taking > {{ByteBuffer}}. > We can combine both code paths and benefit from a shared, thread-local byte > buffer. > Slightly different implementations are needed for array backed and direct BBs > (as we can directly access the backing array bypassing the direct BB's > boundary checks). > (Part of this has already been done for CASSANDRA-9738 in > {{OHCKeyCache.SerializationUtil}}) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10081) Remove cache related code from CompactionManager
[ https://issues.apache.org/jira/browse/CASSANDRA-10081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-10081: - Assignee: (was: Robert Stupp) > Remove cache related code from CompactionManager > > > Key: CASSANDRA-10081 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10081 > Project: Cassandra > Issue Type: Improvement >Reporter: Robert Stupp > > Code to asynchronously save a cache is made from {{AutoSavingCache}} via > {{CompactionManager}} to {{AutoSavingCache.Writer}}. > The only reason why this is how it is, is to keep track of cache-save > progress. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10039) Make UDF script sandbox more robust against Nashorn internal changes
[ https://issues.apache.org/jira/browse/CASSANDRA-10039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-10039: - Assignee: (was: Robert Stupp) > Make UDF script sandbox more robust against Nashorn internal changes > > > Key: CASSANDRA-10039 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10039 > Project: Cassandra > Issue Type: Improvement >Reporter: Robert Stupp > Fix For: 3.x > > > {{UFPureScriptTest}} doesn't work against Java 1.8.0_25 but with recent > versions (1.8.0_51 for example). > Need to find a way to make this more robust against future Nashorn changes. > /cc [~aweisberg] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9756) Cleanup UDA code after 6717
[ https://issues.apache.org/jira/browse/CASSANDRA-9756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-9756: Assignee: (was: Robert Stupp) > Cleanup UDA code after 6717 > --- > > Key: CASSANDRA-9756 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9756 > Project: Cassandra > Issue Type: Task >Reporter: Robert Stupp >Priority: Minor > Fix For: 3.x > > > After CASSANDRA-6717 has landed, there should be some cleanup of UDF/UDA code > wrt load from schema tables and handling broken functions. > /cc [~iamaleksey] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7597) Remove static initializer in DatabaseDescriptor
[ https://issues.apache.org/jira/browse/CASSANDRA-7597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-7597: Assignee: (was: Robert Stupp) > Remove static initializer in DatabaseDescriptor > --- > > Key: CASSANDRA-7597 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7597 > Project: Cassandra > Issue Type: Improvement > Environment: Cassandra 2.0.9 (earlier version should be affected as > well) >Reporter: Pavel Sakun > Attachments: 7597.txt > > > As discussed below, it's difficult to properly react on invalid configuration > values in a client tool that uses cassandra code (here: an sstable loader). > Reason is that the static initializer in DatabaseDescriptor calls System.exit > in case of configuration failures. > Recommend to implement some "loadAndApplyConfig" method on DatabaseDescriptor > and remove the static initializer and let the calling code react accordingly > (print error, exit VM). > All direct and indirect uses of DatabaseDescriptor must be catched to solve > this ticket - so this is not a 2.1 ticket. > -- > Old Description: > We're using SSTableSimpleUnsortedWriter API to generate SSTable to be loaded > into cassandra. In case of any issue with config DatabaseDescriptor calls > System.exit() which is apparently not the thing you expect while using API. > Test case is simple: > System.setProperty( "cassandra.config", "" ); > new YamlConfigurationLoader().loadConfig(); > Thread.sleep( 5000 ); > System.out.println("We're still alive"); // this will never be called -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8929) Workload sampling
[ https://issues.apache.org/jira/browse/CASSANDRA-8929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-8929: Assignee: (was: Robert Stupp) > Workload sampling > - > > Key: CASSANDRA-8929 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8929 > Project: Cassandra > Issue Type: New Feature > Components: Tools >Reporter: Jonathan Ellis > > Workload *recording* looks to be unworkable (CASSANDRA-6572). We could build > something almost as useful by sampling the requests sent to a node and > building a synthetic workload with the same characteristics using the same > (or anonymized) schema. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9200) Sequences
[ https://issues.apache.org/jira/browse/CASSANDRA-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-9200: Assignee: (was: Robert Stupp) > Sequences > - > > Key: CASSANDRA-9200 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9200 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis > Fix For: 3.x > > > UUIDs are usually the right choice for surrogate keys, but sometimes > application constraints dictate an increasing numeric value. > We could do this by using LWT to reserve "blocks" of the sequence for each > member of the cluster, which would eliminate paxos contention at the cost of > not being strictly increasing. > PostgreSQL syntax: > http://www.postgresql.org/docs/9.4/static/sql-createsequence.html -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9626) Make C* work in all locales
[ https://issues.apache.org/jira/browse/CASSANDRA-9626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-9626: Assignee: (was: Robert Stupp) > Make C* work in all locales > --- > > Key: CASSANDRA-9626 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9626 > Project: Cassandra > Issue Type: Improvement >Reporter: Robert Stupp >Priority: Minor > Attachments: 9626.txt > > > Default locale and default charset has immediate effect on how strings are > encoded and handles - e.g. via {{String.toLowerCase()}} or {{new > String(byte[])}}. > Problems with different default locales + charsets don't become obvious for > US and most European regional settings. But some regional OS settings will > cause severe errors. Example: {{"BILLY".toLowerCase()}} returns {{bılly}} > with Locale tr_TR (take a look at the second letter - it's an i without the > dot). > (ref: > http://blog.thetaphi.de/2012/07/default-locales-default-charsets-and.html) > It's not a problem I'm currently facing, but it could become a problem for > some users. A quick fix could be to set default locale and charset in the > start scripts - maybe that's all we need. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11471) Add SASL mechanism negotiation to the native protocol
[ https://issues.apache.org/jira/browse/CASSANDRA-11471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220267#comment-15220267 ] Sam Tunnicliffe commented on CASSANDRA-11471: - See CASSANDRA-10956 for some initial discussion. > Add SASL mechanism negotiation to the native protocol > - > > Key: CASSANDRA-11471 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11471 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Sam Tunnicliffe > Labels: client-impacting > > Introducing an additional message exchange into the authentication sequence > would allow us to support multiple authentication schemes and [negotiation of > SASL mechanisms|https://tools.ietf.org/html/rfc4422#section-3.2]. > The current {{AUTHENTICATE}} message sent from Client to Server includes the > java classname of the configured {{IAuthenticator}}. This could be superceded > by a new message which lists the SASL mechanisms supported by the server. The > client would then respond with a new message which indicates it's choice of > mechanism. This would allow the server to support multiple mechanisms, for > example enabling both {{PLAIN}} for username/password authentication and > {{EXTERNAL}} for a mechanism for extracting credentials from SSL > certificates\* (see the example in > [RFC-4422|https://tools.ietf.org/html/rfc4422#appendix-A]). Furthermore, the > server could tailor the list of supported mechanisms on a per-connection > basis, e.g. only offering certificate based auth to encrypted clients. > The client's response should include the selected mechanism and any initial > response data. This is mechanism-specific; the {{PLAIN}} mechanism consists > of a single round in which the client sends encoded credentials as the > initial response data and the server response indicates either success or > failure with no futher challenges required. > From a protocol perspective, after the mechanism negotiation the exchange > would continue as in protocol v4, with one or more rounds of > {{AUTH_CHALLENGE}} and {{AUTH_RESPONSE}} messages, terminated by an > {{AUTH_SUCCESS}} sent from Client to Server upon successful authentication or > an {{ERROR}} on auth failure. > XMPP performs mechanism negotiation in this way, > [RFC-3920|http://tools.ietf.org/html/rfc3920#section-6] includes a good > overview. > \* Note: this would require some a priori agreement between client and server > over the implementation of the {{EXTERNAL}} mechanism. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-11471) Add SASL mechanism negotiation to the native protocol
Sam Tunnicliffe created CASSANDRA-11471: --- Summary: Add SASL mechanism negotiation to the native protocol Key: CASSANDRA-11471 URL: https://issues.apache.org/jira/browse/CASSANDRA-11471 Project: Cassandra Issue Type: Improvement Components: CQL Reporter: Sam Tunnicliffe Introducing an additional message exchange into the authentication sequence would allow us to support multiple authentication schemes and [negotiation of SASL mechanisms|https://tools.ietf.org/html/rfc4422#section-3.2]. The current {{AUTHENTICATE}} message sent from Client to Server includes the java classname of the configured {{IAuthenticator}}. This could be superceded by a new message which lists the SASL mechanisms supported by the server. The client would then respond with a new message which indicates it's choice of mechanism. This would allow the server to support multiple mechanisms, for example enabling both {{PLAIN}} for username/password authentication and {{EXTERNAL}} for a mechanism for extracting credentials from SSL certificates\* (see the example in [RFC-4422|https://tools.ietf.org/html/rfc4422#appendix-A]). Furthermore, the server could tailor the list of supported mechanisms on a per-connection basis, e.g. only offering certificate based auth to encrypted clients. The client's response should include the selected mechanism and any initial response data. This is mechanism-specific; the {{PLAIN}} mechanism consists of a single round in which the client sends encoded credentials as the initial response data and the server response indicates either success or failure with no futher challenges required. >From a protocol perspective, after the mechanism negotiation the exchange >would continue as in protocol v4, with one or more rounds of >{{AUTH_CHALLENGE}} and {{AUTH_RESPONSE}} messages, terminated by an >{{AUTH_SUCCESS}} sent from Client to Server upon successful authentication or >an {{ERROR}} on auth failure. XMPP performs mechanism negotiation in this way, [RFC-3920|http://tools.ietf.org/html/rfc3920#section-6] includes a good overview. \* Note: this would require some a priori agreement between client and server over the implementation of the {{EXTERNAL}} mechanism. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10956) Enable authentication of native protocol users via client certificates
[ https://issues.apache.org/jira/browse/CASSANDRA-10956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sam Tunnicliffe updated CASSANDRA-10956: Resolution: Won't Fix Status: Resolved (was: Patch Available) I've opened CASSANDRA-11471 to add SASL mechanism negotiation to the native protocol. As per the comments, we can re-open this later should we need to. > Enable authentication of native protocol users via client certificates > -- > > Key: CASSANDRA-10956 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10956 > Project: Cassandra > Issue Type: New Feature >Reporter: Samuel Klock >Assignee: Samuel Klock > Attachments: 10956.patch > > > Currently, the native protocol only supports user authentication via SASL. > While this is adequate for many use cases, it may be superfluous in scenarios > where clients are required to present an SSL certificate to connect to the > server. If the certificate presented by a client is sufficient by itself to > specify a user, then an additional (series of) authentication step(s) via > SASL merely add overhead. Worse, for uses wherein it's desirable to obtain > the identity from the client's certificate, it's necessary to implement a > custom SASL mechanism to do so, which increases the effort required to > maintain both client and server and which also duplicates functionality > already provided via SSL/TLS. > Cassandra should provide a means of using certificates for user > authentication in the native protocol without any effort above configuring > SSL on the client and server. Here's a possible strategy: > * Add a new authenticator interface that returns {{AuthenticatedUser}} > objects based on the certificate chain presented by the client. > * If this interface is in use, the user is authenticated immediately after > the server receives the {{STARTUP}} message. It then responds with a > {{READY}} message. > * Otherwise, the existing flow of control is used (i.e., if the authenticator > requires authentication, then an {{AUTHENTICATE}} message is sent to the > client). > One advantage of this strategy is that it is backwards-compatible with > existing schemes; current users of SASL/{{IAuthenticator}} are not impacted. > Moreover, it can function as a drop-in replacement for SASL schemes without > requiring code changes (or even config changes) on the client side. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11471) Add SASL mechanism negotiation to the native protocol
[ https://issues.apache.org/jira/browse/CASSANDRA-11471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sam Tunnicliffe updated CASSANDRA-11471: Description: Introducing an additional message exchange into the authentication sequence would allow us to support multiple authentication schemes and [negotiation of SASL mechanisms|https://tools.ietf.org/html/rfc4422#section-3.2]. The current {{AUTHENTICATE}} message sent from Client to Server includes the java classname of the configured {{IAuthenticator}}. This could be superceded by a new message which lists the SASL mechanisms supported by the server. The client would then respond with a new message which indicates it's choice of mechanism. This would allow the server to support multiple mechanisms, for example enabling both {{PLAIN}} for username/password authentication and {{EXTERNAL}} for a mechanism for extracting credentials from SSL certificates\* (see the example in [RFC-4422|https://tools.ietf.org/html/rfc4422#appendix-A]). Furthermore, the server could tailor the list of supported mechanisms on a per-connection basis, e.g. only offering certificate based auth to encrypted clients. The client's response should include the selected mechanism and any initial response data. This is mechanism-specific; the {{PLAIN}} mechanism consists of a single round in which the client sends encoded credentials as the initial response data and the server response indicates either success or failure with no futher challenges required. >From a protocol perspective, after the mechanism negotiation the exchange >would continue as in protocol v4, with one or more rounds of >{{AUTH_CHALLENGE}} and {{AUTH_RESPONSE}} messages, terminated by an >{{AUTH_SUCCESS}} sent from Server to Client upon successful authentication or >an {{ERROR}} on auth failure. XMPP performs mechanism negotiation in this way, [RFC-3920|http://tools.ietf.org/html/rfc3920#section-6] includes a good overview. \* Note: this would require some a priori agreement between client and server over the implementation of the {{EXTERNAL}} mechanism. was: Introducing an additional message exchange into the authentication sequence would allow us to support multiple authentication schemes and [negotiation of SASL mechanisms|https://tools.ietf.org/html/rfc4422#section-3.2]. The current {{AUTHENTICATE}} message sent from Client to Server includes the java classname of the configured {{IAuthenticator}}. This could be superceded by a new message which lists the SASL mechanisms supported by the server. The client would then respond with a new message which indicates it's choice of mechanism. This would allow the server to support multiple mechanisms, for example enabling both {{PLAIN}} for username/password authentication and {{EXTERNAL}} for a mechanism for extracting credentials from SSL certificates\* (see the example in [RFC-4422|https://tools.ietf.org/html/rfc4422#appendix-A]). Furthermore, the server could tailor the list of supported mechanisms on a per-connection basis, e.g. only offering certificate based auth to encrypted clients. The client's response should include the selected mechanism and any initial response data. This is mechanism-specific; the {{PLAIN}} mechanism consists of a single round in which the client sends encoded credentials as the initial response data and the server response indicates either success or failure with no futher challenges required. >From a protocol perspective, after the mechanism negotiation the exchange >would continue as in protocol v4, with one or more rounds of >{{AUTH_CHALLENGE}} and {{AUTH_RESPONSE}} messages, terminated by an >{{AUTH_SUCCESS}} sent from Client to Server upon successful authentication or >an {{ERROR}} on auth failure. XMPP performs mechanism negotiation in this way, [RFC-3920|http://tools.ietf.org/html/rfc3920#section-6] includes a good overview. \* Note: this would require some a priori agreement between client and server over the implementation of the {{EXTERNAL}} mechanism. > Add SASL mechanism negotiation to the native protocol > - > > Key: CASSANDRA-11471 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11471 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Sam Tunnicliffe > Labels: client-impacting > > Introducing an additional message exchange into the authentication sequence > would allow us to support multiple authentication schemes and [negotiation of > SASL mechanisms|https://tools.ietf.org/html/rfc4422#section-3.2]. > The current {{AUTHENTICATE}} message sent from Client to Server includes the > java classname of the configured {{IAuthenticator}}. This could be superceded > by a new message which lists the SASL mechanisms sup
[jira] [Updated] (CASSANDRA-11402) Alignment wrong in tpstats output for PerDiskMemtableFlushWriter
[ https://issues.apache.org/jira/browse/CASSANDRA-11402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ryan Magnusson updated CASSANDRA-11402: --- Attachment: 11402-trunk.txt > Alignment wrong in tpstats output for PerDiskMemtableFlushWriter > > > Key: CASSANDRA-11402 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11402 > Project: Cassandra > Issue Type: Bug >Reporter: Joel Knighton >Priority: Trivial > Labels: lhf > Attachments: 11402-trunk.txt > > > With the accompanying designation of which memtableflushwriter it is, this > threadpool name is too long for the hardcoded padding in tpstats output. > We should dynamically calculate padding so that we don't need to check this > every time we add a threadpool. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9935) Repair fails with RuntimeException
[ https://issues.apache.org/jira/browse/CASSANDRA-9935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220322#comment-15220322 ] Ruoran Wang commented on CASSANDRA-9935: That's not an ideal fix. I noticed in LevelCompactionStrategy getScanners, it uses SSTableScanner for L0. However, those sstables have the issue are at L1, I need to figure out why that happens. > Repair fails with RuntimeException > -- > > Key: CASSANDRA-9935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9935 > Project: Cassandra > Issue Type: Bug > Environment: C* 2.1.8, Debian Wheezy >Reporter: mlowicki >Assignee: Yuki Morishita > Fix For: 2.1.x > > Attachments: db1.sync.lati.osa.cassandra.log, > db5.sync.lati.osa.cassandra.log, system.log.10.210.3.117, > system.log.10.210.3.221, system.log.10.210.3.230 > > > We had problems with slow repair in 2.1.7 (CASSANDRA-9702) but after upgrade > to 2.1.8 it started to work faster but now it fails with: > {code} > ... > [2015-07-29 20:44:03,956] Repair session 23a811b0-3632-11e5-a93e-4963524a8bde > for range (-5474076923322749342,-5468600594078911162] finished > [2015-07-29 20:44:03,957] Repair session 336f8740-3632-11e5-a93e-4963524a8bde > for range (-8631877858109464676,-8624040066373718932] finished > [2015-07-29 20:44:03,957] Repair session 4ccd8430-3632-11e5-a93e-4963524a8bde > for range (-5372806541854279315,-5369354119480076785] finished > [2015-07-29 20:44:03,957] Repair session 59f129f0-3632-11e5-a93e-4963524a8bde > for range (8166489034383821955,8168408930184216281] finished > [2015-07-29 20:44:03,957] Repair session 6ae7a9a0-3632-11e5-a93e-4963524a8bde > for range (6084602890817326921,6088328703025510057] finished > [2015-07-29 20:44:03,957] Repair session 8938e4a0-3632-11e5-a93e-4963524a8bde > for range (-781874602493000830,-781745173070807746] finished > [2015-07-29 20:44:03,957] Repair command #4 finished > error: nodetool failed, check server logs > -- StackTrace -- > java.lang.RuntimeException: nodetool failed, check server logs > at > org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:290) > at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:202) > {code} > After running: > {code} > nodetool repair --partitioner-range --parallel --in-local-dc sync > {code} > Last records in logs regarding repair are: > {code} > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 09ff9e40-3632-11e5-a93e-4963524a8bde for range > (-7695808664784761779,-7693529816291585568] finished > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 17d8d860-3632-11e5-a93e-4963524a8bde for range > (806371695398849,8065203836608925992] finished > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 23a811b0-3632-11e5-a93e-4963524a8bde for range > (-5474076923322749342,-5468600594078911162] finished > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 336f8740-3632-11e5-a93e-4963524a8bde for range > (-8631877858109464676,-8624040066373718932] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 4ccd8430-3632-11e5-a93e-4963524a8bde for range > (-5372806541854279315,-5369354119480076785] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 59f129f0-3632-11e5-a93e-4963524a8bde for range > (8166489034383821955,8168408930184216281] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 6ae7a9a0-3632-11e5-a93e-4963524a8bde for range > (6084602890817326921,6088328703025510057] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 8938e4a0-3632-11e5-a93e-4963524a8bde for range > (-781874602493000830,-781745173070807746] finished > {code} > but a bit above I see (at least two times in attached log): > {code} > ERROR [Thread-173887] 2015-07-29 20:44:03,853 StorageService.java:2959 - > Repair session 1b07ea50-3608-11e5-a93e-4963524a8bde for range > (5765414319217852786,5781018794516851576] failed with error > org.apache.cassandra.exceptions.RepairException: [repair > #1b07ea50-3608-11e5-a93e-4963524a8bde on sync/entity_by_id2, > (5765414319217852786,5781018794516851576]] Validation failed in /10.195.15.162 > java.util.concurrent.ExecutionException: java.lang.RuntimeException: > org.apache.cassandra.exceptions.RepairException: [repair > #1b07ea50-3608-11e5-a93e-4963524a8bde on sync/entity_by_id2, > (5765414319217852786,5781018794516851576]] Validation failed in /10.195.15.162 > at java.util.concurrent.FutureTask.report(FutureTask.java:122) > [na:1.7.0_80] > at java.
[jira] [Updated] (CASSANDRA-11402) Alignment wrong in tpstats output for PerDiskMemtableFlushWriter
[ https://issues.apache.org/jira/browse/CASSANDRA-11402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ryan Magnusson updated CASSANDRA-11402: --- Attachment: (was: 11402-trunk.txt) > Alignment wrong in tpstats output for PerDiskMemtableFlushWriter > > > Key: CASSANDRA-11402 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11402 > Project: Cassandra > Issue Type: Bug >Reporter: Joel Knighton >Priority: Trivial > Labels: lhf > > With the accompanying designation of which memtableflushwriter it is, this > threadpool name is too long for the hardcoded padding in tpstats output. > We should dynamically calculate padding so that we don't need to check this > every time we add a threadpool. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11402) Alignment wrong in tpstats output for PerDiskMemtableFlushWriter
[ https://issues.apache.org/jira/browse/CASSANDRA-11402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ryan Magnusson updated CASSANDRA-11402: --- Attachment: 11402-trunk.txt > Alignment wrong in tpstats output for PerDiskMemtableFlushWriter > > > Key: CASSANDRA-11402 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11402 > Project: Cassandra > Issue Type: Bug >Reporter: Joel Knighton >Priority: Trivial > Labels: lhf > Attachments: 11402-trunk.txt > > > With the accompanying designation of which memtableflushwriter it is, this > threadpool name is too long for the hardcoded padding in tpstats output. > We should dynamically calculate padding so that we don't need to check this > every time we add a threadpool. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11402) Alignment wrong in tpstats output for PerDiskMemtableFlushWriter
[ https://issues.apache.org/jira/browse/CASSANDRA-11402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220338#comment-15220338 ] Ryan Magnusson commented on CASSANDRA-11402: Please let me know if this looks correct. I've also uploaded my changes to github @ https://github.com/RyanMagnusson/cassandra/tree/11402-3.0 > Alignment wrong in tpstats output for PerDiskMemtableFlushWriter > > > Key: CASSANDRA-11402 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11402 > Project: Cassandra > Issue Type: Bug >Reporter: Joel Knighton >Priority: Trivial > Labels: lhf > Attachments: 11402-trunk.txt > > > With the accompanying designation of which memtableflushwriter it is, this > threadpool name is too long for the hardcoded padding in tpstats output. > We should dynamically calculate padding so that we don't need to check this > every time we add a threadpool. -- This message was sent by Atlassian JIRA (v6.3.4#6332)