You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2011/12/08 00:50:44 UTC
svn commit: r1211710 -
/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java
Author: uschindler
Date: Wed Dec 7 23:50:44 2011
New Revision: 1211710
URL: http://svn.apache.org/viewvc?rev=1211710&view=rev
Log:
LUCENE-3588: Use MapBasedSet
Modified:
lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java?rev=1211710&r1=1211709&r2=1211710&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java Wed Dec 7 23:50:44 2011
@@ -26,7 +26,7 @@ import java.nio.channels.ClosedChannelEx
import java.nio.channels.FileChannel;
import java.nio.channels.FileChannel.MapMode;
-import java.util.Map;
+import java.util.Set;
import java.util.WeakHashMap;
import java.security.AccessController;
@@ -34,6 +34,7 @@ import java.security.PrivilegedException
import java.security.PrivilegedActionException;
import java.lang.reflect.Method;
+import org.apache.lucene.util.MapBackedSet;
import org.apache.lucene.util.Constants;
/** File-based {@link Directory} implementation that uses
@@ -259,7 +260,7 @@ public class MMapDirectory extends FSDir
private ByteBuffer curBuf; // redundant for speed: buffers[curBufIndex]
private boolean isClone = false;
- private final Map<MMapIndexInput,Boolean> clones = new WeakHashMap<MMapIndexInput,Boolean>();
+ private final Set<MMapIndexInput> clones = new MapBackedSet<MMapIndexInput>(new WeakHashMap<MMapIndexInput,Boolean>());
MMapIndexInput(String resourceDescription, RandomAccessFile raf, long offset, long length, int chunkSizePower) throws IOException {
super(resourceDescription);
@@ -430,7 +431,7 @@ public class MMapDirectory extends FSDir
// register the new clone in our clone list to clean it up on closing:
synchronized(this.clones) {
- this.clones.put(clone, Boolean.TRUE);
+ this.clones.add(clone);
}
return clone;
@@ -449,7 +450,7 @@ public class MMapDirectory extends FSDir
// for extra safety unset also all clones' buffers:
synchronized(this.clones) {
- for (final MMapIndexInput clone : this.clones.keySet()) {
+ for (final MMapIndexInput clone : this.clones) {
assert clone.isClone;
clone.unsetBuffers();
}