Author: jbellis
Date: Sat Feb 6 18:22:22 2010
New Revision: 907266
URL: http://svn.apache.org/viewvc?rev=907266&view=rev
Log:
adding sstables to tracker via constructor was inconsistent with add() method.
r/m constructor code path, forcing use of add() for consistency. patch by Stu
Hood; reviewed by jbellis for CASSANDRA-772
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableTracker.java
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=907266&r1=907265&r2=907266&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
Sat Feb 6 18:22:22 2010
@@ -187,7 +187,8 @@
}
sstables.add(sstable);
}
- ssTables_ = new SSTableTracker(sstables);
+ ssTables_ = new SSTableTracker();
+ ssTables_.add(sstables);
double v = DatabaseDescriptor.getRowsCachedFraction(table,
columnFamilyName);
int cacheSize;
@@ -554,7 +555,7 @@
*/
public void addSSTable(SSTableReader sstable)
{
- ssTables_.add(sstable);
+ ssTables_.add(Arrays.asList(sstable));
CompactionManager.instance.submitMinorIfNeeded(this);
}
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableTracker.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableTracker.java?rev=907266&r1=907265&r2=907266&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableTracker.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTableTracker.java
Sat Feb 6 18:22:22 2010
@@ -32,9 +32,9 @@
private final AtomicLong liveSize = new AtomicLong();
private final AtomicLong totalSize = new AtomicLong();
- public SSTableTracker(Collection<SSTableReader> sstables)
+ public SSTableTracker()
{
- this.sstables = Collections.unmodifiableSet(new
HashSet<SSTableReader>(sstables));
+ this.sstables = Collections.<SSTableReader>emptySet();
}
public synchronized void replace(Collection<SSTableReader> oldSSTables,
Iterable<SSTableReader> replacements) throws IOException
@@ -53,7 +53,8 @@
for (SSTableReader sstable : oldSSTables)
{
- sstablesNew.remove(sstable);
+ boolean removed = sstablesNew.remove(sstable);
+ assert removed;
sstable.markCompacted();
liveSize.addAndGet(-sstable.bytesOnDisk());
}
@@ -61,12 +62,12 @@
sstables = Collections.unmodifiableSet(sstablesNew);
}
- public synchronized void add(SSTableReader sstable)
+ public synchronized void add(Iterable<SSTableReader> sstables)
{
- assert sstable != null;
+ assert sstables != null;
try
{
- replace(Collections.<SSTableReader>emptyList(),
Arrays.asList(sstable));
+ replace(Collections.<SSTableReader>emptyList(), sstables);
}
catch (IOException e)
{