You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2016/02/23 11:16:50 UTC
[01/13] cassandra git commit: Add partition key to
TombstoneOverwhelmingException error message
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 14a2157bc -> 67637d1bb
refs/heads/cassandra-2.2 fbf30d219 -> c8c8cf679
refs/heads/cassandra-3.0 ef32b8e4f -> b3aa33478
refs/heads/trunk 5a4ff9045 -> 3e5c63d72
Add partition key to TombstoneOverwhelmingException error message
patch by Brett Snyder; reviewed by Benjamin Lerer for CASSANDRA-10888
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/14a2157b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/14a2157b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/14a2157b
Branch: refs/heads/trunk
Commit: 14a2157bc7e56b46785bc1a572155e584c972f4a
Parents: 757e314
Author: Brett Snyder <bs...@gmail.com>
Authored: Mon Feb 22 11:43:37 2016 +0100
Committer: Benjamin Lerer <b....@gmail.com>
Committed: Mon Feb 22 11:43:37 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/db/filter/SliceQueryFilter.java | 11 ++++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/14a2157b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index c40c3ce..ef8c5a7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.14
+ * Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
* Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/14a2157b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
index 973477f..957d1ba 100644
--- a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
+++ b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
@@ -38,7 +38,6 @@ import org.apache.cassandra.io.sstable.SSTableReader;
import org.apache.cassandra.io.util.DataOutputPlus;
import org.apache.cassandra.io.util.FileDataInput;
import org.apache.cassandra.tracing.Tracing;
-import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.Pair;
public class SliceQueryFilter implements IDiskAtomFilter
@@ -281,10 +280,12 @@ public class SliceQueryFilter implements IDiskAtomFilter
{
Tracing.trace("Scanned over {} tombstones; query aborted (see tombstone_failure_threshold)",
DatabaseDescriptor.getTombstoneFailureThreshold());
- logger.error("Scanned over {} tombstones in {}.{}; query aborted (see tombstone_failure_threshold)",
- DatabaseDescriptor.getTombstoneFailureThreshold(),
- container.metadata().ksName,
- container.metadata().cfName);
+ String msg = String.format("Scanned over %d tombstones in %s.%s for key: %1.512s; query aborted (see tombstone_failure_threshold).",
+ DatabaseDescriptor.getTombstoneFailureThreshold(),
+ container.metadata().ksName,
+ container.metadata().cfName,
+ container.metadata().getKeyValidator().getString(key.getKey()));
+ logger.error(msg);
throw new TombstoneOverwhelmingException();
}
[04/13] cassandra git commit: Only notify if the repaired status
actually changed
Posted by ma...@apache.org.
Only notify if the repaired status actually changed
Patch by marcuse; reviewed by Branimir Lambov for CASSANDRA-11172
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67637d1b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67637d1b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67637d1b
Branch: refs/heads/cassandra-3.0
Commit: 67637d1bbaf638162b479ed33a75e4ab3fb06e49
Parents: 14a2157
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 22 10:57:42 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:10:13 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 12 +++++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ef8c5a7..52bdcce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.14
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 55b873a..ec7cb45 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -472,7 +473,14 @@ public class CompactionManager implements CompactionManagerMBean
logger.debug("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@ -494,6 +502,8 @@ public class CompactionManager implements CompactionManagerMBean
sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, repairedAt);
sstable.reloadSSTableMetadata();
mutatedRepairStatuses.add(sstable);
+ if (!wasRepairedBefore.get(sstable))
+ mutatedRepairStatusToNotify.add(sstable);
sstableIterator.remove();
shouldAnticompact = true;
break;
@@ -513,7 +523,7 @@ public class CompactionManager implements CompactionManagerMBean
}
}
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
+ cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
if (!sstables.isEmpty())
doAntiCompaction(cfs, ranges, sstables, repairedAt);
[06/13] cassandra git commit: Only notify if the repaired status
actually changed
Posted by ma...@apache.org.
Only notify if the repaired status actually changed
Patch by marcuse; reviewed by Branimir Lambov for CASSANDRA-11172
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67637d1b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67637d1b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67637d1b
Branch: refs/heads/cassandra-2.1
Commit: 67637d1bbaf638162b479ed33a75e4ab3fb06e49
Parents: 14a2157
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 22 10:57:42 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:10:13 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 12 +++++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ef8c5a7..52bdcce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.14
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 55b873a..ec7cb45 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -472,7 +473,14 @@ public class CompactionManager implements CompactionManagerMBean
logger.debug("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@ -494,6 +502,8 @@ public class CompactionManager implements CompactionManagerMBean
sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, repairedAt);
sstable.reloadSSTableMetadata();
mutatedRepairStatuses.add(sstable);
+ if (!wasRepairedBefore.get(sstable))
+ mutatedRepairStatusToNotify.add(sstable);
sstableIterator.remove();
shouldAnticompact = true;
break;
@@ -513,7 +523,7 @@ public class CompactionManager implements CompactionManagerMBean
}
}
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
+ cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
if (!sstables.isEmpty())
doAntiCompaction(cfs, ranges, sstables, repairedAt);
[12/13] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by ma...@apache.org.
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/b3aa3347
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b3aa3347
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b3aa3347
Branch: refs/heads/cassandra-3.0
Commit: b3aa33478f2bce10ae6074e6dbf389c300fc27d3
Parents: ef32b8e c8c8cf6
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Feb 23 11:14:59 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:14:59 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3aa3347/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 0c01009,767eb8a..a6ded6f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -31,6 -16,8 +31,7 @@@ Merged from 2.2
* Fix paging on DISTINCT queries repeats result when first row in partition changes
(CASSANDRA-10010)
Merged from 2.1:
+ * Only notify if repair status changed (CASSANDRA-11172)
- * Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
* Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3aa3347/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
[09/13] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by ma...@apache.org.
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/c8c8cf67
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c8c8cf67
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c8c8cf67
Branch: refs/heads/cassandra-3.0
Commit: c8c8cf679c0e597dd741d0780a1c2ac5e0113251
Parents: fbf30d2 67637d1
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Feb 23 11:12:01 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:13:18 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8c8cf67/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e3d6f95,52bdcce..767eb8a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
-2.1.14
+2.2.6
+ * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
+ * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
+ * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)
+ * Protect from keyspace dropped during repair (CASSANDRA-11065)
+ * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146)
+ * Better error message for cleanup (CASSANDRA-10991)
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
+ * Use cloned TokenMetadata in size estimates to avoid race against membership check
+ (CASSANDRA-10736)
+ * Always persist upsampled index summaries (CASSANDRA-10512)
+ * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
+ * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
+ * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281)
+ * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
+ * Fix paging on DISTINCT queries repeats result when first row in partition changes
+ (CASSANDRA-10010)
+Merged from 2.1:
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8c8cf67/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 44d7efb,ec7cb45..9ca4406
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -484,14 -467,20 +484,21 @@@ public class CompactionManager implemen
public void performAnticompaction(ColumnFamilyStore cfs,
Collection<Range<Token>> ranges,
Refs<SSTableReader> validatedForRepair,
- long repairedAt) throws InterruptedException, ExecutionException, IOException
+ LifecycleTransaction txn,
+ long repairedAt) throws InterruptedException, IOException
{
logger.info("Starting anticompaction for {}.{} on {}/{} sstables", cfs.keyspace.getName(), cfs.getColumnFamilyName(), validatedForRepair.size(), cfs.getSSTables().size());
- logger.debug("Starting anticompaction for ranges {}", ranges);
+ logger.trace("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@@ -531,13 -522,11 +540,13 @@@
sstableIterator.remove();
}
}
- cfs.getTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
++ cfs.getTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
+ txn.cancel(Sets.union(nonAnticompacting, mutatedRepairStatuses));
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
- cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
+ assert txn.originals().equals(sstables);
if (!sstables.isEmpty())
- doAntiCompaction(cfs, ranges, sstables, repairedAt);
+ doAntiCompaction(cfs, ranges, txn, repairedAt);
+ txn.finish();
}
finally
{
[08/13] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by ma...@apache.org.
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/c8c8cf67
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c8c8cf67
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c8c8cf67
Branch: refs/heads/cassandra-2.2
Commit: c8c8cf679c0e597dd741d0780a1c2ac5e0113251
Parents: fbf30d2 67637d1
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Feb 23 11:12:01 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:13:18 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8c8cf67/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e3d6f95,52bdcce..767eb8a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
-2.1.14
+2.2.6
+ * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
+ * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
+ * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)
+ * Protect from keyspace dropped during repair (CASSANDRA-11065)
+ * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146)
+ * Better error message for cleanup (CASSANDRA-10991)
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
+ * Use cloned TokenMetadata in size estimates to avoid race against membership check
+ (CASSANDRA-10736)
+ * Always persist upsampled index summaries (CASSANDRA-10512)
+ * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
+ * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
+ * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281)
+ * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
+ * Fix paging on DISTINCT queries repeats result when first row in partition changes
+ (CASSANDRA-10010)
+Merged from 2.1:
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8c8cf67/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 44d7efb,ec7cb45..9ca4406
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -484,14 -467,20 +484,21 @@@ public class CompactionManager implemen
public void performAnticompaction(ColumnFamilyStore cfs,
Collection<Range<Token>> ranges,
Refs<SSTableReader> validatedForRepair,
- long repairedAt) throws InterruptedException, ExecutionException, IOException
+ LifecycleTransaction txn,
+ long repairedAt) throws InterruptedException, IOException
{
logger.info("Starting anticompaction for {}.{} on {}/{} sstables", cfs.keyspace.getName(), cfs.getColumnFamilyName(), validatedForRepair.size(), cfs.getSSTables().size());
- logger.debug("Starting anticompaction for ranges {}", ranges);
+ logger.trace("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@@ -531,13 -522,11 +540,13 @@@
sstableIterator.remove();
}
}
- cfs.getTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
++ cfs.getTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
+ txn.cancel(Sets.union(nonAnticompacting, mutatedRepairStatuses));
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
- cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
+ assert txn.originals().equals(sstables);
if (!sstables.isEmpty())
- doAntiCompaction(cfs, ranges, sstables, repairedAt);
+ doAntiCompaction(cfs, ranges, txn, repairedAt);
+ txn.finish();
}
finally
{
[02/13] cassandra git commit: Merge branch cassandra-2.1 into
cassandra-2.2
Posted by ma...@apache.org.
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/fbf30d21
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fbf30d21
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fbf30d21
Branch: refs/heads/trunk
Commit: fbf30d2199582d3c8e24cc7efcdaedc3a2b7b68e
Parents: 61ac125 14a2157
Author: Benjamin Lerer <b....@gmail.com>
Authored: Mon Feb 22 12:13:51 2016 +0100
Committer: Benjamin Lerer <b....@gmail.com>
Committed: Mon Feb 22 12:19:31 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/db/RowIteratorFactory.java | 20 ++++++--------------
.../cassandra/db/filter/ExtendedFilter.java | 10 +---------
.../cassandra/db/filter/SliceQueryFilter.java | 3 ++-
.../filter/TombstoneOverwhelmingException.java | 14 ++++----------
5 files changed, 14 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbf30d21/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 9d0046b,ef8c5a7..e3d6f95
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
-2.1.14
+2.2.6
+ * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
+ * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
+ * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)
+ * Protect from keyspace dropped during repair (CASSANDRA-11065)
+ * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146)
+ * Better error message for cleanup (CASSANDRA-10991)
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
+ * Use cloned TokenMetadata in size estimates to avoid race against membership check
+ (CASSANDRA-10736)
+ * Always persist upsampled index summaries (CASSANDRA-10512)
+ * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
+ * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
+ * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281)
+ * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
+ * Fix paging on DISTINCT queries repeats result when first row in partition changes
+ (CASSANDRA-10010)
+Merged from 2.1:
+ * Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
* Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbf30d21/src/java/org/apache/cassandra/db/RowIteratorFactory.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbf30d21/src/java/org/apache/cassandra/db/filter/ExtendedFilter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbf30d21/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
index d2f0bf4,957d1ba..822d838
--- a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
+++ b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
@@@ -278,23 -278,37 +278,24 @@@ public class SliceQueryFilter implement
if (respectTombstoneThresholds() && columnCounter.tombstones() > DatabaseDescriptor.getTombstoneFailureThreshold())
{
- Tracing.trace("Scanned over {} tombstones; query aborted (see tombstone_failure_threshold)",
- DatabaseDescriptor.getTombstoneFailureThreshold());
- String msg = String.format("Scanned over %d tombstones in %s.%s for key: %1.512s; query aborted (see tombstone_failure_threshold).",
- DatabaseDescriptor.getTombstoneFailureThreshold(),
- container.metadata().ksName,
- container.metadata().cfName,
- container.metadata().getKeyValidator().getString(key.getKey()));
- logger.error(msg);
- throw new TombstoneOverwhelmingException();
+ Tracing.trace("Scanned over {} tombstones; query aborted (see tombstone_failure_threshold); slices={}",
+ DatabaseDescriptor.getTombstoneFailureThreshold(), getSlicesInfo(container));
+
+ throw new TombstoneOverwhelmingException(columnCounter.tombstones(),
+ count,
+ container.metadata().ksName,
+ container.metadata().cfName,
+ container.getComparator().getString(cell.name()),
- getSlicesInfo(container));
++ getSlicesInfo(container),
++ container.metadata().getKeyValidator().getString(key.getKey()));
}
- container.maybeAppendColumn(cell, tester, gcBefore);
+ container.appendColumn(cell);
}
- Tracing.trace("Read {} live and {} tombstone cells", columnCounter.live(), columnCounter.tombstones());
- if (logger.isWarnEnabled() && respectTombstoneThresholds() && columnCounter.tombstones() > DatabaseDescriptor.getTombstoneWarnThreshold())
+ boolean warnTombstones = logger.isWarnEnabled() && respectTombstoneThresholds() && columnCounter.tombstones() > DatabaseDescriptor.getTombstoneWarnThreshold();
+ if (warnTombstones)
{
- StringBuilder sb = new StringBuilder();
- CellNameType type = container.metadata().comparator;
-
- for (ColumnSlice sl : slices)
- {
- assert sl != null;
-
- sb.append('[');
- sb.append(type.getString(sl.start));
- sb.append('-');
- sb.append(type.getString(sl.finish));
- sb.append(']');
- }
-
String msg = String.format("Read %d live and %d tombstone cells in %s.%s for key: %1.512s (see tombstone_warn_threshold). %d columns were requested, slices=%1.512s",
columnCounter.live(),
columnCounter.tombstones(),
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbf30d21/src/java/org/apache/cassandra/db/filter/TombstoneOverwhelmingException.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/filter/TombstoneOverwhelmingException.java
index 7624e1b,6a6b0f6..da4e30f
--- a/src/java/org/apache/cassandra/db/filter/TombstoneOverwhelmingException.java
+++ b/src/java/org/apache/cassandra/db/filter/TombstoneOverwhelmingException.java
@@@ -18,49 -18,6 +18,43 @@@
*/
package org.apache.cassandra.db.filter;
- import org.apache.cassandra.db.DecoratedKey;
-
public class TombstoneOverwhelmingException extends RuntimeException
{
+ private final int numTombstones;
+ private final int numRequested;
+ private final String ksName;
+ private final String cfName;
+ private final String lastCellName;
+ private final String slicesInfo;
- private String partitionKey = null;
++ private final String partitionKey;
+
+ public TombstoneOverwhelmingException(int numTombstones,
+ int numRequested,
+ String ksName,
+ String cfName,
+ String lastCellName,
- String slicesInfo)
++ String slicesInfo,
++ String partitionKey)
+ {
+ this.numTombstones = numTombstones;
+ this.numRequested = numRequested;
+ this.ksName = ksName;
+ this.cfName = cfName;
+ this.lastCellName = lastCellName;
+ this.slicesInfo = slicesInfo;
- }
-
- public void setKey(DecoratedKey key)
- {
- if (key != null)
- partitionKey = key.toString();
++ this.partitionKey = partitionKey;
+ }
+
+ public String getLocalizedMessage()
+ {
+ return getMessage();
+ }
+
+ public String getMessage()
+ {
+ return String.format(
+ "Scanned over %d tombstones in %s.%s; %d columns were requested; query aborted " +
+ "(see tombstone_failure_threshold); partitionKey=%s; lastCell=%s; slices=%s",
+ numTombstones, ksName, cfName, numRequested, partitionKey, lastCellName, slicesInfo);
+ }
}
[13/13] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Posted by ma...@apache.org.
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/3e5c63d7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3e5c63d7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3e5c63d7
Branch: refs/heads/trunk
Commit: 3e5c63d72e104595b930a45fd827cfa5edf6af36
Parents: 5a4ff90 b3aa334
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Feb 23 11:15:11 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:15:11 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3e5c63d7/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index f66d959,a6ded6f..51b2241
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -58,8 -30,8 +58,9 @@@ Merged from 2.2
* (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
* Fix paging on DISTINCT queries repeats result when first row in partition changes
(CASSANDRA-10010)
+ * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
Merged from 2.1:
+ * Only notify if repair status changed (CASSANDRA-11172)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
* Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3e5c63d7/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
[05/13] cassandra git commit: Only notify if the repaired status
actually changed
Posted by ma...@apache.org.
Only notify if the repaired status actually changed
Patch by marcuse; reviewed by Branimir Lambov for CASSANDRA-11172
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67637d1b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67637d1b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67637d1b
Branch: refs/heads/cassandra-2.2
Commit: 67637d1bbaf638162b479ed33a75e4ab3fb06e49
Parents: 14a2157
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 22 10:57:42 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:10:13 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 12 +++++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ef8c5a7..52bdcce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.14
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 55b873a..ec7cb45 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -472,7 +473,14 @@ public class CompactionManager implements CompactionManagerMBean
logger.debug("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@ -494,6 +502,8 @@ public class CompactionManager implements CompactionManagerMBean
sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, repairedAt);
sstable.reloadSSTableMetadata();
mutatedRepairStatuses.add(sstable);
+ if (!wasRepairedBefore.get(sstable))
+ mutatedRepairStatusToNotify.add(sstable);
sstableIterator.remove();
shouldAnticompact = true;
break;
@@ -513,7 +523,7 @@ public class CompactionManager implements CompactionManagerMBean
}
}
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
+ cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
if (!sstables.isEmpty())
doAntiCompaction(cfs, ranges, sstables, repairedAt);
[07/13] cassandra git commit: Only notify if the repaired status
actually changed
Posted by ma...@apache.org.
Only notify if the repaired status actually changed
Patch by marcuse; reviewed by Branimir Lambov for CASSANDRA-11172
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67637d1b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67637d1b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67637d1b
Branch: refs/heads/trunk
Commit: 67637d1bbaf638162b479ed33a75e4ab3fb06e49
Parents: 14a2157
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 22 10:57:42 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:10:13 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 12 +++++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ef8c5a7..52bdcce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.14
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67637d1b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 55b873a..ec7cb45 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -472,7 +473,14 @@ public class CompactionManager implements CompactionManagerMBean
logger.debug("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@ -494,6 +502,8 @@ public class CompactionManager implements CompactionManagerMBean
sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, repairedAt);
sstable.reloadSSTableMetadata();
mutatedRepairStatuses.add(sstable);
+ if (!wasRepairedBefore.get(sstable))
+ mutatedRepairStatusToNotify.add(sstable);
sstableIterator.remove();
shouldAnticompact = true;
break;
@@ -513,7 +523,7 @@ public class CompactionManager implements CompactionManagerMBean
}
}
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
+ cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
if (!sstables.isEmpty())
doAntiCompaction(cfs, ranges, sstables, repairedAt);
[03/13] cassandra git commit: Merge branch cassandra-2.2 into
cassandra-3.0
Posted by ma...@apache.org.
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/ef32b8e4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ef32b8e4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ef32b8e4
Branch: refs/heads/trunk
Commit: ef32b8e4f6fb2817c1b9e940427c24fce6db3028
Parents: b0f2266 fbf30d2
Author: Benjamin Lerer <b....@gmail.com>
Authored: Mon Feb 22 12:23:46 2016 +0100
Committer: Benjamin Lerer <b....@gmail.com>
Committed: Mon Feb 22 12:24:41 2016 +0100
----------------------------------------------------------------------
----------------------------------------------------------------------
[10/13] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by ma...@apache.org.
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/c8c8cf67
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c8c8cf67
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c8c8cf67
Branch: refs/heads/trunk
Commit: c8c8cf679c0e597dd741d0780a1c2ac5e0113251
Parents: fbf30d2 67637d1
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Feb 23 11:12:01 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:13:18 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8c8cf67/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e3d6f95,52bdcce..767eb8a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
-2.1.14
+2.2.6
+ * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
+ * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
+ * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)
+ * Protect from keyspace dropped during repair (CASSANDRA-11065)
+ * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146)
+ * Better error message for cleanup (CASSANDRA-10991)
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
+ * Use cloned TokenMetadata in size estimates to avoid race against membership check
+ (CASSANDRA-10736)
+ * Always persist upsampled index summaries (CASSANDRA-10512)
+ * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
+ * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
+ * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281)
+ * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
+ * Fix paging on DISTINCT queries repeats result when first row in partition changes
+ (CASSANDRA-10010)
+Merged from 2.1:
+ * Only notify if repair status changed (CASSANDRA-11172)
* Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8c8cf67/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 44d7efb,ec7cb45..9ca4406
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -484,14 -467,20 +484,21 @@@ public class CompactionManager implemen
public void performAnticompaction(ColumnFamilyStore cfs,
Collection<Range<Token>> ranges,
Refs<SSTableReader> validatedForRepair,
- long repairedAt) throws InterruptedException, ExecutionException, IOException
+ LifecycleTransaction txn,
+ long repairedAt) throws InterruptedException, IOException
{
logger.info("Starting anticompaction for {}.{} on {}/{} sstables", cfs.keyspace.getName(), cfs.getColumnFamilyName(), validatedForRepair.size(), cfs.getSSTables().size());
- logger.debug("Starting anticompaction for ranges {}", ranges);
+ logger.trace("Starting anticompaction for ranges {}", ranges);
Set<SSTableReader> sstables = new HashSet<>(validatedForRepair);
Set<SSTableReader> mutatedRepairStatuses = new HashSet<>();
+ // we should only notify that repair status changed if it actually did:
+ Set<SSTableReader> mutatedRepairStatusToNotify = new HashSet<>();
+ Map<SSTableReader, Boolean> wasRepairedBefore = new HashMap<>();
+ for (SSTableReader sstable : sstables)
+ wasRepairedBefore.put(sstable, sstable.isRepaired());
+
Set<SSTableReader> nonAnticompacting = new HashSet<>();
+
Iterator<SSTableReader> sstableIterator = sstables.iterator();
try
{
@@@ -531,13 -522,11 +540,13 @@@
sstableIterator.remove();
}
}
- cfs.getTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatuses);
++ cfs.getTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
+ txn.cancel(Sets.union(nonAnticompacting, mutatedRepairStatuses));
validatedForRepair.release(Sets.union(nonAnticompacting, mutatedRepairStatuses));
- cfs.getDataTracker().notifySSTableRepairedStatusChanged(mutatedRepairStatusToNotify);
- cfs.getDataTracker().unmarkCompacting(Sets.union(nonAnticompacting, mutatedRepairStatuses));
+ assert txn.originals().equals(sstables);
if (!sstables.isEmpty())
- doAntiCompaction(cfs, ranges, sstables, repairedAt);
+ doAntiCompaction(cfs, ranges, txn, repairedAt);
+ txn.finish();
}
finally
{
[11/13] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by ma...@apache.org.
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/b3aa3347
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b3aa3347
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b3aa3347
Branch: refs/heads/trunk
Commit: b3aa33478f2bce10ae6074e6dbf389c300fc27d3
Parents: ef32b8e c8c8cf6
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Feb 23 11:14:59 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Tue Feb 23 11:14:59 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3aa3347/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 0c01009,767eb8a..a6ded6f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -31,6 -16,8 +31,7 @@@ Merged from 2.2
* Fix paging on DISTINCT queries repeats result when first row in partition changes
(CASSANDRA-10010)
Merged from 2.1:
+ * Only notify if repair status changed (CASSANDRA-11172)
- * Add partition key to TombstoneOverwhelmingException error message (CASSANDRA-10888)
* Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
* Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
* Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3aa3347/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------