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/06/09 17:38:15 UTC
[2/3] git commit: fix NPE in compactionstats patch by jbellis;
reviewed by xedin for CASSANDRA-4318
fix NPE in compactionstats
patch by jbellis; reviewed by xedin for CASSANDRA-4318
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6352edb3
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6352edb3
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6352edb3
Branch: refs/heads/trunk
Commit: 6352edb3fe0a3a678e83ba11002e4cdde2cac468
Parents: 8fd3f49
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sat Jun 9 10:31:57 2012 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sat Jun 9 10:31:57 2012 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/cache/AutoSavingCache.java | 6 ++++-
.../db/compaction/AbstractCompactionIterable.java | 2 +-
.../db/compaction/CompactionController.java | 2 +-
.../cassandra/db/compaction/CompactionInfo.java | 17 +++++---------
.../cassandra/db/compaction/CompactionManager.java | 4 +-
.../cassandra/db/index/SecondaryIndexBuilder.java | 2 +-
7 files changed, 17 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 71ab07d..ed9650c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
1.1.2
+ * fix NPE in compactionstats (CASSANDRA-4318)
* enforce 1m min keycache for auto (CASSANDRA-4306)
* Have DeletedColumn.isMFD always return true (CASSANDRA-4307)
* ex msg for cql3 order by constraints says primary filter can be an IN clause
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 659e9ec..7eed2a0 100644
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@ -30,6 +30,7 @@ import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.db.compaction.CompactionInfo;
import org.apache.cassandra.db.compaction.CompactionManager;
@@ -192,7 +193,10 @@ public class AutoSavingCache<K extends CacheKey, V> extends InstrumentingCache<K
else
type = OperationType.UNKNOWN;
- info = new CompactionInfo(type, 0, estimatedTotalBytes);
+ info = new CompactionInfo(new CFMetaData("system", cacheType.toString(), null, null, null),
+ type,
+ 0,
+ estimatedTotalBytes);
}
public CompactionInfo getCompactionInfo()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
index 1eb4e9b..db3e1b3 100644
--- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
+++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
@@ -53,7 +53,7 @@ public abstract class AbstractCompactionIterable extends CompactionInfo.Holder i
public CompactionInfo getCompactionInfo()
{
- return new CompactionInfo(this.hashCode(),
+ return new CompactionInfo(controller.cfs.metadata,
type,
bytesRead,
totalBytes);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/src/java/org/apache/cassandra/db/compaction/CompactionController.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionController.java b/src/java/org/apache/cassandra/db/compaction/CompactionController.java
index 9eaefe7..8ff871e 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionController.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionController.java
@@ -42,7 +42,7 @@ public class CompactionController
{
private static Logger logger = LoggerFactory.getLogger(CompactionController.class);
- private final ColumnFamilyStore cfs;
+ public final ColumnFamilyStore cfs;
private final boolean deserializeRequired;
private final IntervalTree<SSTableReader> overlappingTree;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java
index 17d098b..fdb363e 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java
@@ -34,38 +34,33 @@ public final class CompactionInfo implements Serializable
private final long bytesComplete;
private final long totalBytes;
- public CompactionInfo(OperationType tasktype, long bytesComplete, long totalBytes)
- {
- this(null, tasktype, bytesComplete, totalBytes);
- }
-
- public CompactionInfo(Integer id, OperationType tasktype, long bytesComplete, long totalBytes)
+ public CompactionInfo(CFMetaData cfm, OperationType tasktype, long bytesComplete, long totalBytes)
{
this.tasktype = tasktype;
this.bytesComplete = bytesComplete;
this.totalBytes = totalBytes;
- this.cfm = id == null ? null : Schema.instance.getCFMetaData(id);
+ this.cfm = cfm;
}
/** @return A copy of this CompactionInfo with updated progress. */
public CompactionInfo forProgress(long bytesComplete, long totalBytes)
{
- return new CompactionInfo(cfm == null ? null : cfm.cfId, tasktype, bytesComplete, totalBytes);
+ return new CompactionInfo(cfm, tasktype, bytesComplete, totalBytes);
}
public Integer getId()
{
- return cfm == null ? null : cfm.cfId;
+ return cfm.cfId;
}
public String getKeyspace()
{
- return cfm == null ? null : cfm.ksName;
+ return cfm.ksName;
}
public String getColumnFamily()
{
- return cfm == null ? null : cfm.cfName;
+ return cfm.cfName;
}
public CFMetaData getCFMetaData()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/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 38264f5..46aaa7d 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -1204,7 +1204,7 @@ public class CompactionManager implements CompactionManagerMBean
{
try
{
- return new CompactionInfo(this.hashCode(),
+ return new CompactionInfo(sstable.metadata,
OperationType.CLEANUP,
scanner.getCurrentPosition(),
scanner.getLengthInBytes());
@@ -1230,7 +1230,7 @@ public class CompactionManager implements CompactionManagerMBean
{
try
{
- return new CompactionInfo(this.hashCode(),
+ return new CompactionInfo(sstable.metadata,
OperationType.SCRUB,
dataFile.getFilePointer(),
dataFile.length());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6352edb3/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java
index 39f2c2d..f93be04 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java
@@ -47,7 +47,7 @@ public class SecondaryIndexBuilder extends CompactionInfo.Holder
public CompactionInfo getCompactionInfo()
{
- return new CompactionInfo(this.hashCode(),
+ return new CompactionInfo(cfs.metadata,
OperationType.INDEX_BUILD,
iter.getBytesRead(),
iter.getTotalBytes());