You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/12/08 17:20:38 UTC
[5/13] git commit: merge from 1.1
merge from 1.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/66706d1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/66706d1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/66706d1c
Branch: refs/heads/cassandra-1.2.0
Commit: 66706d1cc3b60a1ad4265936616972bfd8f20aa0
Parents: bddfa9e 5b511b6
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sat Dec 8 10:19:27 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sat Dec 8 10:19:27 2012 -0600
----------------------------------------------------------------------
CHANGES.txt | 2 +
.../cassandra/db/compaction/CompactionManager.java | 18 +++++++++++++++
.../cassandra/db/context/CounterContext.java | 12 ++++-----
3 files changed, 25 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/66706d1c/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48ebb87,15d63f0..b92984d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,57 -1,14 +1,59 @@@
-1.1.8
+1.2-rc1
+ * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
+ * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
+ * Fix preparing insert queries (CASSANDRA-5016)
+ * Fix preparing queries with counter increment (CASSANDRA-5022)
+ * Fix preparing updates with collections (CASSANDRA-5017)
+ * Don't generate UUID based on other node address (CASSANDRA-5002)
+ * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
+ * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
+Merged from 1.1
+ * reduce log spam from invalid counter shards (CASSANDRA-5026)
* Improve schema propagation performance (CASSANDRA-5025)
- * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
- * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
+ * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
+
-1.1.7
- * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
+1.2-beta3
+ * make consistency level configurable in cqlsh (CASSANDRA-4829)
+ * fix cqlsh rendering of blob fields (CASSANDRA-4970)
+ * fix cqlsh DESCRIBE command (CASSANDRA-4913)
+ * save truncation position in system table (CASSANDRA-4906)
+ * Move CompressionMetadata off-heap (CASSANDRA-4937)
+ * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
+ * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
+ * acquire references to overlapping sstables during compaction so bloom filter
+ doesn't get free'd prematurely (CASSANDRA-4934)
+ * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
+ * Separate tracing from Log4J (CASSANDRA-4861)
+ * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
+ * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
+ * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
+ * Change stream session ID to UUID to avoid collision from same node (CASSANDRA-4813)
+ * Use Stats.db when bulk loading if present (CASSANDRA-4957)
+ * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
+ * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
+ * Correctly handle prepared operation on collections (CASSANDRA-4945)
+ * Fix CQL3 LIMIT (CASSANDRA-4877)
+ * Fix Stress for CQL3 (CASSANDRA-4979)
+ * Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
+ * (CQL3) Force using ALLOW FILTERING on potentially inefficient queries (CASSANDRA-4915)
+ * (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
+ * (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
+ * (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
+ * Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
+ * clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
+ in CQL3 mode (CASSANDRA-4955)
* add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
* fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
+Merged from 1.1:
+ * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
+ * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
+ * Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
+ * Fix assertion failure with leveled compaction (CASSANDRA-4799)
+ * Check for null end_token in get_range_slice (CASSANDRA-4804)
+ * Remove all remnants of removed nodes (CASSANDRA-4840)
+ * Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
+ * Fix estimated row cache entry size (CASSANDRA-4860)
* reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)
* expunge row cache post-truncate (CASSANDRA-4940)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/66706d1c/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 4399948,ed1fb7e..817cc6f
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -53,7 -46,6 +53,8 @@@ import org.apache.cassandra.dht.Range
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.io.sstable.*;
import org.apache.cassandra.io.util.FileUtils;
+import org.apache.cassandra.metrics.CompactionMetrics;
++import org.apache.cassandra.io.util.RandomAccessReader;
import org.apache.cassandra.service.AntiEntropyService;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
@@@ -957,6 -909,43 +968,13 @@@ public class CompactionManager implemen
this(Math.max(1, DatabaseDescriptor.getConcurrentCompactors()), "CompactionExecutor");
}
- public void beginCompaction(CompactionInfo.Holder ci)
- {
- compactions.add(ci);
- }
-
- public void finishCompaction(CompactionInfo.Holder ci)
- {
- compactions.remove(ci);
- totalBytesCompacted += ci.getCompactionInfo().getTotalBytes();
- totalCompactionsCompleted += 1;
- }
-
- public static List<CompactionInfo.Holder> getCompactions()
- {
- return new ArrayList<CompactionInfo.Holder>(compactions);
- }
-
- public long getTotalBytesCompacted()
- {
- long bytesCompletedInProgress = 0L;
- for (CompactionInfo.Holder ci : compactions)
- bytesCompletedInProgress += ci.getCompactionInfo().getBytesComplete();
- return bytesCompletedInProgress + totalBytesCompacted;
- }
-
- public long getTotalCompactionsCompleted()
- {
- return totalCompactionsCompleted;
- }
-
+ protected void beforeExecute(Thread t, Runnable r)
+ {
+ // can't set this in Thread factory, so we do it redundantly here
+ isCompactionManager.set(true);
+ super.beforeExecute(t, r);
+ }
+
// modified from DebuggableThreadPoolExecutor so that CompactionInterruptedExceptions are not logged
@Override
public void afterExecute(Runnable r, Throwable t)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/66706d1c/src/java/org/apache/cassandra/db/context/CounterContext.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/context/CounterContext.java
index f142034,bbab603..9e309f9
--- a/src/java/org/apache/cassandra/db/context/CounterContext.java
+++ b/src/java/org/apache/cassandra/db/context/CounterContext.java
@@@ -26,9 -26,13 +26,10 @@@ import java.util.List
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.cassandra.db.DBConstants;
+import org.apache.cassandra.db.TypeSizes;
+ import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.marshal.MarshalException;
-import org.apache.cassandra.utils.Allocator;
-import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.HeapAllocator;
-import org.apache.cassandra.utils.NodeId;
+import org.apache.cassandra.utils.*;
/**
* An implementation of a partitioned counter context.
@@@ -373,14 -377,11 +374,11 @@@ public class CounterContext implements
long leftCount = leftState.getCount();
long rightCount = rightState.getCount();
- if (leftCount != rightCount)
+ if (leftCount != rightCount && CompactionManager.isCompactionManager.get())
{
- logger.error("invalid counter shard detected; ({}, {}, {}) and ({}, {}, {}) differ only in "
- + "count; will pick highest to self-heal; this indicates a bug or corruption generated a bad counter shard",
- new Object[] {
- leftState.getCounterId(), leftClock, leftCount,
- rightState.getCounterId(), rightClock, rightCount,
- });
+ logger.warn("invalid counter shard detected; ({}, {}, {}) and ({}, {}, {}) differ only in "
+ + "count; will pick highest to self-heal on compaction",
- new Object[] { leftState.getNodeId(), leftClock, leftCount, rightState.getNodeId(), rightClock, rightCount, });
++ leftState.getCounterId(), leftClock, leftCount, rightState.getCounterId(), rightClock, rightCount);
}
if (leftCount > rightCount)