[2/4] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c2eb7bd7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c2eb7bd7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c2eb7bd7 Branch: refs/heads/cassandra-2.2 Commit: c2eb7bd7ddb83d0a4d4612adb0e3ebd773c8ba67 Parents: acdbdc2 0bb32f0 Author: Marcus ErikssonAuthored: Mon Sep 7 07:56:58 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:56:58 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2eb7bd7/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[4/4] cassandra git commit: Properly deserialize PrepareMessage for global repairs
Properly deserialize PrepareMessage for global repairs Patch by marcuse; reviewed by yukim for CASSANDRA-10265 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dae2045f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dae2045f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dae2045f Branch: refs/heads/cassandra-2.2 Commit: dae2045f0b444f4857141463335893becaa05a89 Parents: 99c6ad6 Author: Marcus ErikssonAuthored: Fri Sep 4 10:20:31 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:04:52 2015 +0200 -- NEWS.txt| 4 .../cassandra/repair/messages/PrepareMessage.java | 12 ++-- .../apache/cassandra/repair/messages/RepairMessage.java | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 2523af2..4c2c52e 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -22,6 +22,10 @@ Changed Defaults - commitlog_total_space_in_mb will use the smaller of 8192, and 1/4 of the total space of the commitlog volume. (Before: always used 8192) + - Incremental repair is on by default since 2.2.0, run full repairs by + providing the '-full' parameter to nodetool repair. + - Parallel repairs are the default since 2.2.0, run sequential repairs + by providing the '-seq' parameter to nodetool repair. 2.2.1 http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java b/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java index a57c27e..3a00376 100644 --- a/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java +++ b/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java @@ -34,7 +34,8 @@ import org.apache.cassandra.utils.UUIDSerializer; public class PrepareMessage extends RepairMessage { -public final static MessageSerializer serializer = new PrepareMessageSerializer(); +public final static MessageSerializer serializer = new PrepareMessageSerializer(false); +public final static MessageSerializer globalSerializer = new PrepareMessageSerializer(true); public final List cfIds; public final Collection ranges; @@ -52,6 +53,13 @@ public class PrepareMessage extends RepairMessage public static class PrepareMessageSerializer implements MessageSerializer { +private final boolean isGlobal; + +public PrepareMessageSerializer(boolean global) +{ +this.isGlobal = global; +} + public void serialize(PrepareMessage message, DataOutputPlus out, int version) throws IOException { out.writeInt(message.cfIds.size()); @@ -80,7 +88,7 @@ public class PrepareMessage extends RepairMessage ranges.add((Range) Range.tokenSerializer.deserialize(in, MessagingService.globalPartitioner(), version)); boolean isIncremental = in.readBoolean(); -return new PrepareMessage(parentRepairSession, cfIds, ranges, isIncremental, false); +return new PrepareMessage(parentRepairSession, cfIds, ranges, isIncremental, isGlobal); } public long serializedSize(PrepareMessage message, int version) http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/src/java/org/apache/cassandra/repair/messages/RepairMessage.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/RepairMessage.java b/src/java/org/apache/cassandra/repair/messages/RepairMessage.java index d78c2fd..82e474f 100644 --- a/src/java/org/apache/cassandra/repair/messages/RepairMessage.java +++ b/src/java/org/apache/cassandra/repair/messages/RepairMessage.java @@ -45,7 +45,7 @@ public abstract class RepairMessage SYNC_COMPLETE(3, SyncComplete.serializer), ANTICOMPACTION_REQUEST(4, AnticompactionRequest.serializer), PREPARE_MESSAGE(5, PrepareMessage.serializer), -PREPARE_GLOBAL_MESSAGE(8, PrepareMessage.serializer), +PREPARE_GLOBAL_MESSAGE(8, PrepareMessage.globalSerializer), SNAPSHOT(6, SnapshotMessage.serializer), CLEANUP(7, CleanupMessage.serializer);
[1/4] cassandra git commit: Dont propagate exception in sstableexpiredblockers
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 464ca14aa -> dae2045f0 Dont propagate exception in sstableexpiredblockers Patch by marcuse; reviewed by brandonwilliams for CASSANDRA-10240 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bb32f0b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bb32f0b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bb32f0b Branch: refs/heads/cassandra-2.2 Commit: 0bb32f0b6349ca25ac74a171afffed55d5aa8131 Parents: 5bc56c3 Author: Marcus ErikssonAuthored: Wed Sep 2 19:24:36 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:53:11 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bb32f0b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java -- diff --git a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java index b5fa779..d324e73 100644 --- a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java +++ b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java @@ -80,8 +80,7 @@ public class SSTableExpiredBlockers } catch (Throwable t) { -out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)); -Throwables.propagate(t); +out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)+" ("+t.getMessage()+")"); } } }
[2/8] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c2eb7bd7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c2eb7bd7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c2eb7bd7 Branch: refs/heads/trunk Commit: c2eb7bd7ddb83d0a4d4612adb0e3ebd773c8ba67 Parents: acdbdc2 0bb32f0 Author: Marcus ErikssonAuthored: Mon Sep 7 07:56:58 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:56:58 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2eb7bd7/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[6/8] cassandra git commit: Properly deserialize PrepareMessage for global repairs
Properly deserialize PrepareMessage for global repairs Patch by marcuse; reviewed by yukim for CASSANDRA-10265 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dae2045f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dae2045f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dae2045f Branch: refs/heads/trunk Commit: dae2045f0b444f4857141463335893becaa05a89 Parents: 99c6ad6 Author: Marcus ErikssonAuthored: Fri Sep 4 10:20:31 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:04:52 2015 +0200 -- NEWS.txt| 4 .../cassandra/repair/messages/PrepareMessage.java | 12 ++-- .../apache/cassandra/repair/messages/RepairMessage.java | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 2523af2..4c2c52e 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -22,6 +22,10 @@ Changed Defaults - commitlog_total_space_in_mb will use the smaller of 8192, and 1/4 of the total space of the commitlog volume. (Before: always used 8192) + - Incremental repair is on by default since 2.2.0, run full repairs by + providing the '-full' parameter to nodetool repair. + - Parallel repairs are the default since 2.2.0, run sequential repairs + by providing the '-seq' parameter to nodetool repair. 2.2.1 http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java b/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java index a57c27e..3a00376 100644 --- a/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java +++ b/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java @@ -34,7 +34,8 @@ import org.apache.cassandra.utils.UUIDSerializer; public class PrepareMessage extends RepairMessage { -public final static MessageSerializer serializer = new PrepareMessageSerializer(); +public final static MessageSerializer serializer = new PrepareMessageSerializer(false); +public final static MessageSerializer globalSerializer = new PrepareMessageSerializer(true); public final List cfIds; public final Collection ranges; @@ -52,6 +53,13 @@ public class PrepareMessage extends RepairMessage public static class PrepareMessageSerializer implements MessageSerializer { +private final boolean isGlobal; + +public PrepareMessageSerializer(boolean global) +{ +this.isGlobal = global; +} + public void serialize(PrepareMessage message, DataOutputPlus out, int version) throws IOException { out.writeInt(message.cfIds.size()); @@ -80,7 +88,7 @@ public class PrepareMessage extends RepairMessage ranges.add((Range) Range.tokenSerializer.deserialize(in, MessagingService.globalPartitioner(), version)); boolean isIncremental = in.readBoolean(); -return new PrepareMessage(parentRepairSession, cfIds, ranges, isIncremental, false); +return new PrepareMessage(parentRepairSession, cfIds, ranges, isIncremental, isGlobal); } public long serializedSize(PrepareMessage message, int version) http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/src/java/org/apache/cassandra/repair/messages/RepairMessage.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/RepairMessage.java b/src/java/org/apache/cassandra/repair/messages/RepairMessage.java index d78c2fd..82e474f 100644 --- a/src/java/org/apache/cassandra/repair/messages/RepairMessage.java +++ b/src/java/org/apache/cassandra/repair/messages/RepairMessage.java @@ -45,7 +45,7 @@ public abstract class RepairMessage SYNC_COMPLETE(3, SyncComplete.serializer), ANTICOMPACTION_REQUEST(4, AnticompactionRequest.serializer), PREPARE_MESSAGE(5, PrepareMessage.serializer), -PREPARE_GLOBAL_MESSAGE(8, PrepareMessage.serializer), +PREPARE_GLOBAL_MESSAGE(8, PrepareMessage.globalSerializer), SNAPSHOT(6, SnapshotMessage.serializer), CLEANUP(7, CleanupMessage.serializer);
[4/8] 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/53359607 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53359607 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53359607 Branch: refs/heads/trunk Commit: 53359607640b064db91ff772e3c0e487eb03f7c4 Parents: a7895cf 99c6ad6 Author: Marcus ErikssonAuthored: Mon Sep 7 08:01:29 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:01:29 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/53359607/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[8/8] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Merge branch 'cassandra-3.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/51d7aaad Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/51d7aaad Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/51d7aaad Branch: refs/heads/trunk Commit: 51d7aaada74cd0110d1c4255e1df947c830a4ca5 Parents: aa41b6d f669588 Author: Marcus ErikssonAuthored: Mon Sep 7 08:07:04 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:07:04 2015 +0200 -- --
[5/8] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Merge branch 'cassandra-3.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/aa41b6d0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/aa41b6d0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/aa41b6d0 Branch: refs/heads/trunk Commit: aa41b6d0f0343ca2a67e0bc88abb554d0691d372 Parents: 108f3de 5335960 Author: Marcus ErikssonAuthored: Mon Sep 7 08:02:07 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:02:07 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --
[3/8] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' into cassandra-2.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/99c6ad65 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/99c6ad65 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/99c6ad65 Branch: refs/heads/trunk Commit: 99c6ad659e887c0cfbc7c38942e764d56b832881 Parents: 464ca14 c2eb7bd Author: Marcus ErikssonAuthored: Mon Sep 7 07:58:49 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:58:49 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/99c6ad65/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[1/8] cassandra git commit: Dont propagate exception in sstableexpiredblockers
Repository: cassandra Updated Branches: refs/heads/trunk 108f3de9b -> 51d7aaada Dont propagate exception in sstableexpiredblockers Patch by marcuse; reviewed by brandonwilliams for CASSANDRA-10240 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bb32f0b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bb32f0b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bb32f0b Branch: refs/heads/trunk Commit: 0bb32f0b6349ca25ac74a171afffed55d5aa8131 Parents: 5bc56c3 Author: Marcus ErikssonAuthored: Wed Sep 2 19:24:36 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:53:11 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bb32f0b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java -- diff --git a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java index b5fa779..d324e73 100644 --- a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java +++ b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java @@ -80,8 +80,7 @@ public class SSTableExpiredBlockers } catch (Throwable t) { -out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)); -Throwables.propagate(t); +out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)+" ("+t.getMessage()+")"); } } }
[1/2] cassandra git commit: Dont propagate exception in sstableexpiredblockers
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 acdbdc28c -> c2eb7bd7d Dont propagate exception in sstableexpiredblockers Patch by marcuse; reviewed by brandonwilliams for CASSANDRA-10240 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bb32f0b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bb32f0b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bb32f0b Branch: refs/heads/cassandra-2.1 Commit: 0bb32f0b6349ca25ac74a171afffed55d5aa8131 Parents: 5bc56c3 Author: Marcus ErikssonAuthored: Wed Sep 2 19:24:36 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:53:11 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bb32f0b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java -- diff --git a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java index b5fa779..d324e73 100644 --- a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java +++ b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java @@ -80,8 +80,7 @@ public class SSTableExpiredBlockers } catch (Throwable t) { -out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)); -Throwables.propagate(t); +out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)+" ("+t.getMessage()+")"); } } }
[3/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' into cassandra-2.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/99c6ad65 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/99c6ad65 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/99c6ad65 Branch: refs/heads/cassandra-2.2 Commit: 99c6ad659e887c0cfbc7c38942e764d56b832881 Parents: 464ca14 c2eb7bd Author: Marcus ErikssonAuthored: Mon Sep 7 07:58:49 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:58:49 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/99c6ad65/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[4/6] 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/53359607 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53359607 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53359607 Branch: refs/heads/cassandra-3.0 Commit: 53359607640b064db91ff772e3c0e487eb03f7c4 Parents: a7895cf 99c6ad6 Author: Marcus ErikssonAuthored: Mon Sep 7 08:01:29 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:01:29 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/53359607/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[1/6] cassandra git commit: Dont propagate exception in sstableexpiredblockers
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 a7895cfb2 -> f6695884e Dont propagate exception in sstableexpiredblockers Patch by marcuse; reviewed by brandonwilliams for CASSANDRA-10240 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bb32f0b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bb32f0b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bb32f0b Branch: refs/heads/cassandra-3.0 Commit: 0bb32f0b6349ca25ac74a171afffed55d5aa8131 Parents: 5bc56c3 Author: Marcus ErikssonAuthored: Wed Sep 2 19:24:36 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:53:11 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bb32f0b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java -- diff --git a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java index b5fa779..d324e73 100644 --- a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java +++ b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java @@ -80,8 +80,7 @@ public class SSTableExpiredBlockers } catch (Throwable t) { -out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)); -Throwables.propagate(t); +out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)+" ("+t.getMessage()+")"); } } }
[3/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' into cassandra-2.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/99c6ad65 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/99c6ad65 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/99c6ad65 Branch: refs/heads/cassandra-3.0 Commit: 99c6ad659e887c0cfbc7c38942e764d56b832881 Parents: 464ca14 c2eb7bd Author: Marcus ErikssonAuthored: Mon Sep 7 07:58:49 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:58:49 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/99c6ad65/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[5/6] cassandra git commit: Properly deserialize PrepareMessage for global repairs
Properly deserialize PrepareMessage for global repairs Patch by marcuse; reviewed by yukim for CASSANDRA-10265 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dae2045f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dae2045f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dae2045f Branch: refs/heads/cassandra-3.0 Commit: dae2045f0b444f4857141463335893becaa05a89 Parents: 99c6ad6 Author: Marcus ErikssonAuthored: Fri Sep 4 10:20:31 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:04:52 2015 +0200 -- NEWS.txt| 4 .../cassandra/repair/messages/PrepareMessage.java | 12 ++-- .../apache/cassandra/repair/messages/RepairMessage.java | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 2523af2..4c2c52e 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -22,6 +22,10 @@ Changed Defaults - commitlog_total_space_in_mb will use the smaller of 8192, and 1/4 of the total space of the commitlog volume. (Before: always used 8192) + - Incremental repair is on by default since 2.2.0, run full repairs by + providing the '-full' parameter to nodetool repair. + - Parallel repairs are the default since 2.2.0, run sequential repairs + by providing the '-seq' parameter to nodetool repair. 2.2.1 http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java b/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java index a57c27e..3a00376 100644 --- a/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java +++ b/src/java/org/apache/cassandra/repair/messages/PrepareMessage.java @@ -34,7 +34,8 @@ import org.apache.cassandra.utils.UUIDSerializer; public class PrepareMessage extends RepairMessage { -public final static MessageSerializer serializer = new PrepareMessageSerializer(); +public final static MessageSerializer serializer = new PrepareMessageSerializer(false); +public final static MessageSerializer globalSerializer = new PrepareMessageSerializer(true); public final List cfIds; public final Collection ranges; @@ -52,6 +53,13 @@ public class PrepareMessage extends RepairMessage public static class PrepareMessageSerializer implements MessageSerializer { +private final boolean isGlobal; + +public PrepareMessageSerializer(boolean global) +{ +this.isGlobal = global; +} + public void serialize(PrepareMessage message, DataOutputPlus out, int version) throws IOException { out.writeInt(message.cfIds.size()); @@ -80,7 +88,7 @@ public class PrepareMessage extends RepairMessage ranges.add((Range) Range.tokenSerializer.deserialize(in, MessagingService.globalPartitioner(), version)); boolean isIncremental = in.readBoolean(); -return new PrepareMessage(parentRepairSession, cfIds, ranges, isIncremental, false); +return new PrepareMessage(parentRepairSession, cfIds, ranges, isIncremental, isGlobal); } public long serializedSize(PrepareMessage message, int version) http://git-wip-us.apache.org/repos/asf/cassandra/blob/dae2045f/src/java/org/apache/cassandra/repair/messages/RepairMessage.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/RepairMessage.java b/src/java/org/apache/cassandra/repair/messages/RepairMessage.java index d78c2fd..82e474f 100644 --- a/src/java/org/apache/cassandra/repair/messages/RepairMessage.java +++ b/src/java/org/apache/cassandra/repair/messages/RepairMessage.java @@ -45,7 +45,7 @@ public abstract class RepairMessage SYNC_COMPLETE(3, SyncComplete.serializer), ANTICOMPACTION_REQUEST(4, AnticompactionRequest.serializer), PREPARE_MESSAGE(5, PrepareMessage.serializer), -PREPARE_GLOBAL_MESSAGE(8, PrepareMessage.serializer), +PREPARE_GLOBAL_MESSAGE(8, PrepareMessage.globalSerializer), SNAPSHOT(6, SnapshotMessage.serializer), CLEANUP(7, CleanupMessage.serializer);
[6/6] 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/f6695884 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f6695884 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f6695884 Branch: refs/heads/cassandra-3.0 Commit: f6695884e212ad8af3a2e389d3dd5cf9396dfc43 Parents: 5335960 dae2045 Author: Marcus ErikssonAuthored: Mon Sep 7 08:06:55 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:06:55 2015 +0200 -- --
[2/6] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c2eb7bd7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c2eb7bd7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c2eb7bd7 Branch: refs/heads/cassandra-3.0 Commit: c2eb7bd7ddb83d0a4d4612adb0e3ebd773c8ba67 Parents: acdbdc2 0bb32f0 Author: Marcus ErikssonAuthored: Mon Sep 7 07:56:58 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:56:58 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2eb7bd7/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[7/8] 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/f6695884 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f6695884 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f6695884 Branch: refs/heads/trunk Commit: f6695884e212ad8af3a2e389d3dd5cf9396dfc43 Parents: 5335960 dae2045 Author: Marcus ErikssonAuthored: Mon Sep 7 08:06:55 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 08:06:55 2015 +0200 -- --
cassandra git commit: Dont propagate exception in sstableexpiredblockers
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 5bc56c3e4 -> 0bb32f0b6 Dont propagate exception in sstableexpiredblockers Patch by marcuse; reviewed by brandonwilliams for CASSANDRA-10240 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bb32f0b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bb32f0b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bb32f0b Branch: refs/heads/cassandra-2.0 Commit: 0bb32f0b6349ca25ac74a171afffed55d5aa8131 Parents: 5bc56c3 Author: Marcus ErikssonAuthored: Wed Sep 2 19:24:36 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:53:11 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bb32f0b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java -- diff --git a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java index b5fa779..d324e73 100644 --- a/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java +++ b/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java @@ -80,8 +80,7 @@ public class SSTableExpiredBlockers } catch (Throwable t) { -out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)); -Throwables.propagate(t); +out.println("Couldn't open sstable: " + sstable.getKey().filenameFor(Component.DATA)+" ("+t.getMessage()+")"); } } }
[jira] [Commented] (CASSANDRA-10085) Allow BATCH with conditions to span multiple tables with same partition key
[ https://issues.apache.org/jira/browse/CASSANDRA-10085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733311#comment-14733311 ] Dennis Roppelt commented on CASSANDRA-10085: Hello Sylvain, Thank you for the quick and informative reply. I already anticipated that this would not be trivial to implement, and might go against some design principles created in C*. I also can see why this won't be implemented soon or at all. I will look into a different approach of modelling my data or see if another database is a better fit (obviously standard RDBMS will work for the model). It is a bit disappointing though, that this limitation was not mentioned in the documentation. Compared to other NoSQL-DBs, Cassandra has an outstandingly good documentation. How would I suggest adding a hint about the limitiation with batch + conditional statements across tables? Creating a new issue and link to this one? > Allow BATCH with conditions to span multiple tables with same partition key > --- > > Key: CASSANDRA-10085 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10085 > Project: Cassandra > Issue Type: Improvement >Reporter: Dennis Roppelt > Labels: batch, conditional-statement, partitioning > > h4. Use case: > I want to use batch to keep data between tables synchronized with help of > conditionals. In particular, I want to have a ONE-to-ONE relationship in my > data model. I dont want to have an unintended upsert while trying to maintain > a consistent one-to-one relationship (write requests from other clients that > try to create a different relationship with one of the keys I inteded to > use), which is why I would like the IF NOT EXISTS when inserting data into > multiple tables in a batch. > But when trying to insert data in a batch-block with an IF NOT EXISTS, I get > the following response (reproduceable example further below): > {code} > cqlsh:testkeyspace> > BEGIN BATCH > INSERT INTO key1_to_key2 (partKey, key1, key2) values (1,2,3) IF NOT EXISTS; > INSERT INTO key2_to_key1 (partKey, key1, key2) values (1,2,3) IF NOT EXISTS; > APPLY BATCH; > Bad Request: Batch with conditions cannot span multiple tables{code} > The tables have a primary key on (partKey, key1) and (partKey, key2). Which > means that partKey in both cases is their partition key. Which in the example > also is the same value. > h4. Why I want to use a BATCH-statement that way: > In traditional databases, to design a one-to-one relationship, I would create > one table with two keys, both with a unique constraint: > {code:sql} > CREATE TABLE `myOneToOneTable` ( > `ID` int NOT NULL, > `KEY_ONE` int NOT NULL, > `KEY_TWO` int NOT NULL, > // some other fields > PRIMARY KEY (`ID`), > UNIQUE KEY `KEY_ONE`, > UNIQUE KEY `KEY_TWO` > ); > {code} > (simplified example taken from an [one-to-one example for > mysql|http://www.mkyong.com/mysql/how-to-define-one-to-one-relationship-in-mysql/]) > As far as I know, unique constraints are not supported in Cassandra, so > another way around it would be to maintain the relationshipt between two > tables, each sharing the same partition key. For which I would like Cassandra > to make sure that when I insert data, either both are inserted at the same > time or none (to prevent other writing client to insert a different > one-to-one relationship than me). > [According to the documentation, this is what BATCH-Statements are used > for|http://docs.datastax.com/en/cql/3.3/cql/cql_using/useBatch.html] > {quote} > Instead, using batches to synchronize data to tables is a legitimate > operation. > {quote} > I expected it to be able to do it, but as seen above, I cannot enforce INSERT > IF NOT EXISTS over multiple tables. > I do understand the background as to *why* there is a limitation coded that > way, so that not too many nodes have to take part in processing of the batch. > However, if the operations use > # primary keys in their statements for each table > # all primary keys contain the same value, thus resulting in the same hash > for partioning > # tables belong to the same keyspace > the batch statement should be able to be limited to the same amount of nodes > as if the batch contained INSERT IF NOT EXISTs for only one table. > h4. Steps to reproduce desired behaviour: > I used the [cassandra ova on virtual > box|http://www.planetcassandra.org/install-cassandra-ova-on-virtualbox/], but > also a Windows Setup with 2.2.0 > {code} > Connected to Cluster on a Stick at localhost:9160. > > [cqlsh 4.1.1 | Cassandra 2.0.7 | CQL spec 3.1.1 | Thrift protocol 19.39.0] > > Use HELP for help. > > cqlsh> CREATE KEYSPACE conditionalBatch
[jira] [Created] (CASSANDRA-10276) With DTCS, do STCS in windows if more than max_threshold sstables
Marcus Eriksson created CASSANDRA-10276: --- Summary: With DTCS, do STCS in windows if more than max_threshold sstables Key: CASSANDRA-10276 URL: https://issues.apache.org/jira/browse/CASSANDRA-10276 Project: Cassandra Issue Type: Sub-task Reporter: Marcus Eriksson Assignee: Marcus Eriksson To avoid constant recompaction of files in DTCS windows, we should do STCS of those files. Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10276) With DTCS, do STCS in windows if more than max_threshold sstables
[ https://issues.apache.org/jira/browse/CASSANDRA-10276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-10276: Fix Version/s: 2.2.x > With DTCS, do STCS in windows if more than max_threshold sstables > - > > Key: CASSANDRA-10276 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10276 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 3.x, 2.1.x, 2.2.x > > > To avoid constant recompaction of files in DTCS windows, we should do STCS of > those files. > Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c2eb7bd7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c2eb7bd7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c2eb7bd7 Branch: refs/heads/cassandra-2.1 Commit: c2eb7bd7ddb83d0a4d4612adb0e3ebd773c8ba67 Parents: acdbdc2 0bb32f0 Author: Marcus ErikssonAuthored: Mon Sep 7 07:56:58 2015 +0200 Committer: Marcus Eriksson Committed: Mon Sep 7 07:56:58 2015 +0200 -- src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2eb7bd7/src/java/org/apache/cassandra/tools/SSTableExpiredBlockers.java --
[jira] [Updated] (CASSANDRA-10276) With DTCS, do STCS in windows if more than max_threshold sstables
[ https://issues.apache.org/jira/browse/CASSANDRA-10276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-10276: Description: To avoid constant recompaction of files in big ( > max threshold) DTCS windows, we should do STCS of those files. Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs was: To avoid constant recompaction of files in DTCS windows, we should do STCS of those files. Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs > With DTCS, do STCS in windows if more than max_threshold sstables > - > > Key: CASSANDRA-10276 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10276 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 3.x, 2.1.x, 2.2.x > > > To avoid constant recompaction of files in big ( > max threshold) DTCS > windows, we should do STCS of those files. > Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8907) Raise GCInspector alerts to WARN
[ https://issues.apache.org/jira/browse/CASSANDRA-8907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1470#comment-1470 ] Adam Hattrell commented on CASSANDRA-8907: -- Even for the slackest user requirements - I've never a system that a seconds pause didn't kill it. I would strongly advocate for warning at least at that level. I would probably advocate 500ms as being significantly poor. I've seen a few users that manage at 200ms. I'd like 500ms in current and then 200 in 3.0. I'd settle for 1000 in current. I'd prefer 20k to disabled! > Raise GCInspector alerts to WARN > > > Key: CASSANDRA-8907 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8907 > Project: Cassandra > Issue Type: Improvement >Reporter: Adam Hattrell >Assignee: Amit Singh Chowdhery > Labels: patch > Attachments: cassnadra-8907.patch > > > I'm fairly regularly running into folks wondering why their applications are > reporting down nodes. Yet, they report, when they grepped the logs they have > no WARN or ERRORs listed. > Nine times out of ten, when I look through the logs we see a ton of ParNew or > CMS gc pauses occurring similar to the following: > INFO [ScheduledTasks:1] 2013-03-07 18:44:46,795 GCInspector.java (line 122) > GC for ConcurrentMarkSweep: 1835 ms for 3 collections, 2606015656 used; max > is 10611589120 > INFO [ScheduledTasks:1] 2013-03-07 19:45:08,029 GCInspector.java (line 122) > GC for ParNew: 9866 ms for 8 collections, 2910124308 used; max is 6358564864 > To my mind these should be WARN's as they have the potential to be > significantly impacting the clusters performance as a whole. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8630) Faster sequential IO (on compaction, streaming, etc)
[ https://issues.apache.org/jira/browse/CASSANDRA-8630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733463#comment-14733463 ] Stefania commented on CASSANDRA-8630: - {{FB.NS_DANGEROUS_NON_SHORT_CIRCUIT}} I don't care much about either. As for {{FB.UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR}}, even if it's not a problem at the moment, it may confuse somebody in future and cause a problem. I also don't mind either way though, so let's wait for [~aweisberg]'s input as well and then decide? CI: http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-8630-3.0-coverity-dtest/ http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-8630-3.0-coverity-testall/ A few failed dtests but the failures are also on the unpatched 3.0. > Faster sequential IO (on compaction, streaming, etc) > > > Key: CASSANDRA-8630 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8630 > Project: Cassandra > Issue Type: Improvement > Components: Core, Tools >Reporter: Oleg Anastasyev >Assignee: Stefania > Labels: compaction, performance > Fix For: 3.x > > Attachments: 8630-FasterSequencialReadsAndWrites.txt, cpu_load.png, > flight_recorder_001_files.tar.gz, flight_recorder_002_files.tar.gz, > mmaped_uncomp_hotspot.png > > > When node is doing a lot of sequencial IO (streaming, compacting, etc) a lot > of CPU is lost in calls to RAF's int read() and DataOutputStream's write(int). > This is because default implementations of readShort,readLong, etc as well as > their matching write* are implemented with numerous calls of byte by byte > read and write. > This makes a lot of syscalls as well. > A quick microbench shows than just reimplementation of these methods in > either way gives 8x speed increase. > A patch attached implements RandomAccessReader.read and > SequencialWriter.write methods in more efficient way. > I also eliminated some extra byte copies in CompositeType.split and > ColumnNameHelper.maxComponents, which were on my profiler's hotspot method > list during tests. > A stress tests on my laptop show that this patch makes compaction 25-30% > faster on uncompressed sstables and 15% faster for compressed ones. > A deployment to production shows much less CPU load for compaction. > (I attached a cpu load graph from one of our production, orange is niced CPU > load - i.e. compaction; yellow is user - i.e. not compaction related tasks) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-10085) Allow BATCH with conditions to span multiple tables with same partition key
[ https://issues.apache.org/jira/browse/CASSANDRA-10085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733311#comment-14733311 ] Dennis Roppelt edited comment on CASSANDRA-10085 at 9/7/15 7:06 AM: Hello Sylvain, Thank you for the quick and informative reply. I already anticipated that this would not be trivial to implement, and might go against some design principles created in C*. I also can see why this won't be implemented soon or at all. I will look into a different approach of modelling my data or see if another database is a better fit (obviously standard RDBMS will work for the model). It is a bit disappointing though, that this limitation was not mentioned in the documentation. Compared to other NoSQL-DBs, Cassandra usually has an outstandingly good documentation, with lots of examples and details. How would I suggest adding a hint about the limitiation with batch + conditional statements across tables? Creating a new issue and link to this one? was (Author: roppeldidu): Hello Sylvain, Thank you for the quick and informative reply. I already anticipated that this would not be trivial to implement, and might go against some design principles created in C*. I also can see why this won't be implemented soon or at all. I will look into a different approach of modelling my data or see if another database is a better fit (obviously standard RDBMS will work for the model). It is a bit disappointing though, that this limitation was not mentioned in the documentation. Compared to other NoSQL-DBs, Cassandra has an outstandingly good documentation. How would I suggest adding a hint about the limitiation with batch + conditional statements across tables? Creating a new issue and link to this one? > Allow BATCH with conditions to span multiple tables with same partition key > --- > > Key: CASSANDRA-10085 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10085 > Project: Cassandra > Issue Type: Improvement >Reporter: Dennis Roppelt > Labels: batch, conditional-statement, partitioning > > h4. Use case: > I want to use batch to keep data between tables synchronized with help of > conditionals. In particular, I want to have a ONE-to-ONE relationship in my > data model. I dont want to have an unintended upsert while trying to maintain > a consistent one-to-one relationship (write requests from other clients that > try to create a different relationship with one of the keys I inteded to > use), which is why I would like the IF NOT EXISTS when inserting data into > multiple tables in a batch. > But when trying to insert data in a batch-block with an IF NOT EXISTS, I get > the following response (reproduceable example further below): > {code} > cqlsh:testkeyspace> > BEGIN BATCH > INSERT INTO key1_to_key2 (partKey, key1, key2) values (1,2,3) IF NOT EXISTS; > INSERT INTO key2_to_key1 (partKey, key1, key2) values (1,2,3) IF NOT EXISTS; > APPLY BATCH; > Bad Request: Batch with conditions cannot span multiple tables{code} > The tables have a primary key on (partKey, key1) and (partKey, key2). Which > means that partKey in both cases is their partition key. Which in the example > also is the same value. > h4. Why I want to use a BATCH-statement that way: > In traditional databases, to design a one-to-one relationship, I would create > one table with two keys, both with a unique constraint: > {code:sql} > CREATE TABLE `myOneToOneTable` ( > `ID` int NOT NULL, > `KEY_ONE` int NOT NULL, > `KEY_TWO` int NOT NULL, > // some other fields > PRIMARY KEY (`ID`), > UNIQUE KEY `KEY_ONE`, > UNIQUE KEY `KEY_TWO` > ); > {code} > (simplified example taken from an [one-to-one example for > mysql|http://www.mkyong.com/mysql/how-to-define-one-to-one-relationship-in-mysql/]) > As far as I know, unique constraints are not supported in Cassandra, so > another way around it would be to maintain the relationshipt between two > tables, each sharing the same partition key. For which I would like Cassandra > to make sure that when I insert data, either both are inserted at the same > time or none (to prevent other writing client to insert a different > one-to-one relationship than me). > [According to the documentation, this is what BATCH-Statements are used > for|http://docs.datastax.com/en/cql/3.3/cql/cql_using/useBatch.html] > {quote} > Instead, using batches to synchronize data to tables is a legitimate > operation. > {quote} > I expected it to be able to do it, but as seen above, I cannot enforce INSERT > IF NOT EXISTS over multiple tables. > I do understand the background as to *why* there is a limitation coded that > way, so that not too many nodes have to take part in processing of the batch. > However, if the operations use > #
[jira] [Commented] (CASSANDRA-10255) AttributeError: 'module' object has no attribute 'compress'
[ https://issues.apache.org/jira/browse/CASSANDRA-10255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733312#comment-14733312 ] navithejesh commented on CASSANDRA-10255: - Hi Tyler , -->I have checked the some other single node, which has output message for python -c 'import snappy; print dir(snappy); print snappy._file_' root@orange-tree:~# python -c 'import snappy; print dir(snappy);print snappy.__file__' ['CompressError', 'CompressedLengthError', 'InvalidCompressedInputError', 'UncompressError', '__doc__', '__file__', '__name__', '__package__', 'compress', 'decompress', 'isValidCompressed', 'uncompress'] /usr/lib/python2.7/dist-packages/snappy.so --> Here we see compress and uncompress modules are present. And I checked for the same in node B and it was found in "/usr/lib64/python2.7/site-packages/". I moved snappy.py from the "/usr/lib64/python2.7/site-packages/" to "/usr/lib64/python2.7/site-packages/snappy" directory (snappy installation directory). --> After that i checked python -c 'import snappy; print dir(snappy); print snappy.__file__' [root@localhost snappy]# python -c 'import snappy; print dir(snappy); print snappy.__file__' ['CompressError', 'CompressedLengthError', 'InvalidCompressedInputError', 'StreamCompressor', 'StreamDecompressor', 'UncompressError', '_CHUNK_MAX', '_COMPRESSED_CHUNK', '_COMPRESSION_THRESHOLD', '_IDENTIFIER_CHUNK', '_RESERVED_SKIPPABLE', '_RESERVED_UNSKIPPABLE', '_STREAM_IDENTIFIER', '_STREAM_TO_STREAM_BLOCK_SIZE', '_UNCOMPRESSED_CHUNK', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_compress', '_crc32c', '_masked_crc32c', '_uncompress', 'cmdline_main', 'compress', 'decompress', 'isValidCompressed', 'stream_compress', 'stream_decompress', 'struct', 'uncompress'] snappy.pyc --> we found the compress and related modules all being present. --> Then i ran ./cqlsh and it ran sucessfully.No More Errors Thanks for your support > AttributeError: 'module' object has no attribute 'compress' > > > Key: CASSANDRA-10255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10255 > Project: Cassandra > Issue Type: Bug > Components: Config, Packaging > Environment: Linux fedora 21 >Reporter: navithejesh > Labels: cqlsh > Fix For: 2.1.x > > Attachments: erroe2.jpeg, error.jpeg > > > Hi Recently i have upgrade my server from cassandra version 2.0.11 to 2.1.8 > using tarball installation.And i have added one node to existing culster with > the same version of 2.1.8. All the configuration settings are done but am not > able to run cqlsh from bin directory.and this is the error > AttributeError: 'module' object has no attribute 'compress' > {code} > ./cqlsh > Traceback (most recent call last): > File "./cqlsh", line 111, in > from cassandra.cluster import Cluster, PagedResult > File > "/home/cassandra/apache-cassandra-2.1.8/bin/../lib/cassandra-driver-internal-only-2.6.0c2.post.zip/cassandra-driver-2.6.0c2.post/cassandra/cluster.py", > line 49, in > File > "/home/cassandra/apache-cassandra-2.1.8/bin/../lib/cassandra-driver-internal-only-2.6.0c2.post.zip/cassandra-driver-2.6.0c2.post/cassandra/connection.py", > line 88, in > AttributeError: 'module' object has no attribute 'compress' > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8630) Faster sequential IO (on compaction, streaming, etc)
[ https://issues.apache.org/jira/browse/CASSANDRA-8630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733448#comment-14733448 ] Benedict commented on CASSANDRA-8630: - Neither of them are actually bugs. I don't mind if we "fix" them, but we don't _have_ to; just those that are genuine problems. Let me know if you'd still like to commit the patch. > Faster sequential IO (on compaction, streaming, etc) > > > Key: CASSANDRA-8630 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8630 > Project: Cassandra > Issue Type: Improvement > Components: Core, Tools >Reporter: Oleg Anastasyev >Assignee: Stefania > Labels: compaction, performance > Fix For: 3.x > > Attachments: 8630-FasterSequencialReadsAndWrites.txt, cpu_load.png, > flight_recorder_001_files.tar.gz, flight_recorder_002_files.tar.gz, > mmaped_uncomp_hotspot.png > > > When node is doing a lot of sequencial IO (streaming, compacting, etc) a lot > of CPU is lost in calls to RAF's int read() and DataOutputStream's write(int). > This is because default implementations of readShort,readLong, etc as well as > their matching write* are implemented with numerous calls of byte by byte > read and write. > This makes a lot of syscalls as well. > A quick microbench shows than just reimplementation of these methods in > either way gives 8x speed increase. > A patch attached implements RandomAccessReader.read and > SequencialWriter.write methods in more efficient way. > I also eliminated some extra byte copies in CompositeType.split and > ColumnNameHelper.maxComponents, which were on my profiler's hotspot method > list during tests. > A stress tests on my laptop show that this patch makes compaction 25-30% > faster on uncompressed sstables and 15% faster for compressed ones. > A deployment to production shows much less CPU load for compaction. > (I attached a cpu load graph from one of our production, orange is niced CPU > load - i.e. compaction; yellow is user - i.e. not compaction related tasks) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10274) Assertion Errors when interrupting Cleanup
[ https://issues.apache.org/jira/browse/CASSANDRA-10274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benedict updated CASSANDRA-10274: - Priority: Critical (was: Major) > Assertion Errors when interrupting Cleanup > -- > > Key: CASSANDRA-10274 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10274 > Project: Cassandra > Issue Type: Bug >Reporter: Jeff Jirsa >Priority: Critical > Fix For: 2.1.x > > > Exceptions encountered after Interrupting cleanup on 2.1.7 - logging due to > nature. Seen on 2 different nodes. May be related to CASSANDRA-10260 . > {code} > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,630 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 44698243387/139158 > 624314)bytes > INFO [CompactionExecutor:5838] 2015-09-06 11:33:39,638 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 37886026781/133123 > 638379)bytes > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,639 > CompactionManager.java:749 - Cleaning up > SSTableReader(path='/mnt/cassandra/data/keyspace/table-74bffc100fbe11e5a5ce37a8b36fe285/keyspace-table-26598-Data.db') > ERROR [CompactionExecutor:5838] 2015-09-06 11:33:39,639 > CassandraDaemon.java:223 - Exception in thread > Thread[CompactionExecutor:5838,1,main] > java.lang.AssertionError: Memory was freed > at > org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:97) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at org.apache.cassandra.io.util.Memory.getInt(Memory.java:281) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getPositionInSummary(IndexSummary.java:139) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getKey(IndexSummary.java:144) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.binarySearch(IndexSummary.java:113) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.getIndexScanPosition(SSTableReader.java:1183) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.firstKeyBeyond(SSTableReader.java:1667) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.needsCleanup(CompactionManager.java:693) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne(CompactionManager.java:734) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:94) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:389) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:285) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_51] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] > {code} > And: > {code} > ERROR [IndexSummaryManager:1] 2015-09-06 09:32:23,346 > CassandraDaemon.java:223 - Exception in thread > Thread[IndexSummaryManager:1,1,main] > java.lang.AssertionError: null > at > org.apache.cassandra.io.sstable.SSTableReader.setReplacedBy(SSTableReader.java:955) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneAndReplace(SSTableReader.java:1002) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneWithNewSummarySamplingLevel(SSTableReader.java:1105) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.adjustSamplingLevels(IndexSummaryManager.java:421) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:299) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at >
[jira] [Commented] (CASSANDRA-10209) Missing role manager in cassandra.yaml causes unexpected behaviour
[ https://issues.apache.org/jira/browse/CASSANDRA-10209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733554#comment-14733554 ] Sam Tunnicliffe commented on CASSANDRA-10209: - bq. I'm not sure what other resources should be excluded from client mode, and I'd rather not do it halfway. Not sure I completely follow; it isn't that those resources are excluded from client mode, rather that when *not* in client mode (and so cassandra.yaml isn't read), don't attempt to figure out which of the {{system_auth}} tables are not modifiable. Which seems reasonable, as if an IAuthenticator/IAuthorizer/IRoleManager is set in the yaml, those won't be correct anyway. > Missing role manager in cassandra.yaml causes unexpected behaviour > -- > > Key: CASSANDRA-10209 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10209 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe >Priority: Minor > Fix For: 2.2.x, 3.0.0 rc1 > > > On upgrading to 2.2+, if the new {{role_manager}} option is not added to > {{cassandra.yaml}}, an instance of the default {{CassandraRoleManager}} is > created during initialization of {{DatabaseDescriptor}}. This is a problem as > the set of role options supported by {{CRM}} depends on the configured > {{IAuthenticator}}, which at that point in time is always > {{AllowAllAuthenticator}}. > This StackOverflow post describes the problem; the configured authenticator > is {{PasswordAuthenticator}}, the role manager should allow roles to be > created using the {{PASSWORD}} option, but it does not. > http://stackoverflow.com/questions/31820914/in-cassandra-2-2-unable-to-create-role-containing-password > The simple workaround is to ensure that yaml contains the role manager option > {code} > role_manager: CassandraRoleManager > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10215) Reduce redundant secondary index selection lookups
[ https://issues.apache.org/jira/browse/CASSANDRA-10215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733598#comment-14733598 ] Sam Tunnicliffe commented on CASSANDRA-10215: - bq. Why use a UUID vs just passing the name? Actually, my intention was to keep the size bounded, more than just to have it fixed. Do you think the additional debugging info is worth the potential increase in message size? It's probably only a few bytes in most cases, though I would guess that most index names are > 16 bytes. bq. Why do you have IndexMetadata in the constructor of the read command when it's always passing Optional.empty() in the code? It wasn't *always* passing {{Optional.empty()}}, the super call from {{PartitionRangeReadCommand}} would pass through its own argument which may not be empty. You're right though, originally the member was final but now the {{ReadCommand}} ctor doesn't need that argument, as PRRC can just set it in its own ctor. I've pushed a commit to fix that up. > Reduce redundant secondary index selection lookups > -- > > Key: CASSANDRA-10215 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10215 > Project: Cassandra > Issue Type: Improvement >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe > Fix For: 3.0.0 rc1 > > > Once an index has been identified as being the one that should be used for a > given query, it should be included as part of the {{ReadCommand}} so that it > can be retrieved when needed during execution. Currently we don't do this, > meaning that the index selection process implemented in > {{SIM::getBestIndexFor}} is run multiple times on both the coordinator and > each replica when performing a range command. > This is also a pre-requisite of CASSANDRA-10214 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10274) Assertion Errors when interrupting Cleanup
[ https://issues.apache.org/jira/browse/CASSANDRA-10274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733566#comment-14733566 ] Benedict commented on CASSANDRA-10274: -- Patch available [here|https://github.com/belliottsmith/cassandra/tree/10274-2.1]. I've also pushed a merge for 2.2 [here|https://github.com/belliottsmith/cassandra/tree/10274-2.2]. 2.2 isn't actually affected by this bug, but it conflicts with changes that fixed it, and in merging I used our newish {{Throwables}} static utilities. > Assertion Errors when interrupting Cleanup > -- > > Key: CASSANDRA-10274 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10274 > Project: Cassandra > Issue Type: Bug >Reporter: Jeff Jirsa >Priority: Critical > Fix For: 2.1.x > > > Exceptions encountered after Interrupting cleanup on 2.1.7 - logging due to > nature. Seen on 2 different nodes. May be related to CASSANDRA-10260 . > {code} > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,630 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 44698243387/139158 > 624314)bytes > INFO [CompactionExecutor:5838] 2015-09-06 11:33:39,638 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 37886026781/133123 > 638379)bytes > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,639 > CompactionManager.java:749 - Cleaning up > SSTableReader(path='/mnt/cassandra/data/keyspace/table-74bffc100fbe11e5a5ce37a8b36fe285/keyspace-table-26598-Data.db') > ERROR [CompactionExecutor:5838] 2015-09-06 11:33:39,639 > CassandraDaemon.java:223 - Exception in thread > Thread[CompactionExecutor:5838,1,main] > java.lang.AssertionError: Memory was freed > at > org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:97) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at org.apache.cassandra.io.util.Memory.getInt(Memory.java:281) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getPositionInSummary(IndexSummary.java:139) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getKey(IndexSummary.java:144) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.binarySearch(IndexSummary.java:113) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.getIndexScanPosition(SSTableReader.java:1183) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.firstKeyBeyond(SSTableReader.java:1667) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.needsCleanup(CompactionManager.java:693) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne(CompactionManager.java:734) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:94) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:389) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:285) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_51] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] > {code} > And: > {code} > ERROR [IndexSummaryManager:1] 2015-09-06 09:32:23,346 > CassandraDaemon.java:223 - Exception in thread > Thread[IndexSummaryManager:1,1,main] > java.lang.AssertionError: null > at > org.apache.cassandra.io.sstable.SSTableReader.setReplacedBy(SSTableReader.java:955) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneAndReplace(SSTableReader.java:1002) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneWithNewSummarySamplingLevel(SSTableReader.java:1105) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.adjustSamplingLevels(IndexSummaryManager.java:421) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:299) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at >
[jira] [Commented] (CASSANDRA-10146) Deprecate v1 and v2 protocol in 2.2, drop support in 3.0
[ https://issues.apache.org/jira/browse/CASSANDRA-10146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733588#comment-14733588 ] Benjamin Lerer commented on CASSANDRA-10146: The new patch for 2.2 is [here|https://github.com/apache/cassandra/compare/trunk...blerer:10146-2.2] and the new one for 3.0 is [here|https://github.com/apache/cassandra/compare/trunk...blerer:10146-3.0] * the unit test results for 2.2 are [here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10146-2.2-testall/5/] * the dtest results for 2.2 are [here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10146-2.2-dtest/4/] * the unit test results for 3.0 are [here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10146-3.0-testall/3/] * the dtest results for 3.0 are [here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10146-3.0-dtest/7/] > Deprecate v1 and v2 protocol in 2.2, drop support in 3.0 > > > Key: CASSANDRA-10146 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10146 > Project: Cassandra > Issue Type: Task > Components: Core >Reporter: Tyler Hobbs >Assignee: Benjamin Lerer > Labels: client-impacting, doc-impacting > Fix For: 2.2.x, 3.0.0 rc1 > > > In 3.0, we would like to use frozen collections in the system keyspaces, and > it seems likely that we will eventually want to use tuples or nested > collections as well. Drivers that only support protocol versions 1 and 2 > will not be able to read these system keyspaces because they cannot decode > those types. > I think this is a good time to start deprecating and dropping support for old > protocol versions. The v3 protocol was introduced in 2.1, so if we remove > support for v1 and v2 in 3.0, that gives users two major versions to upgrade > their drivers. Fortunately, upgrading drivers to a version that supports the > v3 protocol is generally straightforward. > The benefits of doing this are: > * We can use new types in the system keyspaces > * We can eliminate protocol-version-specific encoding and decoding of > collections within Cassandra > * Driver maintainers can eventually drop support for old protocol versions > once all C* versions that support them are EOL > To avoid a hard drop of v1 and v2 support in 3.0, I propose that we also > officially deprecate these in 2.2. Unfortunately, we don't have > protocol-level warnings until v4, so we can't use that to notify users of the > deprecation, but the combination of a NEWS.txt entry, warning logs, and > (potentially) driver-level warnings should suffice. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-10277) Empty BATCH throws exception in Cassandra
Vovodroid created CASSANDRA-10277: - Summary: Empty BATCH throws exception in Cassandra Key: CASSANDRA-10277 URL: https://issues.apache.org/jira/browse/CASSANDRA-10277 Project: Cassandra Issue Type: Bug Components: Core Reporter: Vovodroid Priority: Minor Attachments: emptybatch.patch Connect to Cassandra with cqlsh and perform empty BATCH statement: {code}BEGIN BATCH APPLY BATCH;{code} Following exception is thrown and logged {code} ERROR 14:02:07 Unexpected exception during request java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) ~[na:1.8.0_45] at java.util.ArrayList.get(ArrayList.java:429) ~[na:1.8.0_45] at org.apache.cassandra.cql3.statements.BatchStatement$Parsed.prepare(BatchStatement.java:514) ~[main/:na] ... {code} It's caused because of access to batch statement list, even if it's empty. Proposed patch (for 2.2.0) is attached. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10209) Missing role manager in cassandra.yaml causes unexpected behaviour
[ https://issues.apache.org/jira/browse/CASSANDRA-10209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733815#comment-14733815 ] Sam Tunnicliffe commented on CASSANDRA-10209: - Sure, just wanted to check I wasn't misunderstanding what you meant > Missing role manager in cassandra.yaml causes unexpected behaviour > -- > > Key: CASSANDRA-10209 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10209 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe >Priority: Minor > Fix For: 2.2.x, 3.0.0 rc1 > > > On upgrading to 2.2+, if the new {{role_manager}} option is not added to > {{cassandra.yaml}}, an instance of the default {{CassandraRoleManager}} is > created during initialization of {{DatabaseDescriptor}}. This is a problem as > the set of role options supported by {{CRM}} depends on the configured > {{IAuthenticator}}, which at that point in time is always > {{AllowAllAuthenticator}}. > This StackOverflow post describes the problem; the configured authenticator > is {{PasswordAuthenticator}}, the role manager should allow roles to be > created using the {{PASSWORD}} option, but it does not. > http://stackoverflow.com/questions/31820914/in-cassandra-2-2-unable-to-create-role-containing-password > The simple workaround is to ensure that yaml contains the role manager option > {code} > role_manager: CassandraRoleManager > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-10280) Make DTCS work well with old data
Marcus Eriksson created CASSANDRA-10280: --- Summary: Make DTCS work well with old data Key: CASSANDRA-10280 URL: https://issues.apache.org/jira/browse/CASSANDRA-10280 Project: Cassandra Issue Type: Sub-task Reporter: Marcus Eriksson Assignee: Marcus Eriksson Fix For: 3.x, 2.1.x, 2.2.x Operational tasks become incredibly expensive if you keep around a long timespan of data with DTCS - with default settings and 1 year of data, the oldest window covers about 180 days. Bootstrapping a node with vnodes with this data layout will force cassandra to compact very many sstables in this window. We should probably put a cap on how big the biggest windows can get. We could probably default this to something sane based on max_sstable_age (ie, say we can reasonably handle 1000 sstables per node, then we can make calculate how big the windows should be to allow that) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-9597) DTCS should consider file SIZE in addition to time windowing
[ https://issues.apache.org/jira/browse/CASSANDRA-9597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson resolved CASSANDRA-9597. Resolution: Duplicate > DTCS should consider file SIZE in addition to time windowing > > > Key: CASSANDRA-9597 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9597 > Project: Cassandra > Issue Type: Improvement >Reporter: Jeff Jirsa >Priority: Minor > Labels: dtcs > > DTCS seems to work well for the typical use case - writing data in perfect > time order, compacting recent files, and ignoring older files. > However, there are "normal" operational actions where DTCS will fall behind > and is unlikely to recover. > An example of this is streaming operations (for example, bootstrap or loading > data into a cluster using sstableloader), where lots (tens of thousands) of > very small sstables can be created spanning multiple time buckets. In these > case, even if max_sstable_age_days is extended to allow the older incoming > files to be compacted, the selection logic is likely to re-compact large > files with fewer small files over and over, rather than prioritizing > selection of max_threshold smallest files to decrease the number of candidate > sstables as quickly as possible. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-10279) Inconsistent update/delete behavior for static lists vs lists
Lex Lythius created CASSANDRA-10279: --- Summary: Inconsistent update/delete behavior for static lists vs lists Key: CASSANDRA-10279 URL: https://issues.apache.org/jira/browse/CASSANDRA-10279 Project: Cassandra Issue Type: Bug Components: Core Environment: [cqlsh 5.0.1 | Cassandra 2.2.0 | CQL spec 3.3.0 | Native protocol v4] Ubuntu 14.04 x64 Reporter: Lex Lythius Partial list deletions (either in the form of {{UPDATE list = list - \[...]}} or {{DELETE list\[index]}} form) work fine in regular list columns, but do nothing or throw bad index error when applied to *static* list columns. Example: {code:sql} create table t_lists ( id int, dt int, ls list, sls list static, primary key(id, dt) ); cqlsh:test> update t_lists set ls = ['foo', 'bar', 'baz'], sls = ['chico', 'harpo', 'zeppo', 'groucho'] where id=1 and dt=1; cqlsh:test> select * from t_lists; id | dt | sls| ls +++--- 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo', 'bar', 'baz'] (1 rows) cqlsh:test> delete ls[2] from t_lists where id = 1 and dt = 1; -- works cqlsh:test> delete sls[2] from t_lists where id = 1; -- errors InvalidRequest: code=2200 [Invalid query] message="Attempted to delete an element from a list which is null" cqlsh:test> select * from t_lists; id | dt | sls| ls +++ 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo', 'bar'] (1 rows) cqlsh:test> update t_lists set ls = ls - ['bar'] where id=1 and dt=1; -- works cqlsh:test> update t_lists set sls = sls - ['zeppo'] where id=1; -- fails silently cqlsh:test> select * from t_lists; id | dt | sls| ls +++- 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo'] (1 rows) {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10279) Inconsistent update/delete behavior for static lists vs lists
[ https://issues.apache.org/jira/browse/CASSANDRA-10279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733873#comment-14733873 ] Lex Lythius commented on CASSANDRA-10279: - Maybe the underlying issue is the same as in https://issues.apache.org/jira/browse/CASSANDRA-9838. > Inconsistent update/delete behavior for static lists vs lists > - > > Key: CASSANDRA-10279 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10279 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: [cqlsh 5.0.1 | Cassandra 2.2.0 | CQL spec 3.3.0 | Native > protocol v4] > Ubuntu 14.04 x64 >Reporter: Lex Lythius > > Partial list deletions (either in the form of {{UPDATE list = list - \[...]}} > or {{DELETE list\[index]}} form) work fine in regular list columns, but do > nothing or throw bad index error when applied to *static* list columns. > Example: > {code:sql} > create table t_lists ( > id int, > dt int, > ls list, > sls list static, > primary key(id, dt) > ); > cqlsh:test> update t_lists set ls = ['foo', 'bar', 'baz'], sls = ['chico', > 'harpo', 'zeppo', 'groucho'] where id=1 and dt=1; > cqlsh:test> select * from t_lists; > id | dt | sls| ls > +++--- > 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo', 'bar', 'baz'] > (1 rows) > cqlsh:test> delete ls[2] from t_lists where id = 1 and dt = 1; -- works > cqlsh:test> delete sls[2] from t_lists where id = 1; -- errors > InvalidRequest: code=2200 [Invalid query] message="Attempted to delete an > element from a list which is null" > cqlsh:test> select * from t_lists; > id | dt | sls| ls > +++ > 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo', 'bar'] > (1 rows) > cqlsh:test> update t_lists set ls = ls - ['bar'] where id=1 and dt=1; -- works > cqlsh:test> update t_lists set sls = sls - ['zeppo'] where id=1; -- fails > silently > cqlsh:test> select * from t_lists; > id | dt | sls| ls > +++- > 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo'] > (1 rows) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-10279) Inconsistent update/delete behavior for static lists vs lists
[ https://issues.apache.org/jira/browse/CASSANDRA-10279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733873#comment-14733873 ] Lex Lythius edited comment on CASSANDRA-10279 at 9/7/15 4:10 PM: - Most likely the underlying issue is the same as in https://issues.apache.org/jira/browse/CASSANDRA-9838. Removing elements by setting to null doesn't work either: {code:sql} update t_lists set sls[0]=null where id=1; InvalidRequest: code=2200 [Invalid query] message="Attempted to set an element on a list which is null" {code} Said bug entry shows there's a patch available, due to be fixed at 2.1.x. Not fixed in 2.2.0, however. was (Author: lexlythius): Maybe the underlying issue is the same as in https://issues.apache.org/jira/browse/CASSANDRA-9838. > Inconsistent update/delete behavior for static lists vs lists > - > > Key: CASSANDRA-10279 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10279 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: [cqlsh 5.0.1 | Cassandra 2.2.0 | CQL spec 3.3.0 | Native > protocol v4] > Ubuntu 14.04 x64 >Reporter: Lex Lythius > > Partial list deletions (either in the form of {{UPDATE list = list - \[...]}} > or {{DELETE list\[index]}} form) work fine in regular list columns, but do > nothing or throw bad index error when applied to *static* list columns. > Example: > {code:sql} > create table t_lists ( > id int, > dt int, > ls list, > sls list static, > primary key(id, dt) > ); > cqlsh:test> update t_lists set ls = ['foo', 'bar', 'baz'], sls = ['chico', > 'harpo', 'zeppo', 'groucho'] where id=1 and dt=1; > cqlsh:test> select * from t_lists; > id | dt | sls| ls > +++--- > 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo', 'bar', 'baz'] > (1 rows) > cqlsh:test> delete ls[2] from t_lists where id = 1 and dt = 1; -- works > cqlsh:test> delete sls[2] from t_lists where id = 1; -- errors > InvalidRequest: code=2200 [Invalid query] message="Attempted to delete an > element from a list which is null" > cqlsh:test> select * from t_lists; > id | dt | sls| ls > +++ > 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo', 'bar'] > (1 rows) > cqlsh:test> update t_lists set ls = ls - ['bar'] where id=1 and dt=1; -- works > cqlsh:test> update t_lists set sls = sls - ['zeppo'] where id=1; -- fails > silently > cqlsh:test> select * from t_lists; > id | dt | sls| ls > +++- > 1 | 1 | ['chico', 'harpo', 'zeppo', 'groucho'] | ['foo'] > (1 rows) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-10253) Incremental repairs not working as expected with DTCS
[ https://issues.apache.org/jira/browse/CASSANDRA-10253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson resolved CASSANDRA-10253. - Resolution: Duplicate Fix Version/s: (was: 2.1.x) Closing this as a duplicate of CASSANDRA-9644 - hoping all these issues will be fixed there > Incremental repairs not working as expected with DTCS > - > > Key: CASSANDRA-10253 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10253 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Pre-prod >Reporter: vijay >Assignee: Marcus Eriksson > Labels: dtcs > Attachments: sstablemetadata-cluster-logs.zip, systemfiles 2.zip > > > HI, > we are ingesting data 6 million records every 15 mins into one DTCS table and > relaying on Cassandra for purging the data.Table Schema given below, Issue 1: > we are expecting to see table sstable created on day d1 will not be compacted > after d1 how we are not seeing this, how ever i see some data being purged at > random intervals > Issue 2: when we run incremental repair using "nodetool repair keyspace table > -inc -pr" each sstable is splitting up to multiple smaller SStables and > increasing the total storage.This behavior is same running repairs on any > node and any number of times > There are mutation drop's in the cluster > Table: > {code} > CREATE TABLE TableA ( > F1 text, > F2 int, > createts bigint, > stats blob, > PRIMARY KEY ((F1,F2), createts) > ) WITH CLUSTERING ORDER BY (createts DESC) > AND bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = '' > AND compaction = {'min_threshold': '12', 'max_sstable_age_days': '1', > 'base_time_seconds': '50', 'class': > 'org.apache.cassandra.db.compaction.DateTieredCompactionStrategy'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 93600 > AND gc_grace_seconds = 3600 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > {code} > Thanks -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9761) Delay auth setup until peers are upgraded
[ https://issues.apache.org/jira/browse/CASSANDRA-9761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-9761: Fix Version/s: 2.2.2 3.0.0 rc1 > Delay auth setup until peers are upgraded > - > > Key: CASSANDRA-9761 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9761 > Project: Cassandra > Issue Type: Improvement >Reporter: Sam Tunnicliffe > Fix For: 3.0.0 rc1, 2.2.2 > > > The built in auth classes {{CassandraRoleManager}} and > {{CassandraAuthorizer}} both attempt to do some setup and data conversion > when a node is upgraded to version 2.2 or higher. At the moment, each node > attempts the operations with the expectation that this will fail until enough > of the cluster has been upgraded for it to succeed (i.e. enough nodes have > the latest schema with the requisite new tables). These expected failures are > largely harmless, but they are annoying because they cause the receiving node > (the non-upgraded node) to close the connection with the upgraded node, which > then has to be restablished. Although this is the normal behaviour on schema > disagreement (see CASSANDRA-9136 for further discussion), it may be possible > to avoid in this specific circumstance. Given that we expect the operations > to fail until enough nodes are upgraded, we could defer them until we're sure > they can succeed by checking the messaging service version of peers. > Right now these are a one shot thing, each node only makes one attempt at the > conversion (until it is restarted). Without investigating further, I don't > know if we'd need to add in retries in case it takes a little time for each > peer's MS version to be updated as they're upgraded. The setup & conversion > operations are idempotent, so there shouldn't be a great issue if several > nodes attempt them at the same time anyway. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-9761) Delay auth setup until peers are upgraded
[ https://issues.apache.org/jira/browse/CASSANDRA-9761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-9761: Assignee: Sam Tunnicliffe > Delay auth setup until peers are upgraded > - > > Key: CASSANDRA-9761 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9761 > Project: Cassandra > Issue Type: Improvement >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe > Fix For: 3.0.0 rc1, 2.2.2 > > > The built in auth classes {{CassandraRoleManager}} and > {{CassandraAuthorizer}} both attempt to do some setup and data conversion > when a node is upgraded to version 2.2 or higher. At the moment, each node > attempts the operations with the expectation that this will fail until enough > of the cluster has been upgraded for it to succeed (i.e. enough nodes have > the latest schema with the requisite new tables). These expected failures are > largely harmless, but they are annoying because they cause the receiving node > (the non-upgraded node) to close the connection with the upgraded node, which > then has to be restablished. Although this is the normal behaviour on schema > disagreement (see CASSANDRA-9136 for further discussion), it may be possible > to avoid in this specific circumstance. Given that we expect the operations > to fail until enough nodes are upgraded, we could defer them until we're sure > they can succeed by checking the messaging service version of peers. > Right now these are a one shot thing, each node only makes one attempt at the > conversion (until it is restarted). Without investigating further, I don't > know if we'd need to add in retries in case it takes a little time for each > peer's MS version to be updated as they're upgraded. The setup & conversion > operations are idempotent, so there shouldn't be a great issue if several > nodes attempt them at the same time anyway. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9761) Delay auth setup until peers are upgraded
[ https://issues.apache.org/jira/browse/CASSANDRA-9761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733856#comment-14733856 ] Sylvain Lebresne commented on CASSANDRA-9761: - For info, this is the reason for the failure of at least some upgrade dtests (typically [this|http://cassci.datastax.com/job/cassandra-2.2_dtest/lastCompletedBuild/testReport/upgrade_tests.paging_test/TestPagingData/test_paging_a_single_wide_row/]). Basically, the test are issuing a truncate as their first order of business, and the 2.1 closes the connection to the other node due to this, some of the truncation acknowledgment get losts because it's in the queue of that connection, hence ending up in a truncate timeout. And of course there is the fact that due to this the 2.1 node logs a warning with a stack trace, which might worry operators a bit even though nothing is wrong. > Delay auth setup until peers are upgraded > - > > Key: CASSANDRA-9761 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9761 > Project: Cassandra > Issue Type: Improvement >Reporter: Sam Tunnicliffe > Fix For: 3.0.0 rc1, 2.2.2 > > > The built in auth classes {{CassandraRoleManager}} and > {{CassandraAuthorizer}} both attempt to do some setup and data conversion > when a node is upgraded to version 2.2 or higher. At the moment, each node > attempts the operations with the expectation that this will fail until enough > of the cluster has been upgraded for it to succeed (i.e. enough nodes have > the latest schema with the requisite new tables). These expected failures are > largely harmless, but they are annoying because they cause the receiving node > (the non-upgraded node) to close the connection with the upgraded node, which > then has to be restablished. Although this is the normal behaviour on schema > disagreement (see CASSANDRA-9136 for further discussion), it may be possible > to avoid in this specific circumstance. Given that we expect the operations > to fail until enough nodes are upgraded, we could defer them until we're sure > they can succeed by checking the messaging service version of peers. > Right now these are a one shot thing, each node only makes one attempt at the > conversion (until it is restarted). Without investigating further, I don't > know if we'd need to add in retries in case it takes a little time for each > peer's MS version to be updated as they're upgraded. The setup & conversion > operations are idempotent, so there shouldn't be a great issue if several > nodes attempt them at the same time anyway. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting
[ https://issues.apache.org/jira/browse/CASSANDRA-8371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson resolved CASSANDRA-8371. Resolution: Duplicate Closing this as duplicate, hoping that this will be resolved in CASSANDRA-9644 > DateTieredCompactionStrategy is always compacting > -- > > Key: CASSANDRA-8371 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8371 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: mck >Assignee: Björn Hegerfors > Labels: compaction, dtcs, performance > Attachments: java_gc_counts_rate-month.png, > read-latency-recommenders-adview.png, read-latency.png, > sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png > > > Running 2.0.11 and having switched a table to > [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that > disk IO and gc count increase, along with the number of reads happening in > the "compaction" hump of cfhistograms. > Data, and generally performance, looks good, but compactions are always > happening, and pending compactions are building up. > The schema for this is > {code}CREATE TABLE search ( > loginid text, > searchid timeuuid, > description text, > searchkey text, > searchurl text, > PRIMARY KEY ((loginid), searchid) > );{code} > We're sitting on about 82G (per replica) across 6 nodes in 4 DCs. > CQL executed against this keyspace, and traffic patterns, can be seen in > slides 7+8 of https://prezi.com/b9-aj6p2esft/ > Attached are sstables-per-read and read-latency graphs from cfhistograms, and > screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), > to DTCS (week ~46). > These screenshots are also found in the prezi on slides 9-11. > [~pmcfadin], [~Bj0rn], > Can this be a consequence of occasional deleted rows, as is described under > (3) in the description of CASSANDRA-6602 ? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-10278) CQLSH version is not supported by Remote in CASSANDRA 2.1.9
Puneet Pant created CASSANDRA-10278: --- Summary: CQLSH version is not supported by Remote in CASSANDRA 2.1.9 Key: CASSANDRA-10278 URL: https://issues.apache.org/jira/browse/CASSANDRA-10278 Project: Cassandra Issue Type: Bug Components: Core Reporter: Puneet Pant Priority: Critical Fix For: 2.1.x Although the sever run successfully as: INFO 14:27:31 Starting listening for CQL clients on localhost/127.0.0.1:9046... INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 INFO 14:27:31 Listening for thrift clients... But CQLSH can not connect to it. This is because the shipped version of CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the default shipped version of CQL need to be upgraded in cassandra or it should provide backward compatibility. Here is the CQLSH error: Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.3.0']",)}) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8907) Raise GCInspector alerts to WARN
[ https://issues.apache.org/jira/browse/CASSANDRA-8907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733756#comment-14733756 ] Anuj Wadehra commented on CASSANDRA-8907: - I am adding a 3rd scenario to the 2 scenarios I mentioned in my earlier comment: 3. GC warn threshold is enabled by default and set to 5000ms.Suppose an application is NOT sensitive to gc pauses e.g. some background job. Even though no functionality is impacted and application SLA is being met, its getting 5+ secs of gc pauses in the background. When the user upgrades Cassandra he will start getting Warnings for every gc pause over 5 sec. I wont call that 'breaking' of existing log monitoring system with new warnings. Warnings are warnings "an indication of possible problem" not errors. Any gc pause over 5 secs indicates poor heap tuning / insufficient heap. After upgrade, User must start getting these warnings so that he can look at options for optimizing JVM tunings. Based on the 3 scenarios I mentioned, scenarios 2 and 3 support enabling this property by default and setting value to something like 5+ secs so that user is aware of possible problems with GC tuning upfront. If user is warned and he still wants to continue with long gc pauses, he can increase the gc warn threshold. But its should be Cassandra's responsibility to make user aware of possible problems by raising warning especially when we have a GCInspector which is monitoring Gc pauses. > Raise GCInspector alerts to WARN > > > Key: CASSANDRA-8907 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8907 > Project: Cassandra > Issue Type: Improvement >Reporter: Adam Hattrell >Assignee: Amit Singh Chowdhery > Labels: patch > Attachments: cassnadra-8907.patch > > > I'm fairly regularly running into folks wondering why their applications are > reporting down nodes. Yet, they report, when they grepped the logs they have > no WARN or ERRORs listed. > Nine times out of ten, when I look through the logs we see a ton of ParNew or > CMS gc pauses occurring similar to the following: > INFO [ScheduledTasks:1] 2013-03-07 18:44:46,795 GCInspector.java (line 122) > GC for ConcurrentMarkSweep: 1835 ms for 3 collections, 2606015656 used; max > is 10611589120 > INFO [ScheduledTasks:1] 2013-03-07 19:45:08,029 GCInspector.java (line 122) > GC for ParNew: 9866 ms for 8 collections, 2910124308 used; max is 6358564864 > To my mind these should be WARN's as they have the potential to be > significantly impacting the clusters performance as a whole. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10278) CQLSH version is not supported by Remote in CASSANDRA 2.1.9
[ https://issues.apache.org/jira/browse/CASSANDRA-10278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Puneet Pant updated CASSANDRA-10278: Description: Although the CASSANDRA 2.1.9 sever run successfully as: INFO 14:27:31 Starting listening for CQL clients on localhost/127.0.0.1:9046... INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 INFO 14:27:31 Listening for thrift clients... But CQLSH can not connect to it. This is because the shipped version of CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the default shipped version of CQL need to be upgraded in cassandra or it should provide backward compatibility. Here is the CQLSH error: Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.3.0']",)}) was: Although the sever run successfully as: INFO 14:27:31 Starting listening for CQL clients on localhost/127.0.0.1:9046... INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 INFO 14:27:31 Listening for thrift clients... But CQLSH can not connect to it. This is because the shipped version of CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the default shipped version of CQL need to be upgraded in cassandra or it should provide backward compatibility. Here is the CQLSH error: Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.3.0']",)}) > CQLSH version is not supported by Remote in CASSANDRA 2.1.9 > --- > > Key: CASSANDRA-10278 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10278 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Puneet Pant >Priority: Critical > Fix For: 2.1.x > > > Although the CASSANDRA 2.1.9 sever run successfully as: > INFO 14:27:31 Starting listening for CQL clients on > localhost/127.0.0.1:9046... > INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 > INFO 14:27:31 Listening for thrift clients... > But CQLSH can not connect to it. This is because the shipped version of > CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the > default shipped version of CQL need to be upgraded in cassandra or it should > provide backward compatibility. > Here is the CQLSH error: > Connection error: ('Unable to connect to any servers', {'127.0.0.1': > ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native > protocol). Supported versions: [u'3.3.0']",)}) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10278) CQLSH version is not supported by Remote in CASSANDRA 2.1.9
[ https://issues.apache.org/jira/browse/CASSANDRA-10278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Puneet Pant updated CASSANDRA-10278: Description: Although the CASSANDRA 2.1.9 sever runs successfully as: INFO 14:27:31 Starting listening for CQL clients on localhost/127.0.0.1:9046... INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 INFO 14:27:31 Listening for thrift clients... But CQLSH can not connect to it. This is because the shipped version of CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the default shipped version of CQL need to be upgraded in cassandra or it should provide backward compatibility. Here is the CQLSH error: Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.3.0']",)}) Note:9046 is just changed to fix conflicts. was: Although the CASSANDRA 2.1.9 sever run successfully as: INFO 14:27:31 Starting listening for CQL clients on localhost/127.0.0.1:9046... INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 INFO 14:27:31 Listening for thrift clients... But CQLSH can not connect to it. This is because the shipped version of CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the default shipped version of CQL need to be upgraded in cassandra or it should provide backward compatibility. Here is the CQLSH error: Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.3.0']",)}) > CQLSH version is not supported by Remote in CASSANDRA 2.1.9 > --- > > Key: CASSANDRA-10278 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10278 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Puneet Pant >Priority: Critical > Fix For: 2.1.x > > > Although the CASSANDRA 2.1.9 sever runs successfully as: > INFO 14:27:31 Starting listening for CQL clients on > localhost/127.0.0.1:9046... > INFO 14:27:31 Binding thrift service to localhost/127.0.0.1:9160 > INFO 14:27:31 Listening for thrift clients... > But CQLSH can not connect to it. This is because the shipped version of > CQLSH with cassandra is 3.2.0 whereas the supported by remote is 3.3.0 so the > default shipped version of CQL need to be upgraded in cassandra or it should > provide backward compatibility. > Here is the CQLSH error: > Connection error: ('Unable to connect to any servers', {'127.0.0.1': > ProtocolError("cql_version '3.2.0' is not supported by remote (w/ native > protocol). Supported versions: [u'3.3.0']",)}) > Note:9046 is just changed to fix conflicts. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10209) Missing role manager in cassandra.yaml causes unexpected behaviour
[ https://issues.apache.org/jira/browse/CASSANDRA-10209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733794#comment-14733794 ] Jonathan Ellis commented on CASSANDRA-10209: Do you want to recommit with Carl's patch then? > Missing role manager in cassandra.yaml causes unexpected behaviour > -- > > Key: CASSANDRA-10209 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10209 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Assignee: Sam Tunnicliffe >Priority: Minor > Fix For: 2.2.x, 3.0.0 rc1 > > > On upgrading to 2.2+, if the new {{role_manager}} option is not added to > {{cassandra.yaml}}, an instance of the default {{CassandraRoleManager}} is > created during initialization of {{DatabaseDescriptor}}. This is a problem as > the set of role options supported by {{CRM}} depends on the configured > {{IAuthenticator}}, which at that point in time is always > {{AllowAllAuthenticator}}. > This StackOverflow post describes the problem; the configured authenticator > is {{PasswordAuthenticator}}, the role manager should allow roles to be > created using the {{PASSWORD}} option, but it does not. > http://stackoverflow.com/questions/31820914/in-cassandra-2-2-unable-to-create-role-containing-password > The simple workaround is to ensure that yaml contains the role manager option > {code} > role_manager: CassandraRoleManager > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10274) Assertion Errors when interrupting Cleanup
[ https://issues.apache.org/jira/browse/CASSANDRA-10274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-10274: Assignee: Benedict Reviewer: Marcus Eriksson > Assertion Errors when interrupting Cleanup > -- > > Key: CASSANDRA-10274 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10274 > Project: Cassandra > Issue Type: Bug >Reporter: Jeff Jirsa >Assignee: Benedict >Priority: Critical > Fix For: 2.1.x > > > Exceptions encountered after Interrupting cleanup on 2.1.7 - logging due to > nature. Seen on 2 different nodes. May be related to CASSANDRA-10260 . > {code} > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,630 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 44698243387/139158 > 624314)bytes > INFO [CompactionExecutor:5838] 2015-09-06 11:33:39,638 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 37886026781/133123 > 638379)bytes > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,639 > CompactionManager.java:749 - Cleaning up > SSTableReader(path='/mnt/cassandra/data/keyspace/table-74bffc100fbe11e5a5ce37a8b36fe285/keyspace-table-26598-Data.db') > ERROR [CompactionExecutor:5838] 2015-09-06 11:33:39,639 > CassandraDaemon.java:223 - Exception in thread > Thread[CompactionExecutor:5838,1,main] > java.lang.AssertionError: Memory was freed > at > org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:97) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at org.apache.cassandra.io.util.Memory.getInt(Memory.java:281) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getPositionInSummary(IndexSummary.java:139) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getKey(IndexSummary.java:144) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.binarySearch(IndexSummary.java:113) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.getIndexScanPosition(SSTableReader.java:1183) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.firstKeyBeyond(SSTableReader.java:1667) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.needsCleanup(CompactionManager.java:693) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne(CompactionManager.java:734) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:94) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:389) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:285) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_51] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] > {code} > And: > {code} > ERROR [IndexSummaryManager:1] 2015-09-06 09:32:23,346 > CassandraDaemon.java:223 - Exception in thread > Thread[IndexSummaryManager:1,1,main] > java.lang.AssertionError: null > at > org.apache.cassandra.io.sstable.SSTableReader.setReplacedBy(SSTableReader.java:955) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneAndReplace(SSTableReader.java:1002) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneWithNewSummarySamplingLevel(SSTableReader.java:1105) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.adjustSamplingLevels(IndexSummaryManager.java:421) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:299) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139) >
[jira] [Commented] (CASSANDRA-10274) Assertion Errors when interrupting Cleanup
[ https://issues.apache.org/jira/browse/CASSANDRA-10274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733924#comment-14733924 ] Marcus Eriksson commented on CASSANDRA-10274: - +1 > Assertion Errors when interrupting Cleanup > -- > > Key: CASSANDRA-10274 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10274 > Project: Cassandra > Issue Type: Bug >Reporter: Jeff Jirsa >Assignee: Benedict >Priority: Critical > Fix For: 2.1.x > > > Exceptions encountered after Interrupting cleanup on 2.1.7 - logging due to > nature. Seen on 2 different nodes. May be related to CASSANDRA-10260 . > {code} > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,630 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 44698243387/139158 > 624314)bytes > INFO [CompactionExecutor:5838] 2015-09-06 11:33:39,638 > CompactionManager.java:1286 - Compaction interrupted: > Cleanup@74bffc10-0fbe-11e5-a5ce-37a8b36fe285(keyspace, table, > 37886026781/133123 > 638379)bytes > INFO [CompactionExecutor:5836] 2015-09-06 11:33:39,639 > CompactionManager.java:749 - Cleaning up > SSTableReader(path='/mnt/cassandra/data/keyspace/table-74bffc100fbe11e5a5ce37a8b36fe285/keyspace-table-26598-Data.db') > ERROR [CompactionExecutor:5838] 2015-09-06 11:33:39,639 > CassandraDaemon.java:223 - Exception in thread > Thread[CompactionExecutor:5838,1,main] > java.lang.AssertionError: Memory was freed > at > org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:97) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at org.apache.cassandra.io.util.Memory.getInt(Memory.java:281) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getPositionInSummary(IndexSummary.java:139) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.getKey(IndexSummary.java:144) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummary.binarySearch(IndexSummary.java:113) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.getIndexScanPosition(SSTableReader.java:1183) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.firstKeyBeyond(SSTableReader.java:1667) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.needsCleanup(CompactionManager.java:693) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne(CompactionManager.java:734) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:94) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:389) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:285) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > ~[na:1.8.0_51] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_51] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] > {code} > And: > {code} > ERROR [IndexSummaryManager:1] 2015-09-06 09:32:23,346 > CassandraDaemon.java:223 - Exception in thread > Thread[IndexSummaryManager:1,1,main] > java.lang.AssertionError: null > at > org.apache.cassandra.io.sstable.SSTableReader.setReplacedBy(SSTableReader.java:955) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneAndReplace(SSTableReader.java:1002) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.SSTableReader.cloneWithNewSummarySamplingLevel(SSTableReader.java:1105) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.adjustSamplingLevels(IndexSummaryManager.java:421) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:299) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238) > ~[apache-cassandra-2.1.7.jar:2.1.7] > at > org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139) > ~[apache-cassandra-2.1.7.jar:2.1.7] >
[jira] [Updated] (CASSANDRA-10280) Make DTCS work well with old data
[ https://issues.apache.org/jira/browse/CASSANDRA-10280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-10280: Description: Operational tasks become incredibly expensive if you keep around a long timespan of data with DTCS - with default settings and 1 year of data, the oldest window covers about 180 days. Bootstrapping a node with vnodes with this data layout will force cassandra to compact very many sstables in this window. We should probably put a cap on how big the biggest windows can get. We could probably default this to something sane based on max_sstable_age (ie, say we can reasonably handle 1000 sstables per node, then we can calculate how big the windows should be to allow that) was: Operational tasks become incredibly expensive if you keep around a long timespan of data with DTCS - with default settings and 1 year of data, the oldest window covers about 180 days. Bootstrapping a node with vnodes with this data layout will force cassandra to compact very many sstables in this window. We should probably put a cap on how big the biggest windows can get. We could probably default this to something sane based on max_sstable_age (ie, say we can reasonably handle 1000 sstables per node, then we can make calculate how big the windows should be to allow that) > Make DTCS work well with old data > - > > Key: CASSANDRA-10280 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10280 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 3.x, 2.1.x, 2.2.x > > > Operational tasks become incredibly expensive if you keep around a long > timespan of data with DTCS - with default settings and 1 year of data, the > oldest window covers about 180 days. Bootstrapping a node with vnodes with > this data layout will force cassandra to compact very many sstables in this > window. > We should probably put a cap on how big the biggest windows can get. We could > probably default this to something sane based on max_sstable_age (ie, say we > can reasonably handle 1000 sstables per node, then we can calculate how big > the windows should be to allow that) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8630) Faster sequential IO (on compaction, streaming, etc)
[ https://issues.apache.org/jira/browse/CASSANDRA-8630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14733944#comment-14733944 ] Ariel Weisberg commented on CASSANDRA-8630: --- Since the work is already done I would say make the changes? FB.UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR seems easy to justify and FB.NS_DANGEROUS_NON_SHORT_CIRCUIT is pretty low value, but simple enough that it's worth making coverity happy. > Faster sequential IO (on compaction, streaming, etc) > > > Key: CASSANDRA-8630 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8630 > Project: Cassandra > Issue Type: Improvement > Components: Core, Tools >Reporter: Oleg Anastasyev >Assignee: Stefania > Labels: compaction, performance > Fix For: 3.x > > Attachments: 8630-FasterSequencialReadsAndWrites.txt, cpu_load.png, > flight_recorder_001_files.tar.gz, flight_recorder_002_files.tar.gz, > mmaped_uncomp_hotspot.png > > > When node is doing a lot of sequencial IO (streaming, compacting, etc) a lot > of CPU is lost in calls to RAF's int read() and DataOutputStream's write(int). > This is because default implementations of readShort,readLong, etc as well as > their matching write* are implemented with numerous calls of byte by byte > read and write. > This makes a lot of syscalls as well. > A quick microbench shows than just reimplementation of these methods in > either way gives 8x speed increase. > A patch attached implements RandomAccessReader.read and > SequencialWriter.write methods in more efficient way. > I also eliminated some extra byte copies in CompositeType.split and > ColumnNameHelper.maxComponents, which were on my profiler's hotspot method > list during tests. > A stress tests on my laptop show that this patch makes compaction 25-30% > faster on uncompressed sstables and 15% faster for compressed ones. > A deployment to production shows much less CPU load for compaction. > (I attached a cpu load graph from one of our production, orange is niced CPU > load - i.e. compaction; yellow is user - i.e. not compaction related tasks) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10276) With DTCS, do STCS in windows if more than max_threshold sstables
[ https://issues.apache.org/jira/browse/CASSANDRA-10276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14734051#comment-14734051 ] Jeff Jirsa commented on CASSANDRA-10276: If your most recent window/bucket with compactable sstables has more than max_threshold sstables, but they're sized in such a way that stcs won't combine any of them, {{SizeTieredCompactionStrategy.mostInterestingBucket}} may return empty, which then causes {{trimToThreshold}} and {{newestBucket}} to return empty lists. If you may have older buckets that could otherwise be compacted in some way, they'll starve. If you check to see if {{SizeTieredCompactionStrategy.mostInterestingBucket(...).isEmpty()}} , you can continue to check older time windows/buckets/targets. This also impacts calculation of {{estimatedRemainingTasks}} Other than that it looks good. > With DTCS, do STCS in windows if more than max_threshold sstables > - > > Key: CASSANDRA-10276 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10276 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 3.x, 2.1.x, 2.2.x > > > To avoid constant recompaction of files in big ( > max threshold) DTCS > windows, we should do STCS of those files. > Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10109) Windows dtest 3.0: ttl_test.py failures
[ https://issues.apache.org/jira/browse/CASSANDRA-10109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14734082#comment-14734082 ] Stefania commented on CASSANDRA-10109: -- [~benedict], CI seems OK so far; I've launched one more run just now, after rebasing. > Windows dtest 3.0: ttl_test.py failures > --- > > Key: CASSANDRA-10109 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10109 > Project: Cassandra > Issue Type: Sub-task >Reporter: Joshua McKenzie >Assignee: Stefania > Labels: Windows > Fix For: 3.0.0 rc1 > > > ttl_test.py:TestTTL.update_column_ttl_with_default_ttl_test2 > ttl_test.py:TestTTL.update_multiple_columns_ttl_test > ttl_test.py:TestTTL.update_single_column_ttl_test > Errors locally are different than CI from yesterday. Yesterday on CI we have > timeouts and general node hangs. Today on all 3 tests when run locally I see: > {noformat} > Traceback (most recent call last): > File "c:\src\cassandra-dtest\dtest.py", line 532, in tearDown > raise AssertionError('Unexpected error in %s node log: %s' % (node.name, > errors)) > AssertionError: Unexpected error in node1 node log: ['ERROR [main] 2015-08-17 > 16:53:43,120 NoSpamLogger.java:97 - This platform does not support atomic > directory streams (SecureDirectoryStream); race conditions when loading > sstable files could occurr'] > {noformat} > This traces back to the commit for CASSANDRA-7066 today by [~Stefania] and > [~benedict]. Stefania - care to take this ticket and also look further into > whether or not we're going to have issues with 7066 on Windows? That error > message certainly *sounds* like it's not a good thing. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10276) With DTCS, do STCS in windows if more than max_threshold sstables
[ https://issues.apache.org/jira/browse/CASSANDRA-10276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-10276: Reviewer: Jeff Jirsa > With DTCS, do STCS in windows if more than max_threshold sstables > - > > Key: CASSANDRA-10276 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10276 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 3.x, 2.1.x, 2.2.x > > > To avoid constant recompaction of files in big ( > max threshold) DTCS > windows, we should do STCS of those files. > Patch here: https://github.com/krummas/cassandra/commits/marcuse/dtcs_stcs -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10205) decommissioned_wiped_node_can_join_test fails on Jenkins
[ https://issues.apache.org/jira/browse/CASSANDRA-10205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14734114#comment-14734114 ] Stefania commented on CASSANDRA-10205: -- [~philipthompson] could you set-up a Jenkins job for [this dtest patch|https://github.com/stef1927/cassandra-dtest/commits/10205] to run on [this C* patch|https://github.com/stef1927/cassandra/commits/10205-3.0] so I can continue testing? > decommissioned_wiped_node_can_join_test fails on Jenkins > > > Key: CASSANDRA-10205 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10205 > Project: Cassandra > Issue Type: Test >Reporter: Stefania >Assignee: Stefania > Attachments: decommissioned_wiped_node_can_join_test.tar.gz > > > This test passes locally but reliably fails on Jenkins. It seems after we > restart node4, it is unable to Gossip with other nodes: > {code} > INFO [HANDSHAKE-/127.0.0.2] 2015-08-27 06:50:42,778 > OutboundTcpConnection.java:494 - Handshaking version with /127.0.0.2 > INFO [HANDSHAKE-/127.0.0.1] 2015-08-27 06:50:42,778 > OutboundTcpConnection.java:494 - Handshaking version with /127.0.0.1 > INFO [HANDSHAKE-/127.0.0.3] 2015-08-27 06:50:42,778 > OutboundTcpConnection.java:494 - Handshaking version with /127.0.0.3 > ERROR [main] 2015-08-27 06:51:13,785 CassandraDaemon.java:635 - Exception > encountered during startup > java.lang.RuntimeException: Unable to gossip with any seeds > at > org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1342) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:518) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:763) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:687) > ~[main/:na] > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:570) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:320) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:622) > [main/:na] > WARN [StorageServiceShutdownHook] 2015-08-27 06:51:13,799 Gossiper.java:1453 > - No local state or state is in silent shutdown, not announcing shutdown > {code} > It seems both the addresses and port number of the seeds are correct so I > don't think the problem is the Amazon private addresses but I might be wrong. > It's also worth noting that the first time the node starts up without > problems. The problem only occurs during a restart. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-10255) AttributeError: 'module' object has no attribute 'compress'
[ https://issues.apache.org/jira/browse/CASSANDRA-10255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] navithejesh resolved CASSANDRA-10255. - Resolution: Fixed > AttributeError: 'module' object has no attribute 'compress' > > > Key: CASSANDRA-10255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10255 > Project: Cassandra > Issue Type: Bug > Components: Config, Packaging > Environment: Linux fedora 21 >Reporter: navithejesh > Labels: cqlsh > Fix For: 2.1.x > > Attachments: erroe2.jpeg, error.jpeg > > > Hi Recently i have upgrade my server from cassandra version 2.0.11 to 2.1.8 > using tarball installation.And i have added one node to existing culster with > the same version of 2.1.8. All the configuration settings are done but am not > able to run cqlsh from bin directory.and this is the error > AttributeError: 'module' object has no attribute 'compress' > {code} > ./cqlsh > Traceback (most recent call last): > File "./cqlsh", line 111, in > from cassandra.cluster import Cluster, PagedResult > File > "/home/cassandra/apache-cassandra-2.1.8/bin/../lib/cassandra-driver-internal-only-2.6.0c2.post.zip/cassandra-driver-2.6.0c2.post/cassandra/cluster.py", > line 49, in > File > "/home/cassandra/apache-cassandra-2.1.8/bin/../lib/cassandra-driver-internal-only-2.6.0c2.post.zip/cassandra-driver-2.6.0c2.post/cassandra/connection.py", > line 88, in > AttributeError: 'module' object has no attribute 'compress' > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7392) Abort in-progress queries that time out
[ https://issues.apache.org/jira/browse/CASSANDRA-7392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14734087#comment-14734087 ] Stefania commented on CASSANDRA-7392: - [~aweisberg] sorry for the long delay, I have finally found the time to get back to this: * Introduced a new package {{o.a.c.db.monitoring}} where all the monitoring classes are located. * Introduced a new interface, {{Monitorable}}, which is implemented by {{ReadCommand}} to ensure we get the CQL string only when needed, it also hosts all other required properties via {{MonitorableImpl}}: construction time, timeout and state. A {{Monitorable}} is basically an operation. * Renamed {{OpState}} to {{MonitoringStateRef}}, which extends {{AtomicReference}}; {{MonitoringState}} is just an enum. * Renamed {{OpMonitoring}} to {{MonitoringTask}}, which is a {{Runnable}} scheduled periodically to check a COW array of atomic references to operations. The atomic references are stored in thread local objects, {{MonitorableThreadLocal}} and their payload is updated by the clients that wish to have an operation monitored. * Implemented aggregated logging in {{MonitoringTask}}. * Extended utests. I believe this should address all of the comments discussed above except for: bq. In DroppableRunnable you switch from System.currentTimeMillis() to nanoTime(). I always looking for opportunities to avoid getting the current time (get it once and pass it around). We grab the time once when reading a message so theoretically if there has been no blocking you don't need to grab it again if we had ponies. Not sure if there is an opportunity for that here. There is no message involved here so I don't think we can avoid grabbing the time again. -- Please note new 3.0 branch: https://github.com/stef1927/cassandra/commits/7392-3.0 Pull request for updated dtests: https://github.com/riptano/cassandra-dtest/pull/535 CI: http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-7392-3.0-dtest/ http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-7392-3.0-testall/ > Abort in-progress queries that time out > --- > > Key: CASSANDRA-7392 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7392 > Project: Cassandra > Issue Type: New Feature > Components: Core >Reporter: Jonathan Ellis >Assignee: Stefania >Priority: Critical > Fix For: 3.x > > > Currently we drop queries that time out before we get to them (because node > is overloaded) but not queries that time out while being processed. > (Particularly common for index queries on data that shouldn't be indexed.) > Adding the latter and logging when we have to interrupt one gets us a poor > man's "slow query log" for free. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10066) Bring cqlsh into PEP8 compliance
[ https://issues.apache.org/jira/browse/CASSANDRA-10066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14734107#comment-14734107 ] Stefania commented on CASSANDRA-10066: -- dtests look good. Patch also looks good but I am not sure how to check with {{pep8}} so I simply tried the following command on the 2.1 patch and I got errors other than line too long (E501): {code} stefi@lila:~/git/cstar/cassandra/bin$ pep8 cqlsh | grep -v "E501" cqlsh:109:1: E402 module level import not at top of file cqlsh:110:1: E402 module level import not at top of file cqlsh:111:1: E402 module level import not at top of file cqlsh:112:1: E402 module level import not at top of file cqlsh:113:1: E402 module level import not at top of file cqlsh:114:1: E402 module level import not at top of file cqlsh:122:1: E402 module level import not at top of file cqlsh:123:1: E402 module level import not at top of file cqlsh:125:1: E402 module level import not at top of file cqlsh:127:1: E402 module level import not at top of file cqlsh:128:1: E402 module level import not at top of file cqlsh:1841:17: E731 do not assign a lambda expression, use a def {code} Are these errors expected or not? > Bring cqlsh into PEP8 compliance > > > Key: CASSANDRA-10066 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10066 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Philip Thompson >Priority: Minor > Labels: cqlsh > Fix For: 3.x, 2.1.x, 2.2.x > > > In order for us to begin running flake8 against cqlsh.py in CI, it would be > helpful if it were already PEP8 complaint, with the exception of using 120 > character lines. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal
[ https://issues.apache.org/jira/browse/CASSANDRA-10089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-10089: - Fix Version/s: 3.0.0 rc1 2.2.x 2.1.x > NullPointerException in Gossip handleStateNormal > > > Key: CASSANDRA-10089 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10089 > Project: Cassandra > Issue Type: Bug >Reporter: Stefania >Assignee: Stefania > Fix For: 2.1.x, 2.2.x, 3.0.x > > > Whilst comparing dtests for CASSANDRA-9970 I found [this failing > dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/] > in 2.2: > {code} > Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 > 15:39:57,873 CassandraDaemon.java:183 - Exception in thread > Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat > org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) > ~[main/:na] \tat > org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) > ~[main/:na] \tat > org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) > ~[main/:na] \tat > org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49) > ~[main/:na] \tat > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) > ~[main/:na] \tat > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_80] \tat > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]'] > {code} > I wasn't able to find it on unpatched branches but it is clearly not related > to CASSANDRA-9970, if anything it could have been a side effect of > CASSANDRA-9871. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal
[ https://issues.apache.org/jira/browse/CASSANDRA-10089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-10089: - Fix Version/s: (was: 3.0.0 rc1) 3.0.x > NullPointerException in Gossip handleStateNormal > > > Key: CASSANDRA-10089 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10089 > Project: Cassandra > Issue Type: Bug >Reporter: Stefania >Assignee: Stefania > Fix For: 2.1.x, 2.2.x, 3.0.x > > > Whilst comparing dtests for CASSANDRA-9970 I found [this failing > dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/] > in 2.2: > {code} > Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 > 15:39:57,873 CassandraDaemon.java:183 - Exception in thread > Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat > org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) > ~[main/:na] \tat > org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) > ~[main/:na] \tat > org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) > ~[main/:na] \tat > org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49) > ~[main/:na] \tat > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) > ~[main/:na] \tat > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_80] \tat > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]'] > {code} > I wasn't able to find it on unpatched branches but it is clearly not related > to CASSANDRA-9970, if anything it could have been a side effect of > CASSANDRA-9871. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal
[ https://issues.apache.org/jira/browse/CASSANDRA-10089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14734214#comment-14734214 ] Stefania commented on CASSANDRA-10089: -- The NPE can be seen also in 2.1 [here|http://cassci.datastax.com/job/cassandra-2.1_dtest/241/testReport/consistency_test/TestConsistency/short_read_test/] so I will prepare a patch for 2.1+. > NullPointerException in Gossip handleStateNormal > > > Key: CASSANDRA-10089 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10089 > Project: Cassandra > Issue Type: Bug >Reporter: Stefania >Assignee: Stefania > Fix For: 2.1.x, 2.2.x, 3.0.x > > > Whilst comparing dtests for CASSANDRA-9970 I found [this failing > dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/] > in 2.2: > {code} > Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 > 15:39:57,873 CassandraDaemon.java:183 - Exception in thread > Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat > org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629) > ~[main/:na] \tat > org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) > ~[main/:na] \tat > org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) > ~[main/:na] \tat > org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) > ~[main/:na] \tat > org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49) > ~[main/:na] \tat > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) > ~[main/:na] \tat > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_80] \tat > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]'] > {code} > I wasn't able to find it on unpatched branches but it is clearly not related > to CASSANDRA-9970, if anything it could have been a side effect of > CASSANDRA-9871. -- This message was sent by Atlassian JIRA (v6.3.4#6332)