From 81d27a068e194169b632b5ec5f2f5249f232a049 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 27 Feb 2015 13:50:23 +0000
Subject: [PATCH] Code cleanup
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java | 93 +++++++++++++++++++++++++++++-----------------
1 files changed, 58 insertions(+), 35 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
index 7c5f8ac..b556d5f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
@@ -224,11 +224,9 @@
new ConcurrentHashMap<IndexKey, BlockingQueue<IndexOutputBuffer>>();
/** Map of DB containers to index managers. Used to start phase 2. */
- private final List<IndexManager> indexMgrList =
- new LinkedList<IndexManager>();
+ private final List<IndexManager> indexMgrList = new LinkedList<IndexManager>();
/** Map of DB containers to DN-based index managers. Used to start phase 2. */
- private final List<IndexManager> DNIndexMgrList =
- new LinkedList<IndexManager>();
+ private final List<IndexManager> DNIndexMgrList = new LinkedList<IndexManager>();
/**
* Futures used to indicate when the index file writers are done flushing
@@ -701,11 +699,15 @@
{
if (index != null)
{
- int id = System.identityHashCode(index);
- idContainerMap.putIfAbsent(id, index);
+ idContainerMap.putIfAbsent(getIndexID(index), index);
}
}
+ private static int getIndexID(DatabaseContainer index)
+ {
+ return System.identityHashCode(index);
+ }
+
private Suffix getSuffix(WriteableStorage txn, EntryContainer entryContainer)
throws ConfigException
{
@@ -1702,9 +1704,9 @@
indexBuffer = getNewIndexBuffer(sizeNeeded);
indexBufferMap.put(indexKey, indexBuffer);
}
- int id = System.identityHashCode(container);
- indexBuffer.add(key, entryID, id, insert);
- return id;
+ int indexID = getIndexID(container);
+ indexBuffer.add(key, entryID, indexID, insert);
+ return indexID;
}
IndexOutputBuffer getNewIndexBuffer(int size) throws InterruptedException
@@ -1956,7 +1958,6 @@
ByteBuffer key = null;
ImportIDSet insertIDSet = null;
ImportIDSet deleteIDSet = null;
- Integer indexID = null;
if (isCanceled)
{
@@ -1975,6 +1976,7 @@
return null;
}
+ Integer indexID = null;
while (!bufferSet.isEmpty())
{
IndexInputBuffer b = bufferSet.pollFirst();
@@ -1998,7 +2000,7 @@
key = ByteBuffer.allocate(b.getKeyLen());
key.flip();
- b.getKey(key);
+ b.fetchKey(key);
b.mergeIDSet(insertIDSet);
b.mergeIDSet(deleteIDSet);
@@ -2032,7 +2034,7 @@
key = ByteBuffer.allocate(b.getKeyLen());
}
key.flip();
- b.getKey(key);
+ b.fetchKey(key);
b.mergeIDSet(insertIDSet);
b.mergeIDSet(deleteIDSet);
@@ -2047,7 +2049,7 @@
if (b.hasMoreData())
{
- b.getNextRecord();
+ b.fetchNextRecord();
bufferSet.add(b);
}
}
@@ -2266,17 +2268,18 @@
private void id2child(EntryID childID) throws DirectoryException
{
- ImportIDSet idSet;
if (parentID != null)
{
- if (!id2childTree.containsKey(parentID.toByteString()))
+ ImportIDSet idSet;
+ final ByteString parentIDBytes = parentID.toByteString();
+ if (!id2childTree.containsKey(parentIDBytes))
{
idSet = new ImportIDSet(1, childLimit, childDoCount);
- id2childTree.put(parentID.toByteString(), idSet);
+ id2childTree.put(parentIDBytes, idSet);
}
else
{
- idSet = id2childTree.get(parentID.toByteString());
+ idSet = id2childTree.get(parentIDBytes);
}
idSet.addEntryID(childID);
if (id2childTree.size() > DN_STATE_CACHE_SIZE)
@@ -2308,14 +2311,15 @@
if (parentID != null)
{
ImportIDSet idSet;
- if (!id2subtreeTree.containsKey(parentID.toByteString()))
+ final ByteString parentIDBytes = parentID.toByteString();
+ if (!id2subtreeTree.containsKey(parentIDBytes))
{
idSet = new ImportIDSet(1, subTreeLimit, subTreeDoCount);
- id2subtreeTree.put(parentID.toByteString(), idSet);
+ id2subtreeTree.put(parentIDBytes, idSet);
}
else
{
- idSet = id2subtreeTree.get(parentID.toByteString());
+ idSet = id2subtreeTree.get(parentIDBytes);
}
idSet.addEntryID(childID);
// TODO:
@@ -2330,14 +2334,16 @@
// Just ignore.
break;
}
- if (!id2subtreeTree.containsKey(nodeID.toByteString()))
+
+ final ByteString nodeIDBytes = nodeID.toByteString();
+ if (!id2subtreeTree.containsKey(nodeIDBytes))
{
idSet = new ImportIDSet(1, subTreeLimit, subTreeDoCount);
- id2subtreeTree.put(nodeID.toByteString(), idSet);
+ id2subtreeTree.put(nodeIDBytes, idSet);
}
else
{
- idSet = id2subtreeTree.get(nodeID.toByteString());
+ idSet = id2subtreeTree.get(nodeIDBytes);
}
idSet.addEntryID(childID);
}
@@ -2524,7 +2530,7 @@
{
resetStreams();
- long id = 0;
+ long bufferID = 0;
long bufferLen = 0;
for (IndexOutputBuffer b : buffers)
{
@@ -2535,7 +2541,7 @@
else
{
b.setPosition(0);
- b.setID(id++);
+ b.setBufferID(bufferID++);
indexSortedSet.add(b);
}
}
@@ -2621,43 +2627,53 @@
insertByteStream.reset();
insertByteStream.write(-1);
}
- bufferStream.writeInt(insertKeyCount);
+
int insertSize = 4;
+ bufferStream.writeInt(insertKeyCount);
if (insertByteStream.size() > 0)
{
insertByteStream.writeTo(bufferStream);
}
- bufferStream.write(deleteKeyCount);
+
int deleteSize = 4;
+ bufferStream.write(deleteKeyCount);
if (deleteByteStream.size() > 0)
{
deleteByteStream.writeTo(bufferStream);
}
- return insertSize + deleteSize;
+ return insertSize + insertByteStream.size() + deleteSize + deleteByteStream.size();
}
private int writeHeader(int indexID, int keySize) throws IOException
{
bufferStream.writeInt(indexID);
bufferStream.writeInt(keySize);
- return 4;
+ return 2 * INT_SIZE;
}
private int writeRecord(IndexOutputBuffer b) throws IOException
{
int keySize = b.getKeySize();
- int packedSize = writeHeader(b.getIndexID(), keySize);
+ int headerSize = writeHeader(b.getIndexID(), keySize);
b.writeKey(bufferStream);
- packedSize += writeByteStreams();
- return packedSize + keySize + insertByteStream.size() + deleteByteStream.size() + 4;
+ int bodySize = writeByteStreams();
+ return headerSize + bodySize + keySize;
}
private int writeRecord(byte[] k, int indexID) throws IOException
{
- int packedSize = writeHeader(indexID, k.length);
+ int keySize = k.length;
+ int headerSize = writeHeader(indexID, keySize);
bufferStream.write(k);
- packedSize += writeByteStreams();
- return packedSize + k.length + insertByteStream.size() + deleteByteStream.size() + 4;
+ int bodySize = writeByteStreams();
+ return headerSize + bodySize + keySize;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString()
+ {
+ return getClass().getSimpleName() + "(" + indexMgr.getBufferFileName() + ": " + indexMgr.getBufferFile() + ")";
}
}
@@ -2845,6 +2861,13 @@
{
return numberOfBuffers;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString()
+ {
+ return getClass().getSimpleName() + "(" + bufferFileName + ": " + bufferFile + ")";
+ }
}
/**
--
Gitblit v1.10.0