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/08/17 17:11:35 UTC
[2/5] git commit: simplify Map/Set usage patch by pjenvey;
reviewed by jbellis
simplify Map/Set usage
patch by pjenvey; reviewed by jbellis
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a343c85b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a343c85b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a343c85b
Branch: refs/heads/cassandra-1.1
Commit: a343c85b79419d47a9fc05eb555fae7740bfbfb5
Parents: 8b1336f
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Aug 17 10:10:59 2012 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Aug 17 10:10:59 2012 -0500
----------------------------------------------------------------------
.../cassandra/db/index/SecondaryIndexManager.java | 62 +++++----------
1 files changed, 19 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a343c85b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index e923575..7258835 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -273,8 +273,8 @@ public class SecondaryIndexManager
*/
public void invalidate()
{
- for (Map.Entry<ByteBuffer, SecondaryIndex> entry : indexesByColumn.entrySet())
- entry.getValue().invalidate();
+ for (SecondaryIndex index : indexesByColumn.values())
+ index.invalidate();
}
/**
@@ -284,8 +284,8 @@ public class SecondaryIndexManager
*/
public void flushIndexesBlocking() throws IOException
{
- for (Map.Entry<ByteBuffer, SecondaryIndex> entry : indexesByColumn.entrySet())
- entry.getValue().forceBlockingFlush();
+ for (SecondaryIndex index : indexesByColumn.values())
+ index.forceBlockingFlush();
}
/**
@@ -337,10 +337,9 @@ public class SecondaryIndexManager
{
ArrayList<ColumnFamilyStore> cfsList = new ArrayList<ColumnFamilyStore>();
- for (Map.Entry<ByteBuffer, SecondaryIndex> entry : indexesByColumn.entrySet())
+ for (SecondaryIndex index: indexesByColumn.values())
{
- ColumnFamilyStore cfs = entry.getValue().getIndexCfs();
-
+ ColumnFamilyStore cfs = index.getIndexCfs();
if (cfs != null)
cfsList.add(cfs);
}
@@ -353,19 +352,12 @@ public class SecondaryIndexManager
*/
public Collection<SecondaryIndex> getIndexesNotBackedByCfs()
{
- // we use identity map because per row indexes use same instance
- // across many columns
- IdentityHashMap<SecondaryIndex, Object> indexList = new IdentityHashMap<SecondaryIndex, Object>();
-
- for (Map.Entry<ByteBuffer, SecondaryIndex> entry : indexesByColumn.entrySet())
- {
- ColumnFamilyStore cfs = entry.getValue().getIndexCfs();
-
- if (cfs == null)
- indexList.put(entry.getValue(), null);
- }
-
- return indexList.keySet();
+ // we use identity map because per row indexes use same instance across many columns
+ Set<SecondaryIndex> indexes = Collections.newSetFromMap(new IdentityHashMap<SecondaryIndex, Boolean>());
+ for (SecondaryIndex index: indexesByColumn.values())
+ if (index.getIndexCfs() == null)
+ indexes.add(index);
+ return indexes;
}
/**
@@ -374,12 +366,9 @@ public class SecondaryIndexManager
public Collection<SecondaryIndex> getIndexes()
{
// we use identity map because per row indexes use same instance across many columns
- IdentityHashMap<SecondaryIndex, Object> indexList = new IdentityHashMap<SecondaryIndex, Object>();
-
- for (Map.Entry<ByteBuffer, SecondaryIndex> entry : indexesByColumn.entrySet())
- indexList.put(entry.getValue(), null);
-
- return indexList.keySet();
+ Set<SecondaryIndex> indexes = Collections.newSetFromMap(new IdentityHashMap<SecondaryIndex, Boolean>());
+ indexes.addAll(indexesByColumn.values());
+ return indexes;
}
/**
@@ -388,19 +377,8 @@ public class SecondaryIndexManager
public long getTotalLiveSize()
{
long total = 0;
-
- // we use identity map because per row indexes use same instance
- // across many columns
- IdentityHashMap<SecondaryIndex, Object> indexList = new IdentityHashMap<SecondaryIndex, Object>();
-
- for (Map.Entry<ByteBuffer, SecondaryIndex> entry : indexesByColumn.entrySet())
- {
- SecondaryIndex index = entry.getValue();
-
- if (indexList.put(index, index) == null)
- total += index.getLiveSize();
- }
-
+ for (SecondaryIndex index : getIndexes())
+ total += index.getLiveSize();
return total;
}
@@ -568,10 +546,8 @@ public class SecondaryIndexManager
List<SecondaryIndexSearcher> indexSearchers = new ArrayList<SecondaryIndexSearcher>(groupByIndexType.size());
//create searcher per type
- for (Map.Entry<String, Set<ByteBuffer>> entry : groupByIndexType.entrySet())
- {
- indexSearchers.add( getIndexForColumn(entry.getValue().iterator().next()).createSecondaryIndexSearcher(entry.getValue()) );
- }
+ for (Set<ByteBuffer> column : groupByIndexType.values())
+ indexSearchers.add(getIndexForColumn(column.iterator().next()).createSecondaryIndexSearcher(column));
return indexSearchers;
}