[jira] [Updated] (CASSANDRA-12244) progress in compactionstats is reported wrongly for view builds
[ https://issues.apache.org/jira/browse/CASSANDRA-12244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] mck updated CASSANDRA-12244: Resolution: Fixed Fix Version/s: (was: 3.0.x) 3.11.3 3.0.17 4.0 Status: Resolved (was: Patch Available) Committed. > progress in compactionstats is reported wrongly for view builds > --- > > Key: CASSANDRA-12244 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12244 > Project: Cassandra > Issue Type: Bug >Reporter: Tom van der Woerdt >Assignee: ZhaoYang >Priority: Minor > Labels: lhf > Fix For: 4.0, 3.0.17, 3.11.3 > > > In the view build progress given by compactionstats, there are several issues > : > {code} > id compaction type keyspace > table completed total unit progress >038d3690-4dbe-11e6-b207-21ec388d48e6View build mykeyspace > mytable 844 bytes 967 bytes ranges 87.28% > Active compaction remaining time :n/a > {code} > 1) those are ranges, not bytes > 2) it's not at 87.28%, it's at ~4%. the method for calculating progress in > Cassandra is wrong: it neglects to sort the tokens it's iterating through > (ViewBuilder.java) and thus ends up with a random number. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/78ca3447 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/78ca3447 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/78ca3447 Branch: refs/heads/trunk Commit: 78ca3447c9735682119b01bdf98f06bb75f413ff Parents: 645d827 bc30a6f Author: Mick Semb WeverAuthored: Fri May 4 15:08:21 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 15:14:04 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../cassandra/db/view/ViewBuilderTask.java | 5 +-- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/78ca3447/CHANGES.txt -- diff --cc CHANGES.txt index f0afbe6,5f66b62..628d0af --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -246,8 -10,11 +246,9 @@@ * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) - * Deprecate background repair and probablistic read_repair_chance table options - (CASSANDRA-13910) * Add missed CQL keywords to documentation (CASSANDRA-14359) * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) http://git-wip-us.apache.org/repos/asf/cassandra/blob/78ca3447/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/78ca3447/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- diff --cc src/java/org/apache/cassandra/db/compaction/CompactionInfo.java index d3235bc,93bb4c9..ccdfeb4 --- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java @@@ -32,20 -32,43 +32,43 @@@ public final class CompactionInfo imple private final OperationType tasktype; private final long completed; private final long total; - private final String unit; + private final Unit unit; private final UUID compactionId; +public CompactionInfo(TableMetadata metadata, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) +{ - this(metadata, tasktype, bytesComplete, totalBytes, "bytes", compactionId); ++this(metadata, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); +} + - public CompactionInfo(OperationType tasktype, long completed, long total, String unit, UUID compactionId) + public static enum Unit + { -BYTES("bytes"), RANGES("ranges"), KEYS("keys"); ++BYTES("bytes"), RANGES("token range parts"), KEYS("keys"); + + private final String name; + + private Unit(String name) + { + this.name = name; + } + + @Override + public String toString() + { -return name; ++return this.name; + } + + public static boolean isFileSize(String unit) + { + return BYTES.toString().equals(unit); + } + } + -public CompactionInfo(CFMetaData cfm, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) -{ -this(cfm, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); -} - + public CompactionInfo(OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) { this(null, tasktype, completed, total, unit, compactionId); } - public CompactionInfo(TableMetadata metadata, OperationType tasktype, long completed, long total, String unit, UUID compactionId) -public CompactionInfo(CFMetaData cfm, OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) ++public CompactionInfo(TableMetadata metadata, OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) {
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bc30a6f7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bc30a6f7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bc30a6f7 Branch: refs/heads/cassandra-3.11 Commit: bc30a6f733545205271a2cdf82cfa7ab42eee6f4 Parents: dd9ae1d 9d498dc Author: Mick Semb WeverAuthored: Fri May 4 14:47:10 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 15:01:54 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../apache/cassandra/db/view/ViewBuilder.java | 19 ++- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 48 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/CHANGES.txt -- diff --cc CHANGES.txt index 2d7053d,f1dcf52..5f66b62 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,15 -1,5 +1,16 @@@ -3.0.17 +3.11.3 + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) * Deprecate background repair and probablistic read_repair_chance table options http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --cc src/java/org/apache/cassandra/cache/AutoSavingCache.java index aa13ca3,00431b9..a40a8a9 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@@ -42,9 -41,11 +42,10 @@@ import org.apache.cassandra.db.ColumnFa import org.apache.cassandra.db.compaction.CompactionInfo; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.compaction.OperationType; + import org.apache.cassandra.db.compaction.CompactionInfo.Unit; import org.apache.cassandra.io.FSWriteError; import org.apache.cassandra.io.util.*; -import org.apache.cassandra.io.util.ChecksummedRandomAccessReader.CorruptFileException; +import org.apache.cassandra.io.util.CorruptFileException; import org.apache.cassandra.io.util.DataInputPlus.DataInputStreamPlus; import org.apache.cassandra.service.CacheService; import org.apache.cassandra.utils.JVMStabilityInspector; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/src/java/org/apache/cassandra/db/view/ViewBuilder.java -- diff --cc src/java/org/apache/cassandra/db/view/ViewBuilder.java index 8e647ea,68cb265..d9c9e71 --- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java +++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java @@@ -190,25 -188,9 +193,25 @@@ public class ViewBuilder extends Compac } } +private void updateDistributed(String ksname, String viewName, UUID localHostId) +{ +try +{ +SystemDistributedKeyspace.successfulViewBuild(ksname, viewName, localHostId); +SystemKeyspace.setViewBuiltReplicated(ksname, viewName); +} +catch (Exception e) +{ +ScheduledExecutors.nonPeriodicTasks.schedule(() -> CompactionManager.instance.submitViewBuilder(this), + 5, +
[2/6] cassandra git commit: fix viewbuilder progress and display in compactionstats
fix viewbuilder progress and display in compactionstats patch by Zhao Yang (jasonstack); reviewed by Mick Semb Wever for CASSANDRA-12244 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9d498dce Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9d498dce Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9d498dce Branch: refs/heads/cassandra-3.11 Commit: 9d498dced6cea77b027b8a74bf4ae9201c8afdf5 Parents: 15c463c Author: Mick Semb WeverAuthored: Wed May 2 14:21:40 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 14:46:25 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../apache/cassandra/db/view/ViewBuilder.java | 19 ++- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 48 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e549cda..f1dcf52 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) * Deprecate background repair and probablistic read_repair_chance table options http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index e39dcf1..00431b9 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -42,6 +42,7 @@ import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.db.compaction.CompactionInfo; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.compaction.OperationType; +import org.apache.cassandra.db.compaction.CompactionInfo.Unit; import org.apache.cassandra.io.FSWriteError; import org.apache.cassandra.io.util.*; import org.apache.cassandra.io.util.ChecksummedRandomAccessReader.CorruptFileException; @@ -304,7 +305,7 @@ public class AutoSavingCache extends InstrumentingCachehttp://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java index 3cd8737..404c07f 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java @@ -34,20 +34,43 @@ public final class CompactionInfo implements Serializable private final OperationType tasktype; private final long completed; private final long total; -private final String unit; +private final Unit unit; private final UUID compactionId; +public static enum Unit +{ +BYTES("bytes"), RANGES("ranges"), KEYS("keys"); + +private final String name; + +private Unit(String name) +{ +this.name = name; +} + +@Override +public String toString() +{ +return name; +} + +public static boolean isFileSize(String unit) +{ +return BYTES.toString().equals(unit); +} +} + public CompactionInfo(CFMetaData cfm, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) { -this(cfm, tasktype, bytesComplete, totalBytes, "bytes", compactionId); +this(cfm, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); } -public CompactionInfo(OperationType tasktype, long completed, long total, String unit, UUID compactionId) +public CompactionInfo(OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) { this(null, tasktype, completed, total, unit, compactionId); } -public CompactionInfo(CFMetaData cfm, OperationType tasktype, long completed, long total, String unit, UUID compactionId) +public CompactionInfo(CFMetaData cfm, OperationType tasktype, long completed, long
[3/6] cassandra git commit: fix viewbuilder progress and display in compactionstats
fix viewbuilder progress and display in compactionstats patch by Zhao Yang (jasonstack); reviewed by Mick Semb Wever for CASSANDRA-12244 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9d498dce Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9d498dce Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9d498dce Branch: refs/heads/trunk Commit: 9d498dced6cea77b027b8a74bf4ae9201c8afdf5 Parents: 15c463c Author: Mick Semb WeverAuthored: Wed May 2 14:21:40 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 14:46:25 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../apache/cassandra/db/view/ViewBuilder.java | 19 ++- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 48 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e549cda..f1dcf52 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) * Deprecate background repair and probablistic read_repair_chance table options http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index e39dcf1..00431b9 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -42,6 +42,7 @@ import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.db.compaction.CompactionInfo; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.compaction.OperationType; +import org.apache.cassandra.db.compaction.CompactionInfo.Unit; import org.apache.cassandra.io.FSWriteError; import org.apache.cassandra.io.util.*; import org.apache.cassandra.io.util.ChecksummedRandomAccessReader.CorruptFileException; @@ -304,7 +305,7 @@ public class AutoSavingCache extends InstrumentingCachehttp://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java index 3cd8737..404c07f 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java @@ -34,20 +34,43 @@ public final class CompactionInfo implements Serializable private final OperationType tasktype; private final long completed; private final long total; -private final String unit; +private final Unit unit; private final UUID compactionId; +public static enum Unit +{ +BYTES("bytes"), RANGES("ranges"), KEYS("keys"); + +private final String name; + +private Unit(String name) +{ +this.name = name; +} + +@Override +public String toString() +{ +return name; +} + +public static boolean isFileSize(String unit) +{ +return BYTES.toString().equals(unit); +} +} + public CompactionInfo(CFMetaData cfm, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) { -this(cfm, tasktype, bytesComplete, totalBytes, "bytes", compactionId); +this(cfm, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); } -public CompactionInfo(OperationType tasktype, long completed, long total, String unit, UUID compactionId) +public CompactionInfo(OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) { this(null, tasktype, completed, total, unit, compactionId); } -public CompactionInfo(CFMetaData cfm, OperationType tasktype, long completed, long total, String unit, UUID compactionId) +public CompactionInfo(CFMetaData cfm, OperationType tasktype, long completed, long total, Unit
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bc30a6f7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bc30a6f7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bc30a6f7 Branch: refs/heads/trunk Commit: bc30a6f733545205271a2cdf82cfa7ab42eee6f4 Parents: dd9ae1d 9d498dc Author: Mick Semb WeverAuthored: Fri May 4 14:47:10 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 15:01:54 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../apache/cassandra/db/view/ViewBuilder.java | 19 ++- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 48 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/CHANGES.txt -- diff --cc CHANGES.txt index 2d7053d,f1dcf52..5f66b62 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,15 -1,5 +1,16 @@@ -3.0.17 +3.11.3 + * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851) + * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299) + * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370) + * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) + * Serialize empty buffer as empty string for json output format (CASSANDRA-14245) + * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396) + * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247) + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) * Deprecate background repair and probablistic read_repair_chance table options http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --cc src/java/org/apache/cassandra/cache/AutoSavingCache.java index aa13ca3,00431b9..a40a8a9 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@@ -42,9 -41,11 +42,10 @@@ import org.apache.cassandra.db.ColumnFa import org.apache.cassandra.db.compaction.CompactionInfo; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.compaction.OperationType; + import org.apache.cassandra.db.compaction.CompactionInfo.Unit; import org.apache.cassandra.io.FSWriteError; import org.apache.cassandra.io.util.*; -import org.apache.cassandra.io.util.ChecksummedRandomAccessReader.CorruptFileException; +import org.apache.cassandra.io.util.CorruptFileException; import org.apache.cassandra.io.util.DataInputPlus.DataInputStreamPlus; import org.apache.cassandra.service.CacheService; import org.apache.cassandra.utils.JVMStabilityInspector; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc30a6f7/src/java/org/apache/cassandra/db/view/ViewBuilder.java -- diff --cc src/java/org/apache/cassandra/db/view/ViewBuilder.java index 8e647ea,68cb265..d9c9e71 --- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java +++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java @@@ -190,25 -188,9 +193,25 @@@ public class ViewBuilder extends Compac } } +private void updateDistributed(String ksname, String viewName, UUID localHostId) +{ +try +{ +SystemDistributedKeyspace.successfulViewBuild(ksname, viewName, localHostId); +SystemKeyspace.setViewBuiltReplicated(ksname, viewName); +} +catch (Exception e) +{ +ScheduledExecutors.nonPeriodicTasks.schedule(() -> CompactionManager.instance.submitViewBuilder(this), + 5, +
[1/6] cassandra git commit: fix viewbuilder progress and display in compactionstats
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 15c463cb0 -> 9d498dced refs/heads/cassandra-3.11 dd9ae1d3e -> bc30a6f73 refs/heads/trunk 645d8278b -> 78ca3447c fix viewbuilder progress and display in compactionstats patch by Zhao Yang (jasonstack); reviewed by Mick Semb Wever for CASSANDRA-12244 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9d498dce Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9d498dce Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9d498dce Branch: refs/heads/cassandra-3.0 Commit: 9d498dced6cea77b027b8a74bf4ae9201c8afdf5 Parents: 15c463c Author: Mick Semb WeverAuthored: Wed May 2 14:21:40 2018 +1000 Committer: Mick Semb Wever Committed: Fri May 4 14:46:25 2018 +1000 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 3 +- .../cassandra/db/compaction/CompactionInfo.java | 33 +--- .../apache/cassandra/db/view/ViewBuilder.java | 19 ++- .../io/sstable/IndexSummaryRedistribution.java | 5 +-- .../tools/nodetool/CompactionStats.java | 7 +++-- 6 files changed, 48 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e549cda..f1dcf52 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Fix progress stats and units in compactionstats (CASSANDRA-12244) * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) * Deprecate background repair and probablistic read_repair_chance table options http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index e39dcf1..00431b9 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -42,6 +42,7 @@ import org.apache.cassandra.db.SystemKeyspace; import org.apache.cassandra.db.compaction.CompactionInfo; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.compaction.OperationType; +import org.apache.cassandra.db.compaction.CompactionInfo.Unit; import org.apache.cassandra.io.FSWriteError; import org.apache.cassandra.io.util.*; import org.apache.cassandra.io.util.ChecksummedRandomAccessReader.CorruptFileException; @@ -304,7 +305,7 @@ public class AutoSavingCache extends InstrumentingCachehttp://git-wip-us.apache.org/repos/asf/cassandra/blob/9d498dce/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java index 3cd8737..404c07f 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java @@ -34,20 +34,43 @@ public final class CompactionInfo implements Serializable private final OperationType tasktype; private final long completed; private final long total; -private final String unit; +private final Unit unit; private final UUID compactionId; +public static enum Unit +{ +BYTES("bytes"), RANGES("ranges"), KEYS("keys"); + +private final String name; + +private Unit(String name) +{ +this.name = name; +} + +@Override +public String toString() +{ +return name; +} + +public static boolean isFileSize(String unit) +{ +return BYTES.toString().equals(unit); +} +} + public CompactionInfo(CFMetaData cfm, OperationType tasktype, long bytesComplete, long totalBytes, UUID compactionId) { -this(cfm, tasktype, bytesComplete, totalBytes, "bytes", compactionId); +this(cfm, tasktype, bytesComplete, totalBytes, Unit.BYTES, compactionId); } -public CompactionInfo(OperationType tasktype, long completed, long total, String unit, UUID compactionId) +public CompactionInfo(OperationType tasktype, long completed, long total, Unit unit, UUID compactionId) { this(null, tasktype, completed, total, unit, compactionId); } -public
[jira] [Commented] (CASSANDRA-14358) OutboundTcpConnection can hang for many minutes when nodes restart
[ https://issues.apache.org/jira/browse/CASSANDRA-14358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463328#comment-16463328 ] Jason Harvey commented on CASSANDRA-14358: -- [~jolynch] One thing slightly interesting here that I found when reproducing. I can confirm that the traffic is retransmitting from the non-restarted node on the blackholed connection, yet the socket is in `CLOSE_WAIT` rather than `ESTABLISHED`. This would indicate that the non-restarted node got the FIN, but AWS blackholed the FIN,ACK. To me that suggests that the flow tracking was only lost in one direction. I saw this both times I was able to reproduce it, so I doubt it's a fluke of timing. > OutboundTcpConnection can hang for many minutes when nodes restart > -- > > Key: CASSANDRA-14358 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14358 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging > Environment: Cassandra 2.1.19 (also reproduced on 3.0.15), running > with {{internode_encryption: all}} and the EC2 multi region snitch on Linux > 4.13 within the same AWS region. Smallest cluster I've seen the problem on is > 12 nodes, reproduces more reliably on 40+ and 300 node clusters consistently > reproduce on at least one node in the cluster. > So all the connections are SSL and we're connecting on the internal ip > addresses (not the public endpoint ones). > Potentially relevant sysctls: > {noformat} > /proc/sys/net/ipv4/tcp_syn_retries = 2 > /proc/sys/net/ipv4/tcp_synack_retries = 5 > /proc/sys/net/ipv4/tcp_keepalive_time = 7200 > /proc/sys/net/ipv4/tcp_keepalive_probes = 9 > /proc/sys/net/ipv4/tcp_keepalive_intvl = 75 > /proc/sys/net/ipv4/tcp_retries2 = 15 > {noformat} >Reporter: Joseph Lynch >Assignee: Joseph Lynch >Priority: Major > Attachments: 10 Minute Partition.pdf > > > I've been trying to debug nodes not being able to see each other during > longer (~5 minute+) Cassandra restarts in 3.0.x and 2.1.x which can > contribute to {{UnavailableExceptions}} during rolling restarts of 3.0.x and > 2.1.x clusters for us. I think I finally have a lead. It appears that prior > to trunk (with the awesome Netty refactor) we do not set socket connect > timeouts on SSL connections (in 2.1.x, 3.0.x, or 3.11.x) nor do we set > {{SO_TIMEOUT}} as far as I can tell on outbound connections either. I believe > that this means that we could potentially block forever on {{connect}} or > {{recv}} syscalls, and we could block forever on the SSL Handshake as well. I > think that the OS will protect us somewhat (and that may be what's causing > the eventual timeout) but I think that given the right network conditions our > {{OutboundTCPConnection}} threads can just be stuck never making any progress > until the OS intervenes. > I have attached some logs of such a network partition during a rolling > restart where an old node in the cluster has a completely foobarred > {{OutboundTcpConnection}} for ~10 minutes before finally getting a > {{java.net.SocketException: Connection timed out (Write failed)}} and > immediately successfully reconnecting. I conclude that the old node is the > problem because the new node (the one that restarted) is sending ECHOs to the > old node, and the old node is sending ECHOs and REQUEST_RESPONSES to the new > node's ECHOs, but the new node is never getting the ECHO's. This appears, to > me, to indicate that the old node's {{OutboundTcpConnection}} thread is just > stuck and can't make any forward progress. By the time we could notice this > and slap TRACE logging on, the only thing we see is ~10 minutes later a > {{SocketException}} inside {{writeConnected}}'s flush and an immediate > recovery. It is interesting to me that the exception happens in > {{writeConnected}} and it's a _connection timeout_ (and since we see {{Write > failure}} I believe that this can't be a connection reset), because my > understanding is that we should have a fully handshaked SSL connection at > that point in the code. > Current theory: > # "New" node restarts, "Old" node calls > [newSocket|https://github.com/apache/cassandra/blob/6f30677b28dcbf82bcd0a291f3294ddf87dafaac/src/java/org/apache/cassandra/net/OutboundTcpConnection.java#L433] > # Old node starts [creating a > new|https://github.com/apache/cassandra/blob/6f30677b28dcbf82bcd0a291f3294ddf87dafaac/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java#L141] > SSL socket > # SSLSocket calls > [createSocket|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/security/SSLFactory.java#L98], > which conveniently calls connect with a default timeout of "forever". We > could hang here forever until the OS kills us. > # If
[jira] [Commented] (CASSANDRA-14424) Gossip EchoMessages not being handled somewhere after node restart
[ https://issues.apache.org/jira/browse/CASSANDRA-14424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463323#comment-16463323 ] Jason Harvey commented on CASSANDRA-14424: -- [~jolynch] I was able to reproduce it again and I've confirmed that this is indeed due to the same thing you're detailing in CASSANDRA-14538 . I'm not using internode TLS at all, but of course the fundamental firewall timeout still exists. I'm OK with this being marked as a duplicate of CASSANDRA-14538 > Gossip EchoMessages not being handled somewhere after node restart > -- > > Key: CASSANDRA-14424 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14424 > Project: Cassandra > Issue Type: Bug > Environment: cassandra 3.11.2 - brand new ring - 18 nodes. > ubuntu 16.04 > AWS - cross AZ, with GossipingPropertyFileSnitch setting the rack to the AZs. >Reporter: Jason Harvey >Priority: Major > Fix For: 3.11.x, 4.x > > > Noticing this behaviour on a brand new 3.11.2 ring: > # Restart a random node in the ring. > # When that node comes back up, around 30% of the time it sees a single > other node down. No other node in the ring sees that node is down. > # After 10-20 minutes, the DOWN node suddenly appears UP to the restarted > node. > > After digging through tracing logs, here's what I know: > > The node seen as DOWN has not gone down, but simply hasn't been seen as UP > yet. The restarted node is attempting to `markAlive()` the target node. > Relevant logs from the restarted node's POV: > > {{INFO [GossipStage:1] 2018-04-27 14:03:50,950 Gossiper.java:1053 - Node > /10.0.225.147 has restarted, now UP}} > {{INFO [GossipStage:1] 2018-04-27 14:03:50,969 StorageService.java:2292 - > Node /10.0.225.147 state jump to NORMAL}} > {{INFO [HANDSHAKE-/10.0.225.147] 2018-04-27 14:03:50,976 > OutboundTcpConnection.java:560 - Handshaking version with /10.0.225.147}} > {{INFO [GossipStage:1] 2018-04-27 14:03:50,977 TokenMetadata.java:479 - > Updating topology for /10.0.225.147}} > {{INFO [GossipStage:1] 2018-04-27 14:03:50,977 TokenMetadata.java:479 - > Updating topology for /10.0.225.147}} > > (note that despite the Gossip seeing the DOWN node as 'UP', nodetool status > still shows it as 'DOWN', as markAlive has not completed, and will not > actually be seen as 'UP' for 20 more minutes) > > The restarted node is repeatedly sending Echo messages to the DOWN node as > part of the `markAlive()` call. The DOWN node is receiving those, and claims > to be sending a response. However, the restarted node is not marking the DOWN > node as UP even after the DOWN node sends the Echo response. > > Relevant logs from the restarted node's POV: > > {{TRACE [GossipStage:1] 2018-04-27 14:11:28,792 MessagingService.java:945 - > 10.0.103.45 sending ECHO to 99248@/10.0.225.147}} > {{TRACE [GossipTasks:1] 2018-04-27 14:11:29,792 MessagingService.java:945 - > 10.0.103.45 sending GOSSIP_DIGEST_SYN to 99631@/10.0.225.147}} > {{TRACE [GossipStage:1] 2018-04-27 14:11:29,792 MessagingService.java:945 - > 10.0.103.45 sending ECHO to 99632@/10.0.225.147}} > {{TRACE [GossipStage:1] 2018-04-27 14:11:29,793 MessagingService.java:945 - > 10.0.103.45 sending GOSSIP_DIGEST_ACK2 to 99633@/10.0.225.147}} > {{TRACE [GossipStage:1] 2018-04-27 14:11:29,793 MessagingService.java:945 - > 10.0.103.45 sending ECHO to 99635@/10.0.225.147}} > {{TRACE [GossipStage:1] 2018-04-27 14:11:31,794 MessagingService.java:945 - > 10.0.103.45 sending ECHO to 100348@/10.0.225.147}} > {{TRACE [GossipStage:1] 2018-04-27 14:11:33,750 MessagingService.java:945 - > 10.0.103.45 sending ECHO to 101157@/10.0.225.147}} > {{TRACE [GossipStage:1] 2018-04-27 14:11:35,412 MessagingService.java:945 - > 10.0.103.45 sending ECHO to 101753@/10.0.225.147}} > > > Relevant logs from the DOWN node's POV: > > {{TRACE [GossipStage:1] 2018-04-27 14:18:16,500 EchoVerbHandler.java:39 - > Sending a EchoMessage reply /10.0.103.45}} > {{TRACE [GossipStage:1] 2018-04-27 14:18:16,500 MessagingService.java:945 - > 10.0.225.147 sending REQUEST_RESPONSE to 328389@/10.0.103.45}} > {{TRACE [GossipStage:1] 2018-04-27 14:18:17,679 EchoVerbHandler.java:39 - > Sending a EchoMessage reply /10.0.103.45}} > {{TRACE [GossipStage:1] 2018-04-27 14:18:17,679 MessagingService.java:945 - > 10.0.225.147 sending REQUEST_RESPONSE to 329412@/10.0.103.45}} > {{TRACE [GossipStage:1] 2018-04-27 14:18:18,680 EchoVerbHandler.java:39 - > Sending a EchoMessage reply /10.0.103.45}} > {{TRACE [GossipStage:1] 2018-04-27 14:18:18,680 MessagingService.java:945 - > 10.0.225.147 sending REQUEST_RESPONSE to 330185@/10.0.103.45}} > > > The metrics on the restarted node show that the MessagingService has a large > number of TimeoutsPerHost for the DOWN node, and all other nodes
[jira] [Comment Edited] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463246#comment-16463246 ] Lerh Chuan Low edited comment on CASSANDRA-14427 at 5/4/18 2:55 AM: Updated the patch, turns out I missed a few things. The 2.2 CI failed, but it seems unrelated. I tried running the test locally, it works, so trying again: https://circleci.com/gh/juiceblender/cassandra/84 Updated 2.1 CCI: https://circleci.com/gh/juiceblender/cassandra/85 was (Author: lerh low): Updated the patch, turns out I missed a few things. The 2.2 CI failed, but it seems unrelated. I tried running the test locally, it works, so trying again: https://circleci.com/gh/juiceblender/cassandra/82 Updated 2.1 CCI: https://circleci.com/gh/juiceblender/cassandra/81 > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lerh Chuan Low updated CASSANDRA-14427: --- Attachment: (was: 2.1-14427.txt) > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lerh Chuan Low updated CASSANDRA-14427: --- Attachment: 2.2-14427.txt 2.1-14427.txt > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lerh Chuan Low updated CASSANDRA-14427: --- Attachment: (was: 2.2-14427.txt) > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14298) cqlshlib tests broken on b.a.o
[ https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463308#comment-16463308 ] Patrick Bannister commented on CASSANDRA-14298: --- Yes! I've modified test_cqlsh/test_cqlsh.py::TestCqlsh::run_cqlsh to open the cqlsh subprocess with universal_newlines=True and that allowed us to remove all bytes and calls to encode() and decode() from functions using our local run_cqlsh. We're still passing on trunk, 3.11, and 3.0. I posted a new patch, CASSANDRA-14298.txt. I also re-posted the previous patch as CASSANDRA-14298_old.txt, in case it's needed for some reason. > cqlshlib tests broken on b.a.o > -- > > Key: CASSANDRA-14298 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14298 > Project: Cassandra > Issue Type: Bug > Components: Build, Testing >Reporter: Stefan Podkowinski >Assignee: Patrick Bannister >Priority: Major > Labels: cqlsh, dtest > Attachments: CASSANDRA-14298.txt, CASSANDRA-14298_old.txt, > cqlsh_tests_notes.md > > > It appears that cqlsh-tests on builds.apache.org on all branches stopped > working since we removed nosetests from the system environment. See e.g. > [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console]. > Looks like we either have to make nosetests available again or migrate to > pytest as we did with dtests. Giving pytest a quick try resulted in many > errors locally, but I haven't inspected them in detail yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14298) cqlshlib tests broken on b.a.o
[ https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Bannister updated CASSANDRA-14298: -- Attachment: CASSANDRA-14298_old.txt > cqlshlib tests broken on b.a.o > -- > > Key: CASSANDRA-14298 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14298 > Project: Cassandra > Issue Type: Bug > Components: Build, Testing >Reporter: Stefan Podkowinski >Assignee: Patrick Bannister >Priority: Major > Labels: cqlsh, dtest > Attachments: CASSANDRA-14298.txt, CASSANDRA-14298_old.txt, > cqlsh_tests_notes.md > > > It appears that cqlsh-tests on builds.apache.org on all branches stopped > working since we removed nosetests from the system environment. See e.g. > [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console]. > Looks like we either have to make nosetests available again or migrate to > pytest as we did with dtests. Giving pytest a quick try resulted in many > errors locally, but I haven't inspected them in detail yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14298) cqlshlib tests broken on b.a.o
[ https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Bannister updated CASSANDRA-14298: -- Attachment: (was: CASSANDRA-14298.txt) > cqlshlib tests broken on b.a.o > -- > > Key: CASSANDRA-14298 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14298 > Project: Cassandra > Issue Type: Bug > Components: Build, Testing >Reporter: Stefan Podkowinski >Assignee: Patrick Bannister >Priority: Major > Labels: cqlsh, dtest > Attachments: CASSANDRA-14298.txt, CASSANDRA-14298_old.txt, > cqlsh_tests_notes.md > > > It appears that cqlsh-tests on builds.apache.org on all branches stopped > working since we removed nosetests from the system environment. See e.g. > [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console]. > Looks like we either have to make nosetests available again or migrate to > pytest as we did with dtests. Giving pytest a quick try resulted in many > errors locally, but I haven't inspected them in detail yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14298) cqlshlib tests broken on b.a.o
[ https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Bannister updated CASSANDRA-14298: -- Attachment: CASSANDRA-14298.txt > cqlshlib tests broken on b.a.o > -- > > Key: CASSANDRA-14298 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14298 > Project: Cassandra > Issue Type: Bug > Components: Build, Testing >Reporter: Stefan Podkowinski >Assignee: Patrick Bannister >Priority: Major > Labels: cqlsh, dtest > Attachments: CASSANDRA-14298.txt, CASSANDRA-14298_old.txt, > cqlsh_tests_notes.md > > > It appears that cqlsh-tests on builds.apache.org on all branches stopped > working since we removed nosetests from the system environment. See e.g. > [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console]. > Looks like we either have to make nosetests available again or migrate to > pytest as we did with dtests. Giving pytest a quick try resulted in many > errors locally, but I haven't inspected them in detail yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Assigned] (CASSANDRA-10789) Allow DBAs to kill individual client sessions without bouncing JVM
[ https://issues.apache.org/jira/browse/CASSANDRA-10789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kurt Greaves reassigned CASSANDRA-10789: Assignee: Damien Stevenson > Allow DBAs to kill individual client sessions without bouncing JVM > -- > > Key: CASSANDRA-10789 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10789 > Project: Cassandra > Issue Type: Improvement > Components: Coordination >Reporter: Wei Deng >Assignee: Damien Stevenson >Priority: Major > Fix For: 4.x > > > In production, there could be hundreds of clients connected to a Cassandra > cluster (maybe even from different applications), and if they use DataStax > Java Driver, each client will establish at least one TCP connection to a > Cassandra server (see > https://datastax.github.io/java-driver/2.1.9/features/pooling/). This is all > normal and at any given time, you can indeed see hundreds of ESTABLISHED > connections to port 9042 on a C* server (from netstat -na). The problem is > that sometimes when a C* cluster is under heavy load, when the DBA identifies > some client session that sends abusive amount of traffic to the C* server and > would like to stop it, they would like a lightweight approach rather than > shutting down the JVM or rolling restart the whole cluster to kill all > hundreds of connections in order to kill a single client session. If the DBA > had root privilege, they would have been able to do something at the OS > network level to achieve the same goal but oftentimes enterprise DBA role is > separate from OS sysadmin role, so the DBAs usually don't have that privilege. > This is especially helpful when you have a multi-tenant C* cluster and you > want to have the impact for handling such client to be minimal to the other > applications. This feature (killing individual session) seems to be a common > feature in other databases (regardless of whether the client has some > reconnect logic or not). It could be implemented as a JMX MBean method and > exposed through nodetool to the DBAs. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463246#comment-16463246 ] Lerh Chuan Low commented on CASSANDRA-14427: Updated the patch, turns out I missed a few things. The 2.2 CI failed, but it seems unrelated. I tried running the test locally, it works, so trying again: https://circleci.com/gh/juiceblender/cassandra/82 Updated 2.1 CCI: https://circleci.com/gh/juiceblender/cassandra/81 > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lerh Chuan Low updated CASSANDRA-14427: --- Attachment: 2.1-14427.txt > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lerh Chuan Low updated CASSANDRA-14427: --- Attachment: (was: 2.1-14427.txt) > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14427) Bump jackson version to >= 2.9.5
[ https://issues.apache.org/jira/browse/CASSANDRA-14427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463225#comment-16463225 ] Lerh Chuan Low commented on CASSANDRA-14427: Turns out the 2.1 tests didn't make it, going to check on it. > Bump jackson version to >= 2.9.5 > > > Key: CASSANDRA-14427 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14427 > Project: Cassandra > Issue Type: Improvement >Reporter: Lerh Chuan Low >Assignee: Lerh Chuan Low >Priority: Major > Attachments: 2.1-14427.txt, 2.2-14427.txt, 3.0-14427.txt, > 3.X-14427.txt, trunk-14427.txt > > > The Jackson being used by Cassandra is really old (1.9.2, and still > references codehaus (Jackson 1) instead of fasterxml (Jackson 2)). > There have been a few jackson vulnerabilities recently (mostly around > deserialization which allows arbitrary code execution) > [https://nvd.nist.gov/vuln/detail/CVE-2017-7525] > [https://nvd.nist.gov/vuln/detail/CVE-2017-15095] > [https://nvd.nist.gov/vuln/detail/CVE-2018-1327] > [https://nvd.nist.gov/vuln/detail/CVE-2018-7489] > Given that Jackson in Cassandra is really old and seems to be used also for > reading in values, it looks worthwhile to update Jackson to 2.9.5. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14335) C* nodetool should report the lowest of the highest CQL protocol version supported by all clients connecting to it
[ https://issues.apache.org/jira/browse/CASSANDRA-14335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16463159#comment-16463159 ] Dinesh Joshi commented on CASSANDRA-14335: -- [~jasobrown] I have updated my branch with an implementation that will be threadsafe as well as performant. As part of this change, I am introducing addition flags for {{nodetool clientstats}} command. We can use {{nodetool clientstats --by-protocol}} to give you the list last 100 clients that the C* process has seen for each protocol. I am deduping by IP address so you should see unique IPs. You can clear this list by running {{nodetool clientstats --clear-history}} to clear the history of all clients. For posterity - [~jasobrown] and I had a conversation about the usefulness of having this information. Although the existing {{nodetool clientstats --all}} is sufficient to tell you what clients are _currently_ connected to the C* process including the protocol version, this information is ephemeral. There are many situations where an operator may miss intermittently connecting clients for example - batch processes. Additionally, we can script around by periodically invoking {{nodetool clientstats --all}} from external scripts but that is sub-optimal for a variety of reasons - you can still miss intermittent clients, you unnecessarily make calls over JMX. Storing this historical information in the C* process means you wont miss intermittently connecting clients and would be overall more efficient that going over JMX all the time. > C* nodetool should report the lowest of the highest CQL protocol version > supported by all clients connecting to it > -- > > Key: CASSANDRA-14335 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14335 > Project: Cassandra > Issue Type: Bug >Reporter: Dinesh Joshi >Assignee: Dinesh Joshi >Priority: Major > > While upgrading C*, it makes it hard to tell whether any client will be > affected if C* is upgraded. C* should internally store the highest protocol > version of all clients connecting to it. The lowest supported version will > help determining if any client will be adversely affected by the upgrade. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] C. Scott Andreas updated CASSANDRA-7622: Attachment: (was: image.png) > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > Attachments: screenshot-1.png > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] C. Scott Andreas updated CASSANDRA-7622: Attachment: image.png > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > Attachments: screenshot-1.png > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-14433) DoS attack through PagingState
[ https://issues.apache.org/jira/browse/CASSANDRA-14433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462801#comment-16462801 ] Yang Yu edited comment on CASSANDRA-14433 at 5/3/18 5:22 PM: - I'm not very familiar with Cassandra codebase, but it seems that one cause of this issue is that there is no validation to make sure the prefixed length is in line with the remaining buffer size. Cassandra driver does this checking effectively in com.datastax.driver.core.PagingState.PagingState(byte[] complete): {noformat} if (pagingSize + hashSize != pagingStateBB.remaining() && pagingSize + hashSize + 2 != pagingStateBB.remaining()) {noformat} You are right that an untrusted client can still cause OOM by sending many requests, but it will be much harder. was (Author: yyu): I'm not very familiar with Cassandra codebase, but it seems that one cause of this issue is that there is no validation to make sure the prefixed length is in line with the remaining buffer size. Cassandra driver does this checking effectively in com.datastax.driver.core.PagingState.PagingState(byte[] complete): {noformat} if (pagingSize + hashSize != pagingStateBB.remaining() && pagingSize + hashSize + 2 != pagingStateBB.remaining()) {noformat} You are right that an untrusted client can still cause OOM bying sending many requests, but it will be much harder. > DoS attack through PagingState > -- > > Key: CASSANDRA-14433 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14433 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Yang Yu >Priority: Major > > According to [this manual > page|https://docs.datastax.com/en/developer/java-driver/3.5/manual/paging/], > the paging state can be returned to and received from end users. This means > end users can inject malicious content into the paging state in order to > attack the server. > One way is to forge a paging state with a very large partition key size. The > forged paging state will be passed through the driver and consumed by the > server and cause OutOfMemoryError: > {noformat} > java.lang.OutOfMemoryError: Java heap space > at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:401) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.utils.ByteBufferUtil.readWithVIntLength(ByteBufferUtil.java:340) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.service.pager.PagingState.deserialize(PagingState.java:78) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:432) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:366) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:46) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:42) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:281) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:262) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {noformat} > The paging state used to cause the above exception is shown below. The > encoded partition key size is 2G. > {noformat} > 00180010f077359400736f6d654b6579090002633104002a0a006a66e551aa30a3ac47e693ab43bd29a90004 > {noformat} > Essentially, this issue is very similar to the "DoS User Specified Object > Allocation" example in [this OWASP > page|https://www.owasp.org/index.php/Denial_of_Service]. It is especially > serious in a multi-tenant environment, as one malicious tenant can affect all > other tenants. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14433) DoS attack through PagingState
[ https://issues.apache.org/jira/browse/CASSANDRA-14433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462801#comment-16462801 ] Yang Yu commented on CASSANDRA-14433: - I'm not very familiar with Cassandra codebase, but it seems that one cause of this issue is that there is no validation to make sure the prefixed length is in line with the remaining buffer size. Cassandra driver does this checking effectively in com.datastax.driver.core.PagingState.PagingState(byte[] complete): {noformat} if (pagingSize + hashSize != pagingStateBB.remaining() && pagingSize + hashSize + 2 != pagingStateBB.remaining()) {noformat} You are right that an untrusted client can still cause OOM bying sending many requests, but it will be much harder. > DoS attack through PagingState > -- > > Key: CASSANDRA-14433 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14433 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Yang Yu >Priority: Major > > According to [this manual > page|https://docs.datastax.com/en/developer/java-driver/3.5/manual/paging/], > the paging state can be returned to and received from end users. This means > end users can inject malicious content into the paging state in order to > attack the server. > One way is to forge a paging state with a very large partition key size. The > forged paging state will be passed through the driver and consumed by the > server and cause OutOfMemoryError: > {noformat} > java.lang.OutOfMemoryError: Java heap space > at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:401) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.utils.ByteBufferUtil.readWithVIntLength(ByteBufferUtil.java:340) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.service.pager.PagingState.deserialize(PagingState.java:78) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:432) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:366) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:46) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:42) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:281) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:262) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {noformat} > The paging state used to cause the above exception is shown below. The > encoded partition key size is 2G. > {noformat} > 00180010f077359400736f6d654b6579090002633104002a0a006a66e551aa30a3ac47e693ab43bd29a90004 > {noformat} > Essentially, this issue is very similar to the "DoS User Specified Object > Allocation" example in [this OWASP > page|https://www.owasp.org/index.php/Denial_of_Service]. It is especially > serious in a multi-tenant environment, as one malicious tenant can affect all > other tenants. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14433) DoS attack through PagingState
[ https://issues.apache.org/jira/browse/CASSANDRA-14433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462775#comment-16462775 ] Benedict commented on CASSANDRA-14433: -- In response to your mailing list request, this certainly looks like a legitimate problem, and an excellent issue to raise more generally as this is unlikely to be the only place we are open to this kind of attack. A client can send a write with giant values (or pretend giant values) to just as easily kill the server. See {{CBUtil.readBoundValue}} for another example, and there are no doubt more. There's only so much that can be done to mitigate this problem, but it seems we can at least: # Ensure there's actually enough input data to read, before allocating any space to read it, so that giant values need to at least arrive over the network first # Introduce a configurable server-wide limit to the size of buffers (and hence values) we permit, because the 2GiB limit is frankly absurd and was probably only maintained because somebody once promised the world we could theoretically support it. I think operators should be able to impose their own more realistic ceiling. > DoS attack through PagingState > -- > > Key: CASSANDRA-14433 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14433 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Yang Yu >Priority: Major > > According to [this manual > page|https://docs.datastax.com/en/developer/java-driver/3.5/manual/paging/], > the paging state can be returned to and received from end users. This means > end users can inject malicious content into the paging state in order to > attack the server. > One way is to forge a paging state with a very large partition key size. The > forged paging state will be passed through the driver and consumed by the > server and cause OutOfMemoryError: > {noformat} > java.lang.OutOfMemoryError: Java heap space > at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:401) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.utils.ByteBufferUtil.readWithVIntLength(ByteBufferUtil.java:340) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.service.pager.PagingState.deserialize(PagingState.java:78) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:432) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:366) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:46) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:42) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:281) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:262) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {noformat} > The paging state used to cause the above exception is shown below. The > encoded partition key size is 2G. > {noformat} > 00180010f077359400736f6d654b6579090002633104002a0a006a66e551aa30a3ac47e693ab43bd29a90004 > {noformat} > Essentially, this issue is very similar to the "DoS User Specified Object > Allocation" example in [this OWASP > page|https://www.owasp.org/index.php/Denial_of_Service]. It is especially > serious in a multi-tenant environment, as one malicious tenant can affect all > other tenants. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14433) DoS attack through PagingState
[ https://issues.apache.org/jira/browse/CASSANDRA-14433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462755#comment-16462755 ] Ariel Weisberg commented on CASSANDRA-14433: I'm not sure this is a bug. Any length prefixed field can be used to cause an OOM. Even if we clamp the size of fields a client can send multiple requests concurrently on multiple connections to cause OOM. By the time you have completed authentication and authorization you know the client you are talking to is trusted. If it isn't then the important thing isn't to avoid DoS it's to avoid remote execution vulnerabilities and leaking information. If you really want multi-tenancy with clients you don't trust I think you have to build isolation across tenants to allow for that. And then you still have to deal with the tenants ability to do things like create large expensive to read partitions and then spamming the database with read requests. In real world terms I think that means using virtualization or process isolation. > DoS attack through PagingState > -- > > Key: CASSANDRA-14433 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14433 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Yang Yu >Priority: Major > > According to [this manual > page|https://docs.datastax.com/en/developer/java-driver/3.5/manual/paging/], > the paging state can be returned to and received from end users. This means > end users can inject malicious content into the paging state in order to > attack the server. > One way is to forge a paging state with a very large partition key size. The > forged paging state will be passed through the driver and consumed by the > server and cause OutOfMemoryError: > {noformat} > java.lang.OutOfMemoryError: Java heap space > at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:401) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.utils.ByteBufferUtil.readWithVIntLength(ByteBufferUtil.java:340) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.service.pager.PagingState.deserialize(PagingState.java:78) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:432) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at org.apache.cassandra.cql3.QueryOptions$Codec.decode(QueryOptions.java:366) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:46) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.messages.ExecuteMessage$1.decode(ExecuteMessage.java:42) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:281) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > org.apache.cassandra.transport.Message$ProtocolDecoder.decode(Message.java:262) > ~[apache-cassandra-3.11.2.jar:3.11.2] > at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) > [netty-all-4.0.44.Final.jar:4.0.44.Final] > {noformat} > The paging state used to cause the above exception is shown below. The > encoded partition key size is 2G. > {noformat} > 00180010f077359400736f6d654b6579090002633104002a0a006a66e551aa30a3ac47e693ab43bd29a90004 > {noformat} > Essentially, this issue is very similar to the "DoS User Specified Object > Allocation" example in [this OWASP > page|https://www.owasp.org/index.php/Denial_of_Service]. It is especially > serious in a multi-tenant environment, as one malicious tenant can affect all > other tenants. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14435) Diag. Events: JMX events
[ https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462629#comment-16462629 ] Chris Lohfink commented on CASSANDRA-14435: --- We should at least make it clear that there its just best effort and theres high likelihood of missing events to make sure people dont rely on the events for alerting or anything. That or do like in CASSANDRA-13480 where there is an operation to check recent events or something when notifications are lost. Can test with {{-Djmx.remote.x.notification.buffer.size=1}} > Diag. Events: JMX events > > > Key: CASSANDRA-14435 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14435 > Project: Cassandra > Issue Type: New Feature >Reporter: Stefan Podkowinski >Assignee: Stefan Podkowinski >Priority: Major > Fix For: 4.x > > > Nodes currently use JMX events for progress reporting on bootstrap and > repairs. This might also be an option to expose diagnostic events to external > subscribers. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14435) Diag. Events: JMX events
[ https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Podkowinski updated CASSANDRA-14435: --- Status: Patch Available (was: In Progress) > Diag. Events: JMX events > > > Key: CASSANDRA-14435 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14435 > Project: Cassandra > Issue Type: New Feature >Reporter: Stefan Podkowinski >Assignee: Stefan Podkowinski >Priority: Major > Fix For: 4.x > > > Nodes currently use JMX events for progress reporting on bootstrap and > repairs. This might also be an option to expose diagnostic events to external > subscribers. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14435) Diag. Events: JMX events
[ https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462475#comment-16462475 ] Stefan Podkowinski commented on CASSANDRA-14435: {quote}While I think its a good idea here, we should probably at least have a note in yaml about enabling it may impact operational tooling if using broadcaster. With the shared event buffer (1000), the more we use it (even if no one is listening to that mbean's events) the more lost notifications will occur. On an active node we already end up losing a lot of events if the client is anywhere with relevant latency from the node. Increasing the buffer isn't really a good option as it puts massive pressure on the heap as the composite data objects (particularly streaming ones) are huge. {quote} JMX surely isn't the most scalable and robust eventing solution. But any diag. event consumers would also fall into the "operational tooling" category and tool creators and users should be aware of latency and contention based limitations. It's not ideal, but selectively sending infrequent events should hurt that much either. We can always improve form here and work on a more scalable long term solution. Maybe something based on chronicle queue with a CQL streaming extension and/or virtual tables on top. But that's not strictly related to diagnostic events and shouldn't prevent us from continue to use JMX until we have another solution. {quote}Once of the issues I can see is that events are sent on the current thread, ref NotificationBroadcasterSupport.defaultExecutor. {quote} I've pushed a commit [here|https://github.com/spodkowinski/cassandra/commit/c7df1333e84f5b91ebe61161ab4d669fe8da9b32] to share the same executor introduced in CASSANDRA-12146. > Diag. Events: JMX events > > > Key: CASSANDRA-14435 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14435 > Project: Cassandra > Issue Type: New Feature >Reporter: Stefan Podkowinski >Assignee: Stefan Podkowinski >Priority: Major > Fix For: 4.x > > > Nodes currently use JMX events for progress reporting on bootstrap and > repairs. This might also be an option to expose diagnostic events to external > subscribers. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14428) Run ant eclipse-warnings in circleci
[ https://issues.apache.org/jira/browse/CASSANDRA-14428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-14428: Resolution: Fixed Fix Version/s: (was: 4.x) 3.11.3 3.0.17 4.0 Status: Resolved (was: Patch Available) committed as {{15c463cb0067097b1ec57a056c2585c48b8b9306}} and merged up - only needed the circle.yml changes in 3.0 and 3.11, thanks! > Run ant eclipse-warnings in circleci > > > Key: CASSANDRA-14428 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14428 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson >Priority: Major > Fix For: 4.0, 3.0.17, 3.11.3 > > > We should run ant eclipse-warnings in circle-ci -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/6] cassandra git commit: Run eclipse-warnings
Run eclipse-warnings Patch by marcuse; reviewed by Ariel Weisberg and Blake Eggleston for CASSANDRA-14428 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/15c463cb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15c463cb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15c463cb Branch: refs/heads/cassandra-3.11 Commit: 15c463cb0067097b1ec57a056c2585c48b8b9306 Parents: 493f9a2 Author: Marcus ErikssonAuthored: Mon Apr 30 15:40:44 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:40:47 2018 +0200 -- .circleci/config.yml | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/15c463cb/.circleci/config.yml -- diff --git a/.circleci/config.yml b/.circleci/config.yml index f881b70..5a84f72 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -126,6 +126,14 @@ jobs: exit ${RETURN} fi no_output_timeout: 15m + - run: + name: Run eclipse-warnings + command: | +export LANG=en_US.UTF-8 +export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" +export PATH=$PATH:$ANT_HOME/bin:$JAVA_HOME/bin +cd ~/cassandra +ant eclipse-warnings - persist_to_workspace: root: /home/cassandra paths: - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[1/6] cassandra git commit: Run eclipse-warnings
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 493f9a2b4 -> 15c463cb0 refs/heads/cassandra-3.11 73f5b8f99 -> dd9ae1d3e refs/heads/trunk dd091d417 -> 645d8278b Run eclipse-warnings Patch by marcuse; reviewed by Ariel Weisberg and Blake Eggleston for CASSANDRA-14428 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/15c463cb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15c463cb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15c463cb Branch: refs/heads/cassandra-3.0 Commit: 15c463cb0067097b1ec57a056c2585c48b8b9306 Parents: 493f9a2 Author: Marcus ErikssonAuthored: Mon Apr 30 15:40:44 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:40:47 2018 +0200 -- .circleci/config.yml | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/15c463cb/.circleci/config.yml -- diff --git a/.circleci/config.yml b/.circleci/config.yml index f881b70..5a84f72 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -126,6 +126,14 @@ jobs: exit ${RETURN} fi no_output_timeout: 15m + - run: + name: Run eclipse-warnings + command: | +export LANG=en_US.UTF-8 +export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" +export PATH=$PATH:$ANT_HOME/bin:$JAVA_HOME/bin +cd ~/cassandra +ant eclipse-warnings - persist_to_workspace: root: /home/cassandra paths: - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd9ae1d3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd9ae1d3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd9ae1d3 Branch: refs/heads/cassandra-3.11 Commit: dd9ae1d3ef52c07200e6498b075e85c7fc36a468 Parents: 73f5b8f 15c463c Author: Marcus ErikssonAuthored: Thu May 3 15:42:01 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:42:01 2018 +0200 -- .circleci/config.yml | 8 1 file changed, 8 insertions(+) -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[3/6] cassandra git commit: Run eclipse-warnings
Run eclipse-warnings Patch by marcuse; reviewed by Ariel Weisberg and Blake Eggleston for CASSANDRA-14428 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/15c463cb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15c463cb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15c463cb Branch: refs/heads/trunk Commit: 15c463cb0067097b1ec57a056c2585c48b8b9306 Parents: 493f9a2 Author: Marcus ErikssonAuthored: Mon Apr 30 15:40:44 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:40:47 2018 +0200 -- .circleci/config.yml | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/15c463cb/.circleci/config.yml -- diff --git a/.circleci/config.yml b/.circleci/config.yml index f881b70..5a84f72 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -126,6 +126,14 @@ jobs: exit ${RETURN} fi no_output_timeout: 15m + - run: + name: Run eclipse-warnings + command: | +export LANG=en_US.UTF-8 +export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" +export PATH=$PATH:$ANT_HOME/bin:$JAVA_HOME/bin +cd ~/cassandra +ant eclipse-warnings - persist_to_workspace: root: /home/cassandra paths: - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/645d8278 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/645d8278 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/645d8278 Branch: refs/heads/trunk Commit: 645d8278bcf6281c8272f82d0d661e386a7cbe7d Parents: dd091d4 dd9ae1d Author: Marcus ErikssonAuthored: Thu May 3 15:46:23 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:46:51 2018 +0200 -- .circleci/config.yml | 8 .../apache/cassandra/db/CassandraKeyspaceWriteHandler.java | 2 ++ .../apache/cassandra/db/streaming/CassandraStreamReader.java | 2 +- .../cassandra/db/streaming/CassandraStreamReceiver.java | 1 + src/java/org/apache/cassandra/net/MessageIn.java | 5 - .../org/apache/cassandra/net/async/MessageInHandler.java | 5 - 6 files changed, 20 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/645d8278/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java -- diff --cc src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java index 1f1bcdb,000..efba11f mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java +++ b/src/java/org/apache/cassandra/db/CassandraKeyspaceWriteHandler.java @@@ -1,92 -1,0 +1,94 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.db; + +import org.apache.cassandra.db.commitlog.CommitLog; +import org.apache.cassandra.db.commitlog.CommitLogPosition; +import org.apache.cassandra.exceptions.RequestExecutionException; +import org.apache.cassandra.tracing.Tracing; +import org.apache.cassandra.utils.concurrent.OpOrder; + +public class CassandraKeyspaceWriteHandler implements KeyspaceWriteHandler +{ +private final Keyspace keyspace; + +public CassandraKeyspaceWriteHandler(Keyspace keyspace) +{ +this.keyspace = keyspace; +} + +@Override ++@SuppressWarnings("resource") // group is closed when CassandraWriteContext is closed +public WriteContext beginWrite(Mutation mutation, boolean makeDurable) throws RequestExecutionException +{ +OpOrder.Group group = null; +try +{ +group = Keyspace.writeOrder.start(); + +// write the mutation to the commitlog and memtables +CommitLogPosition position = null; +if (makeDurable) +{ +Tracing.trace("Appending to commitlog"); +position = CommitLog.instance.add(mutation); +} +return new CassandraWriteContext(group, position); +} +catch (Throwable t) +{ +if (group != null) +{ +group.close(); +} +throw t; +} +} + ++@SuppressWarnings("resource") // group is closed when CassandraWriteContext is closed +private WriteContext createEmptyContext() +{ +OpOrder.Group group = null; +try +{ +group = Keyspace.writeOrder.start(); +return new CassandraWriteContext(group, null); +} +catch (Throwable t) +{ +if (group != null) +{ +group.close(); +} +throw t; +} +} + +@Override +public WriteContext createContextForIndexing() +{ +return createEmptyContext(); +} + +@Override +public WriteContext createContextForRead() +{ +return createEmptyContext(); +} +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/645d8278/src/java/org/apache/cassandra/db/streaming/CassandraStreamReader.java
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd9ae1d3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd9ae1d3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd9ae1d3 Branch: refs/heads/trunk Commit: dd9ae1d3ef52c07200e6498b075e85c7fc36a468 Parents: 73f5b8f 15c463c Author: Marcus ErikssonAuthored: Thu May 3 15:42:01 2018 +0200 Committer: Marcus Eriksson Committed: Thu May 3 15:42:01 2018 +0200 -- .circleci/config.yml | 8 1 file changed, 8 insertions(+) -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462426#comment-16462426 ] Aleksey Yeschenko commented on CASSANDRA-7622: -- Pushed the first review commit [here|https://github.com/iamaleksey/cassandra/commits/7622-4.0]. It's the first commit in the series with the goal of separating virtual keyspaces from real keyspaces on metadata level, with more to follow. This one adds a new virtual keyspace - {{system_virtual_schema}} - with virtual tables {{keyspaces}}, {{tables}}, and {{columns}} that mimic those of {{system_schema}} to the extent that is reasonable to duplicate, and omits any metadata that doesn't make any sense in context of virtual keyspaces (properties like {{durable}} or {{replication}} for keyspaces, and most of the param fields for tables). Among other things, this way evolution of arbitrary virtual keyspaces becomes trivial, as you no longer have to worry with incompatible previous schema stored persistently - because none of it is. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > Attachments: screenshot-1.png > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-12244) progress in compactionstats is reported wrongly for view builds
[ https://issues.apache.org/jira/browse/CASSANDRA-12244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462388#comment-16462388 ] ZhaoYang commented on CASSANDRA-12244: -- [~michaelsembwever] thanks for the review, looks good to me. > progress in compactionstats is reported wrongly for view builds > --- > > Key: CASSANDRA-12244 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12244 > Project: Cassandra > Issue Type: Bug >Reporter: Tom van der Woerdt >Assignee: ZhaoYang >Priority: Minor > Labels: lhf > Fix For: 3.0.x > > > In the view build progress given by compactionstats, there are several issues > : > {code} > id compaction type keyspace > table completed total unit progress >038d3690-4dbe-11e6-b207-21ec388d48e6View build mykeyspace > mytable 844 bytes 967 bytes ranges 87.28% > Active compaction remaining time :n/a > {code} > 1) those are ranges, not bytes > 2) it's not at 87.28%, it's at ~4%. the method for calculating progress in > Cassandra is wrong: it neglects to sort the tokens it's iterating through > (ViewBuilder.java) and thus ends up with a random number. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-12244) progress in compactionstats is reported wrongly for view builds
[ https://issues.apache.org/jira/browse/CASSANDRA-12244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462348#comment-16462348 ] mck commented on CASSANDRA-12244: - Looking green. Trunk's {{test-all}} is already broken, waiting on CASSANDRA-14428. And comparing failed dtests to their respective base branches: - 3.0: stable {{bootstrap_test.TestBootstrap.test_simultaneous_bootstrap}} failed, tested locally ok. - 3.11: no difference. - trunk: two additional failures: {{bootstrap_test.TestBootstrap.test_decommissioned_wiped_node_can_join}} and {{repair_tests.repair_test.TestRepair.test_dc_repair}}; neither are flakey but both tested locally ok. > progress in compactionstats is reported wrongly for view builds > --- > > Key: CASSANDRA-12244 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12244 > Project: Cassandra > Issue Type: Bug >Reporter: Tom van der Woerdt >Assignee: ZhaoYang >Priority: Minor > Labels: lhf > Fix For: 3.0.x > > > In the view build progress given by compactionstats, there are several issues > : > {code} > id compaction type keyspace > table completed total unit progress >038d3690-4dbe-11e6-b207-21ec388d48e6View build mykeyspace > mytable 844 bytes 967 bytes ranges 87.28% > Active compaction remaining time :n/a > {code} > 1) those are ranges, not bytes > 2) it's not at 87.28%, it's at ~4%. the method for calculating progress in > Cassandra is wrong: it neglects to sort the tokens it's iterating through > (ViewBuilder.java) and thus ends up with a random number. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-12244) progress in compactionstats is reported wrongly for view builds
[ https://issues.apache.org/jira/browse/CASSANDRA-12244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460524#comment-16460524 ] mck edited comment on CASSANDRA-12244 at 5/3/18 10:33 AM: -- Patch looks good. Note in trunk it was fixed in a different manner, but the clash with the human readable flag was still there so I kept the introduction of the {{Unit}} enum. I've put your patch into relevant branches, and will commit once they go green. In the meantime [~jasonstack], could you please check i've applied your patch appropriately in each branch and commit. || Branch || uTest || dTest || |[cassandra-3.0_12244|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.0_12244]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.0_12244.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.0_12244]| https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/540/ | |[cassandra-3.11_12244|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.11_12244]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_12244.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_12244]| https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/541/ | |[trunk_12244|https://github.com/thelastpickle/cassandra/tree/mck/trunk_12244]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_12244.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_12244]| https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/542/ | was (Author: michaelsembwever): Patch looks good. Note in trunk it was fixed in a different manner, but the clash with the human readable flag was still there so I kept the introduction of the {{Unit}} enum. I've put your patch into relevant branches, and will commit once they go green. In the meantime [~jasonstack], could you please check i've applied your patch appropriately in each branch and commit. || Branch || uTest || dTest || |[cassandra-3.0_12244|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.0_12244]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.0_12244.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.0_12244]| https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/540/ | |[cassandra-3.11_12244|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.11_12244]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_12244.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_12244]| https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/541/ | |[trunk_12244|https://github.com/thelastpickle/cassandra/tree/mck/trunk_12244]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_12244.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_12244]| https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/541/ | > progress in compactionstats is reported wrongly for view builds > --- > > Key: CASSANDRA-12244 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12244 > Project: Cassandra > Issue Type: Bug >Reporter: Tom van der Woerdt >Assignee: ZhaoYang >Priority: Minor > Labels: lhf > Fix For: 3.0.x > > > In the view build progress given by compactionstats, there are several issues > : > {code} > id compaction type keyspace > table completed total unit progress >038d3690-4dbe-11e6-b207-21ec388d48e6View build mykeyspace > mytable 844 bytes 967 bytes ranges 87.28% > Active compaction remaining time :n/a > {code} > 1) those are ranges, not bytes > 2) it's not at 87.28%, it's at ~4%. the method for calculating progress in > Cassandra is wrong: it neglects to sort the tokens it's iterating through > (ViewBuilder.java) and thus ends up with a random number. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-10751) "Pool is shutdown" error when running Hadoop jobs on Yarn
[ https://issues.apache.org/jira/browse/CASSANDRA-10751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] mck updated CASSANDRA-10751: Resolution: Fixed Status: Resolved (was: Patch Available) > "Pool is shutdown" error when running Hadoop jobs on Yarn > - > > Key: CASSANDRA-10751 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10751 > Project: Cassandra > Issue Type: Bug > Environment: Hadoop 2.7.1 (HDP 2.3.2) > Cassandra 2.1.11 >Reporter: Cyril Scetbon >Assignee: Cyril Scetbon >Priority: Major > Attachments: CASSANDRA-10751-2.2.patch, CASSANDRA-10751-3.0.patch, > output.log > > > Trying to execute an Hadoop job on Yarn, I get errors from Cassandra's > internal code. It seems that connections are shutdown but we can't understand > why ... > Here is a subtract of the errors. I also add a file with the complete debug > logs. > {code} > 15/11/22 20:05:54 [main]: DEBUG core.RequestHandler: Error querying > node006.internal.net/192.168.12.22:9042, trying next host (error is: > com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown) > Failed with exception java.io.IOException:java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > 15/11/22 20:05:54 [main]: ERROR CliDriver: Failed with exception > java.io.IOException:java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > java.io.IOException: java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:508) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:415) > at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:140) > at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1672) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at org.apache.hadoop.util.RunJar.run(RunJar.java:221) > at org.apache.hadoop.util.RunJar.main(RunJar.java:136) > Caused by: java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > org.apache.hadoop.hive.cassandra.input.cql.HiveCqlInputFormat.getRecordReader(HiveCqlInputFormat.java:132) > at > org.apache.hadoop.hive.ql.exec.FetchOperator$FetchInputFormatSplit.getRecordReader(FetchOperator.java:674) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:324) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:446) > ... 15 more > Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All > host(s) tried for query failed (tried: > node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:84) > at > com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37) > at > com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:214) > at >
[jira] [Updated] (CASSANDRA-10751) "Pool is shutdown" error when running Hadoop jobs on Yarn
[ https://issues.apache.org/jira/browse/CASSANDRA-10751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] mck updated CASSANDRA-10751: Fix Version/s: 3.11.3 3.0.17 2.2.13 4.0 > "Pool is shutdown" error when running Hadoop jobs on Yarn > - > > Key: CASSANDRA-10751 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10751 > Project: Cassandra > Issue Type: Bug > Environment: Hadoop 2.7.1 (HDP 2.3.2) > Cassandra 2.1.11 >Reporter: Cyril Scetbon >Assignee: Cyril Scetbon >Priority: Major > Fix For: 4.0, 2.2.13, 3.0.17, 3.11.3 > > Attachments: CASSANDRA-10751-2.2.patch, CASSANDRA-10751-3.0.patch, > output.log > > > Trying to execute an Hadoop job on Yarn, I get errors from Cassandra's > internal code. It seems that connections are shutdown but we can't understand > why ... > Here is a subtract of the errors. I also add a file with the complete debug > logs. > {code} > 15/11/22 20:05:54 [main]: DEBUG core.RequestHandler: Error querying > node006.internal.net/192.168.12.22:9042, trying next host (error is: > com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown) > Failed with exception java.io.IOException:java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > 15/11/22 20:05:54 [main]: ERROR CliDriver: Failed with exception > java.io.IOException:java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > java.io.IOException: java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:508) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:415) > at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:140) > at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1672) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at org.apache.hadoop.util.RunJar.run(RunJar.java:221) > at org.apache.hadoop.util.RunJar.main(RunJar.java:136) > Caused by: java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > org.apache.hadoop.hive.cassandra.input.cql.HiveCqlInputFormat.getRecordReader(HiveCqlInputFormat.java:132) > at > org.apache.hadoop.hive.ql.exec.FetchOperator$FetchInputFormatSplit.getRecordReader(FetchOperator.java:674) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:324) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:446) > ... 15 more > Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All > host(s) tried for query failed (tried: > node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:84) > at > com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37) > at >
[jira] [Commented] (CASSANDRA-10751) "Pool is shutdown" error when running Hadoop jobs on Yarn
[ https://issues.apache.org/jira/browse/CASSANDRA-10751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462227#comment-16462227 ] mck commented on CASSANDRA-10751: - Looking green. Trunk's {{test-all}} is already broken, waiting on CASSANDRA-14428. And comparing failed dtests to their respective base branches: - 2.2: rebuild_test.TestRebuild.test_resumable_rebuild: no relation to the patch, already {{Flakiness: 37%}} - 3.0: stable {{bootstrap_test.TestBootstrap.test_simultaneous_bootstrap}} failed, tested locally ok. - 3.11: stable {{repair_tests.repair_test.TestRepair.test_thread_count_repair}} failed, tested locally ok. - trunk: 8 down to 2 existing failures. Committed. > "Pool is shutdown" error when running Hadoop jobs on Yarn > - > > Key: CASSANDRA-10751 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10751 > Project: Cassandra > Issue Type: Bug > Environment: Hadoop 2.7.1 (HDP 2.3.2) > Cassandra 2.1.11 >Reporter: Cyril Scetbon >Assignee: Cyril Scetbon >Priority: Major > Fix For: 4.0, 2.2.13, 3.0.17, 3.11.3 > > Attachments: CASSANDRA-10751-2.2.patch, CASSANDRA-10751-3.0.patch, > output.log > > > Trying to execute an Hadoop job on Yarn, I get errors from Cassandra's > internal code. It seems that connections are shutdown but we can't understand > why ... > Here is a subtract of the errors. I also add a file with the complete debug > logs. > {code} > 15/11/22 20:05:54 [main]: DEBUG core.RequestHandler: Error querying > node006.internal.net/192.168.12.22:9042, trying next host (error is: > com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown) > Failed with exception java.io.IOException:java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > 15/11/22 20:05:54 [main]: ERROR CliDriver: Failed with exception > java.io.IOException:java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > java.io.IOException: java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:508) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:415) > at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:140) > at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1672) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at org.apache.hadoop.util.RunJar.run(RunJar.java:221) > at org.apache.hadoop.util.RunJar.main(RunJar.java:136) > Caused by: java.io.IOException: > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (tried: node006.internal.net/192.168.12.22:9042 > (com.datastax.driver.core.ConnectionException: > [node006.internal.net/192.168.12.22:9042] Pool is shutdown)) > at > org.apache.hadoop.hive.cassandra.input.cql.HiveCqlInputFormat.getRecordReader(HiveCqlInputFormat.java:132) > at > org.apache.hadoop.hive.ql.exec.FetchOperator$FetchInputFormatSplit.getRecordReader(FetchOperator.java:674) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:324) > at > org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:446) > ... 15 more > Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All
[10/10] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Merge branch 'cassandra-3.11' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd091d41 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd091d41 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd091d41 Branch: refs/heads/trunk Commit: dd091d417ccca7764cdf016c2921d97121a236c5 Parents: 60ed982 73f5b8f Author: Mick Semb WeverAuthored: Thu May 3 19:27:12 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 19:52:28 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd091d41/CHANGES.txt -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73f5b8f9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73f5b8f9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73f5b8f9 Branch: refs/heads/trunk Commit: 73f5b8f995da0a56babac588a5476397604b707e Parents: 2d19de1 493f9a2 Author: Mick Semb WeverAuthored: Thu May 3 18:56:29 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:57:14 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73f5b8f9/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73f5b8f9/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73f5b8f9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73f5b8f9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73f5b8f9 Branch: refs/heads/cassandra-3.11 Commit: 73f5b8f995da0a56babac588a5476397604b707e Parents: 2d19de1 493f9a2 Author: Mick Semb WeverAuthored: Thu May 3 18:56:29 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:57:14 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73f5b8f9/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73f5b8f9/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/493f9a2b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/493f9a2b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/493f9a2b Branch: refs/heads/cassandra-3.11 Commit: 493f9a2b4727b5d249842d0fbd2498d6a3d74ff4 Parents: eb68c31 1b0b113 Author: Mick Semb WeverAuthored: Thu May 3 18:45:05 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:45:59 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/493f9a2b/CHANGES.txt -- diff --cc CHANGES.txt index 39edeb1,1055d51..e549cda --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,26 -1,5 +1,27 @@@ -2.2.13 +3.0.17 + * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) + * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) + * Deprecate background repair and probablistic read_repair_chance table options + (CASSANDRA-13910) + * Add missed CQL keywords to documentation (CASSANDRA-14359) + * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) + * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) + * Handle all exceptions when opening sstables (CASSANDRA-14202) + * Handle incompletely written hint descriptors during startup (CASSANDRA-14080) + * Handle repeat open bound from SRP in read repair (CASSANDRA-14330) + * Use zero as default score in DynamicEndpointSnitch (CASSANDRA-14252) + * Respect max hint window when hinting for LWT (CASSANDRA-14215) + * Adding missing WriteType enum values to v3, v4, and v5 spec (CASSANDRA-13697) + * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) + * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) + * Log when SSTables are deleted (CASSANDRA-14302) + * Fix batch commitlog sync regression (CASSANDRA-14292) + * Write to pending endpoint when view replica is also base replica (CASSANDRA-14251) + * Chain commit log marker potential performance regression in batch commit mode (CASSANDRA-14194) + * Fully utilise specified compaction threads (CASSANDRA-14210) + * Pre-create deletion log records to finish compactions quicker (CASSANDRA-12763) +Merged from 2.2: + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/493f9a2b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[02/10] cassandra git commit: CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will.
CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will. patch by Cyril Scetbon; reviewed by Mick Semb Wever for CASSANDRA-10751 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1b0b113f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1b0b113f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1b0b113f Branch: refs/heads/cassandra-3.0 Commit: 1b0b113facb2d8ad125b9baa0127ffe5abe8a16e Parents: 3a71382 Author: Mick Semb WeverAuthored: Tue May 1 21:00:25 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:39:55 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 22ee346..1055d51 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java index b3e440d..18b2f50 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java @@ -133,7 +133,7 @@ public class CqlRecordReader extends RecordReader } if (cluster != null) -session = cluster.connect(quote(keyspace)); +session = cluster.connect(keyspace); if (session == null) throw new RuntimeException("Can't create connection session"); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[01/10] cassandra git commit: CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 3a713827f -> 1b0b113fa refs/heads/cassandra-3.0 eb68c3126 -> 493f9a2b4 refs/heads/cassandra-3.11 2d19de1cf -> 73f5b8f99 refs/heads/trunk 60ed982d5 -> dd091d417 CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will. patch by Cyril Scetbon; reviewed by Mick Semb Wever for CASSANDRA-10751 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1b0b113f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1b0b113f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1b0b113f Branch: refs/heads/cassandra-2.2 Commit: 1b0b113facb2d8ad125b9baa0127ffe5abe8a16e Parents: 3a71382 Author: Mick Semb WeverAuthored: Tue May 1 21:00:25 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:39:55 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 22ee346..1055d51 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java index b3e440d..18b2f50 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java @@ -133,7 +133,7 @@ public class CqlRecordReader extends RecordReader } if (cluster != null) -session = cluster.connect(quote(keyspace)); +session = cluster.connect(keyspace); if (session == null) throw new RuntimeException("Can't create connection session"); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[04/10] cassandra git commit: CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will.
CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will. patch by Cyril Scetbon; reviewed by Mick Semb Wever for CASSANDRA-10751 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1b0b113f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1b0b113f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1b0b113f Branch: refs/heads/trunk Commit: 1b0b113facb2d8ad125b9baa0127ffe5abe8a16e Parents: 3a71382 Author: Mick Semb WeverAuthored: Tue May 1 21:00:25 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:39:55 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 22ee346..1055d51 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java index b3e440d..18b2f50 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java @@ -133,7 +133,7 @@ public class CqlRecordReader extends RecordReader } if (cluster != null) -session = cluster.connect(quote(keyspace)); +session = cluster.connect(keyspace); if (session == null) throw new RuntimeException("Can't create connection session"); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[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/493f9a2b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/493f9a2b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/493f9a2b Branch: refs/heads/trunk Commit: 493f9a2b4727b5d249842d0fbd2498d6a3d74ff4 Parents: eb68c31 1b0b113 Author: Mick Semb WeverAuthored: Thu May 3 18:45:05 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:45:59 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/493f9a2b/CHANGES.txt -- diff --cc CHANGES.txt index 39edeb1,1055d51..e549cda --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,26 -1,5 +1,27 @@@ -2.2.13 +3.0.17 + * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) + * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) + * Deprecate background repair and probablistic read_repair_chance table options + (CASSANDRA-13910) + * Add missed CQL keywords to documentation (CASSANDRA-14359) + * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) + * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) + * Handle all exceptions when opening sstables (CASSANDRA-14202) + * Handle incompletely written hint descriptors during startup (CASSANDRA-14080) + * Handle repeat open bound from SRP in read repair (CASSANDRA-14330) + * Use zero as default score in DynamicEndpointSnitch (CASSANDRA-14252) + * Respect max hint window when hinting for LWT (CASSANDRA-14215) + * Adding missing WriteType enum values to v3, v4, and v5 spec (CASSANDRA-13697) + * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) + * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) + * Log when SSTables are deleted (CASSANDRA-14302) + * Fix batch commitlog sync regression (CASSANDRA-14292) + * Write to pending endpoint when view replica is also base replica (CASSANDRA-14251) + * Chain commit log marker potential performance regression in batch commit mode (CASSANDRA-14194) + * Fully utilise specified compaction threads (CASSANDRA-14210) + * Pre-create deletion log records to finish compactions quicker (CASSANDRA-12763) +Merged from 2.2: + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/493f9a2b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[03/10] cassandra git commit: CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will.
CqlRecordReader unnecessarily quotes the keyspace when connecting, when the java driver will. patch by Cyril Scetbon; reviewed by Mick Semb Wever for CASSANDRA-10751 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1b0b113f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1b0b113f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1b0b113f Branch: refs/heads/cassandra-3.11 Commit: 1b0b113facb2d8ad125b9baa0127ffe5abe8a16e Parents: 3a71382 Author: Mick Semb WeverAuthored: Tue May 1 21:00:25 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:39:55 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 22ee346..1055d51 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b0b113f/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java index b3e440d..18b2f50 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java @@ -133,7 +133,7 @@ public class CqlRecordReader extends RecordReader } if (cluster != null) -session = cluster.connect(quote(keyspace)); +session = cluster.connect(keyspace); if (session == null) throw new RuntimeException("Can't create connection session"); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[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/493f9a2b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/493f9a2b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/493f9a2b Branch: refs/heads/cassandra-3.0 Commit: 493f9a2b4727b5d249842d0fbd2498d6a3d74ff4 Parents: eb68c31 1b0b113 Author: Mick Semb WeverAuthored: Thu May 3 18:45:05 2018 +1000 Committer: Mick Semb Wever Committed: Thu May 3 18:45:59 2018 +1000 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/493f9a2b/CHANGES.txt -- diff --cc CHANGES.txt index 39edeb1,1055d51..e549cda --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,26 -1,5 +1,27 @@@ -2.2.13 +3.0.17 + * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379) + * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740) + * Deprecate background repair and probablistic read_repair_chance table options + (CASSANDRA-13910) + * Add missed CQL keywords to documentation (CASSANDRA-14359) + * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332) + * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310) + * Handle all exceptions when opening sstables (CASSANDRA-14202) + * Handle incompletely written hint descriptors during startup (CASSANDRA-14080) + * Handle repeat open bound from SRP in read repair (CASSANDRA-14330) + * Use zero as default score in DynamicEndpointSnitch (CASSANDRA-14252) + * Respect max hint window when hinting for LWT (CASSANDRA-14215) + * Adding missing WriteType enum values to v3, v4, and v5 spec (CASSANDRA-13697) + * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) + * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) + * Log when SSTables are deleted (CASSANDRA-14302) + * Fix batch commitlog sync regression (CASSANDRA-14292) + * Write to pending endpoint when view replica is also base replica (CASSANDRA-14251) + * Chain commit log marker potential performance regression in batch commit mode (CASSANDRA-14194) + * Fully utilise specified compaction threads (CASSANDRA-14210) + * Pre-create deletion log records to finish compactions quicker (CASSANDRA-12763) +Merged from 2.2: + * CqlRecordReader no longer quotes the keyspace when connecting, as the java driver will (CASSANDRA-10751) * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743) * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) http://git-wip-us.apache.org/repos/asf/cassandra/blob/493f9a2b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462172#comment-16462172 ] Benjamin Lerer commented on CASSANDRA-7622: --- [~cnlwsu], [~rustyrazorblade], [~bdeggleston] I agree my proposed schema has some issue but I am also not convinced by the other one :(. In my opinion, we should be able to find something better. I am fine letting that discussion for a follow up ticket. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > Attachments: screenshot-1.png > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462172#comment-16462172 ] Benjamin Lerer edited comment on CASSANDRA-7622 at 5/3/18 9:21 AM: --- [~cnlwsu], [~rustyrazorblade], [~bdeggleston] I agree my proposed schema has some issues but I am also not convinced by the other one :(. In my opinion, we should be able to find something better. I am fine letting that discussion for a follow up ticket. was (Author: blerer): [~cnlwsu], [~rustyrazorblade], [~bdeggleston] I agree my proposed schema has some issue but I am also not convinced by the other one :(. In my opinion, we should be able to find something better. I am fine letting that discussion for a follow up ticket. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > Attachments: screenshot-1.png > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462165#comment-16462165 ] Benjamin Lerer commented on CASSANDRA-7622: --- {quote}Further down the road (in the 6.x/7.x timeframe), leaving these as virtual tables instead of system views may allow future uses like [https://wiki.postgresql.org/wiki/Foreign_data_wrappers] {quote} I think we should be careful to not mix up everything. Even if we reuse the same mechanism internally, the way we expose functionalities to the users is also extremely important. If we take the example of ProgreSQL, they have 2 different functionalities {{System Views}} and {{Foreign Data Wrappers}}. There is a clear distinction between the 2 features from the outside. Mixing up everything under the {{Virtual Table}} hat is not in my opinion the right approach. {quote}But on the other side, I can come up with the following counter-arguments: * if we do ever allow user to create their own, then "System View" becomes imo somewhat misleading/wrong. As said above, I'm actually yet to be convinced that we should do the former, but not to the point that I'm against future proofing.{quote} I am also not convinced that we should do it. I would really love to avoid another {{Trigger}} like feature. {quote} * we've used "virtual tables" for a long time now. I worry that it's too late to change the naming now, that even if we somewhat officially decide to rename to System Views, people will informally continue to refer to "virtual tables" and more confusion than anything will follow.{quote} [~slebresne] For {{Materialized Views}} we initially started with the {{Global Index}} name. We only changed it later on and it was in my opinion a good decision because people understood straight away what it was. C* is now used by a huge amount of people. Only a tiny fraction of them is following that ticket or the NGCC discussions. We should choose what is the best for them. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > Attachments: screenshot-1.png > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14420) dtests not determining C* version correctly
[ https://issues.apache.org/jira/browse/CASSANDRA-14420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462052#comment-16462052 ] Sam Tunnicliffe commented on CASSANDRA-14420: - Thanks [~bdeggleston], I've pushed an additional commit addressing your comments and re-run CI: * [2.2|https://circleci.com/gh/beobal/cassandra/199] * [3.0|https://circleci.com/gh/beobal/cassandra/197] * [3.11|https://circleci.com/gh/beobal/cassandra/198] * [trunk|https://circleci.com/gh/beobal/cassandra/200] > dtests not determining C* version correctly > --- > > Key: CASSANDRA-14420 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14420 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe >Priority: Major > > In the course of CASSANDRA-14134, the means of extracting the C* version > under test before starting a cluster became broken. This is necessary in > cases where we want to gate values in cassandra.yaml based on version, so a > couple of tests are affected. The specifics are that the global > {{CASSANDRA_VERSION_FROM_BUILD}} was hardcoded to '4.0' and the ways in which > the various tests use it have meant that it was undetected until now. > Also, the {{fixture_since}} which we use to implement the {{@since}} > annotation is broken when a {{--cassandra-version}} is supplied, rather than > {{--cassandra-dir}}, meaning testing against released versions from git isn't > working right now. > Tests directly affected: > * {{auth_test.py}} - CASSANDRA-13985 added some gating of yaml props and > additional checks on CQL results based on the build version. These failed on > 3.11, which is how this issue was uncovered, but they're also broken on 2.2 > on builds.apache.org > * {{user_functions_test.py}} - gates setting a yaml property when version < > 3.0. Failing on 2.2. > * {{upgrade_tests}} - a number of these use the variable, but I don't think > they're actually being run at the moment. > * {{repair_tests/repair_test.py}}, {{replace_address_test.py}} & > {{thrift_test}} all use the global, but only to verify that the version is > not 3.9. As we're not running CI for that version, no-one noticed. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14435) Diag. Events: JMX events
[ https://issues.apache.org/jira/browse/CASSANDRA-14435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462003#comment-16462003 ] mck commented on CASSANDRA-14435: - [~cnlwsu], thanks for highlighting past issues with jmx in CASSANDRA-13480 > Diag. Events: JMX events > > > Key: CASSANDRA-14435 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14435 > Project: Cassandra > Issue Type: New Feature >Reporter: Stefan Podkowinski >Assignee: Stefan Podkowinski >Priority: Major > Fix For: 4.x > > > Nodes currently use JMX events for progress reporting on bootstrap and > repairs. This might also be an option to expose diagnostic events to external > subscribers. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org