From c342dd4d3bc26a71b660d5a6968603009c8704a6 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 05 Mar 2014 16:57:38 +0000
Subject: [PATCH] Code cleanup.
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java | 217 ++++++++-------------
opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java | 341 ++++++++++-----------------------
2 files changed, 183 insertions(+), 375 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java
index 51aecc2..a68545c 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java
@@ -419,46 +419,32 @@
Entry entry)
throws DatabaseException, DirectoryException
{
- boolean success = true;
+ boolean success = false;
- if (equalityIndex != null)
+ if (equalityIndex != null
+ && !equalityIndex.addEntry(buffer, entryID, entry))
{
- if(!equalityIndex.addEntry(buffer, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (presenceIndex != null)
+ if (presenceIndex != null
+ && !presenceIndex.addEntry(buffer, entryID, entry))
{
- if(!presenceIndex.addEntry(buffer, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (substringIndex != null)
+ if (substringIndex != null
+ && !substringIndex.addEntry(buffer, entryID, entry))
{
- if(!substringIndex.addEntry(buffer, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (orderingIndex != null)
+ if (orderingIndex != null
+ && !orderingIndex.addEntry(buffer, entryID, entry))
{
- if(!orderingIndex.addEntry(buffer, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (approximateIndex != null)
+ if (approximateIndex != null
+ && !approximateIndex.addEntry(buffer, entryID, entry))
{
- if(!approximateIndex.addEntry(buffer, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
if(extensibleIndexes!=null)
@@ -492,44 +478,26 @@
{
boolean success = true;
- if (equalityIndex != null)
+ if (equalityIndex != null && !equalityIndex.addEntry(txn, entryID, entry))
{
- if(!equalityIndex.addEntry(txn, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (presenceIndex != null)
+ if (presenceIndex != null && !presenceIndex.addEntry(txn, entryID, entry))
{
- if(!presenceIndex.addEntry(txn, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (substringIndex != null)
+ if (substringIndex != null && !substringIndex.addEntry(txn, entryID, entry))
{
- if(!substringIndex.addEntry(txn, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (orderingIndex != null)
+ if (orderingIndex != null && !orderingIndex.addEntry(txn, entryID, entry))
{
- if(!orderingIndex.addEntry(txn, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
-
- if (approximateIndex != null)
+ if (approximateIndex != null
+ && !approximateIndex.addEntry(txn, entryID, entry))
{
- if(!approximateIndex.addEntry(txn, entryID, entry))
- {
- success = false;
- }
+ success = false;
}
if(extensibleIndexes!=null)
@@ -1259,7 +1227,7 @@
if (filter.getSubInitialElement() != null)
{
// Use the equality index for initial substrings if possible.
- if ((equalityIndex != null) && (matchRule != null))
+ if (equalityIndex != null && matchRule != null)
{
ByteString normValue =
matchRule.normalizeSubstring(filter.getSubInitialElement());
@@ -1460,7 +1428,7 @@
* The default lexicographic byte array comparator.
* Is there one available in the Java platform?
*/
- static public class KeyComparator implements Comparator<byte[]>
+ public static class KeyComparator implements Comparator<byte[]>
{
/**
* Compares its two arguments for order. Returns a negative integer,
@@ -1721,9 +1689,7 @@
return getName();
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public synchronized boolean isConfigurationChangeAcceptable(
LocalDBIndexCfg cfg,
@@ -1731,46 +1697,39 @@
{
AttributeType attrType = cfg.getAttribute();
- if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.EQUALITY))
+ if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.EQUALITY)
+ && equalityIndex == null
+ && attrType.getEqualityMatchingRule() == null)
{
- if (equalityIndex == null && attrType.getEqualityMatchingRule() == null)
- {
- unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "equality"));
- return false;
- }
+ unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "equality"));
+ return false;
}
- if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.SUBSTRING))
+ if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.SUBSTRING)
+ && substringIndex == null
+ && attrType.getSubstringMatchingRule() == null)
{
- if (substringIndex == null && attrType.getSubstringMatchingRule() == null)
- {
- unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "substring"));
- return false;
- }
-
+ unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "substring"));
+ return false;
}
- if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.ORDERING))
+ if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.ORDERING)
+ && orderingIndex == null
+ && attrType.getOrderingMatchingRule() == null)
{
- if (orderingIndex == null && attrType.getOrderingMatchingRule() == null)
- {
- unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "ordering"));
- return false;
- }
+ unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "ordering"));
+ return false;
}
- if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.APPROXIMATE))
+ if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.APPROXIMATE)
+ && approximateIndex == null
+ && attrType.getApproximateMatchingRule() == null)
{
- if (approximateIndex == null &&
- attrType.getApproximateMatchingRule() == null)
- {
- unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "approximate"));
- return false;
- }
+ unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "approximate"));
+ return false;
}
if (cfg.getIndexType().contains(LocalDBIndexCfgDefn.IndexType.EXTENSIBLE))
{
- Set<String> newRules =
- cfg.getIndexExtensibleMatchingRule();
+ Set<String> newRules = cfg.getIndexExtensibleMatchingRule();
if (newRules == null || newRules.isEmpty())
{
unacceptableReasons.add(ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE.get(attrType, "extensible"));
@@ -1781,14 +1740,11 @@
return true;
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public synchronized ConfigChangeResult applyConfigurationChange(
LocalDBIndexCfg cfg)
{
- ConfigChangeResult ccr;
boolean adminActionRequired = false;
ArrayList<LocalizableMessage> messages = new ArrayList<LocalizableMessage>();
try
@@ -1850,9 +1806,8 @@
{
messages.add(LocalizableMessage.raw(
StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
+ return new ConfigChangeResult(
DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
}
finally
{
@@ -1911,9 +1866,8 @@
{
messages.add(LocalizableMessage.raw(
StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
+ return new ConfigChangeResult(
DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
}
finally
{
@@ -1980,9 +1934,8 @@
{
messages.add(LocalizableMessage.raw(
StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
+ return new ConfigChangeResult(
DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
}
finally
{
@@ -2041,9 +1994,8 @@
{
messages.add(LocalizableMessage.raw(
StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
+ return new ConfigChangeResult(
DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
}
finally
{
@@ -2103,9 +2055,8 @@
{
messages.add(
LocalizableMessage.raw(StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
+ return new ConfigChangeResult(
DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
}
finally
{
@@ -2259,9 +2210,8 @@
{
messages.add(
LocalizableMessage.raw(StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
- DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
+ return new ConfigChangeResult(
+ DirectoryServer.getServerErrorResultCode(), false, messages);
}
finally
{
@@ -2287,9 +2237,8 @@
{
messages.add(
LocalizableMessage.raw(StaticUtils.stackTraceToSingleLineString(de)));
- ccr = new ConfigChangeResult(
- DirectoryServer.getServerErrorResultCode(), false, messages);
- return ccr;
+ return new ConfigChangeResult(
+ DirectoryServer.getServerErrorResultCode(), false, messages);
}
finally
{
@@ -2306,10 +2255,8 @@
catch(Exception e)
{
messages.add(LocalizableMessage.raw(StaticUtils.stackTraceToSingleLineString(e)));
- ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(),
- adminActionRequired,
- messages);
- return ccr;
+ return new ConfigChangeResult(
+ DirectoryServer.getServerErrorResultCode(), adminActionRequired, messages);
}
}
@@ -2444,18 +2391,15 @@
}
/**
- * Get the JE database name prefix for indexes in this attribute
- * index.
+ * Get the JE database name prefix for indexes in this attribute index.
*
* @return JE database name for this database container.
*/
public String getName()
{
- StringBuilder builder = new StringBuilder();
- builder.append(entryContainer.getDatabasePrefix());
- builder.append("_");
- builder.append(indexConfig.getAttribute().getNameOrOID());
- return builder.toString();
+ return entryContainer.getDatabasePrefix()
+ + "_"
+ + indexConfig.getAttribute().getNameOrOID();
}
/**
@@ -2680,13 +2624,12 @@
new JEIndexConfig(indexConfig.getSubstringLength());
for(ExtensibleIndexer indexer : rule.getIndexers(config))
{
- String indexerID = indexer.getExtensibleIndexID();
- String indexName = indexer.getPreferredIndexName();
- String indexID = " "
- + extensibleFilter.getAttributeType().getNameOrOID()
- + "." + indexName
- + "." +indexerID;
- debugBuffer.append(indexID);
+ debugBuffer.append(" ")
+ .append(extensibleFilter.getAttributeType().getNameOrOID())
+ .append(".")
+ .append(indexer.getPreferredIndexName())
+ .append(".")
+ .append(indexer.getExtensibleIndexID());
}
debugBuffer.append("]");
}
@@ -2727,7 +2670,7 @@
* This class manages all the configured extensible matching rules and
* their corresponding indexes.
*/
- private class ExtensibleMatchingRuleIndex
+ private static class ExtensibleMatchingRuleIndex
{
/**
* The mapping of index ID and Index database.
@@ -2960,7 +2903,7 @@
*/
private class JEIndexConfig extends IndexConfig
{
- //The length of the substring index.
+ /** The length of the substring index. */
private int substringLength;
@@ -2978,10 +2921,10 @@
* Returns the length of the substring.
* @return the length of the substring.
*/
- @Override
- public int getSubstringLength()
- {
- return substringLength;
- }
+ @Override
+ public int getSubstringLength()
+ {
+ return substringLength;
+ }
}
}
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
index 74fa3e3..6677630 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -62,7 +62,7 @@
/**
* The root container used for the verify job.
*/
- RootContainer rootContainer;
+ private RootContainer rootContainer;
/**
* The number of milliseconds between job progress reports.
@@ -82,28 +82,28 @@
/**
* The number of records that have exceeded the entry limit.
*/
- long entryLimitExceededCount = 0;
+ private long entryLimitExceededCount = 0;
/**
* The number of records that reference more than one entry.
*/
- long multiReferenceCount = 0;
+ private long multiReferenceCount = 0;
/**
* The total number of entry references.
*/
- long entryReferencesCount = 0;
+ private long entryReferencesCount = 0;
/**
* The maximum number of references per record.
*/
- long maxEntryPerValue = 0;
+ private long maxEntryPerValue = 0;
/**
* This map is used to gather some statistics about values that have
* exceeded the entry limit.
*/
- IdentityHashMap<Index,HashMap<ByteString,Long>> entryLimitMap =
+ private IdentityHashMap<Index, HashMap<ByteString, Long>> entryLimitMap =
new IdentityHashMap<Index, HashMap<ByteString, Long>>();
/**
@@ -124,37 +124,38 @@
/**
* The entry database.
*/
- ID2Entry id2entry = null;
+ private ID2Entry id2entry;
/**
* The DN database.
*/
- DN2ID dn2id = null;
+ private DN2ID dn2id;
/**
* The children database.
*/
- Index id2c = null;
+ private Index id2c;
/**
* The subtree database.
*/
- Index id2s = null;
+ private Index id2s;
/**
* A list of the attribute indexes to be verified.
*/
- ArrayList<AttributeIndex> attrIndexList = new ArrayList<AttributeIndex>();
+ private ArrayList<AttributeIndex> attrIndexList =
+ new ArrayList<AttributeIndex>();
/**
* A list of the VLV indexes to be verified.
*/
- ArrayList<VLVIndex> vlvIndexList = new ArrayList<VLVIndex>();
+ private ArrayList<VLVIndex> vlvIndexList = new ArrayList<VLVIndex>();
-/**
- * The types of indexes that are verifiable.
- */
- enum IndexType
+ /**
+ * The types of indexes that are verifiable.
+ */
+ private enum IndexType
{
PRES, EQ, SUBSTRING, ORDERING, APPROXIMATE
}
@@ -1475,21 +1476,9 @@
*/
private String keyDump(Index index, byte[] keyBytes)
{
-/*
- String str;
- try
- {
- str = new String(keyBytes, "UTF-8");
- }
- catch (UnsupportedEncodingException e)
- {
- str = StaticUtils.bytesToHex(keyBytes);
- }
- return str;
-*/
StringBuilder buffer = new StringBuilder(128);
buffer.append("File: ");
- buffer.append(index.toString());
+ buffer.append(index);
buffer.append(ServerConstants.EOL);
buffer.append("Key:");
buffer.append(ServerConstants.EOL);
@@ -1506,21 +1495,9 @@
*/
private String keyDump(VLVIndex vlvIndex, SortValues keySortValues)
{
-/*
- String str;
- try
- {
- str = new String(keyBytes, "UTF-8");
- }
- catch (UnsupportedEncodingException e)
- {
- str = StaticUtils.bytesToHex(keyBytes);
- }
- return str;
-*/
StringBuilder buffer = new StringBuilder(128);
buffer.append("File: ");
- buffer.append(vlvIndex.toString());
+ buffer.append(vlvIndex);
buffer.append(ServerConstants.EOL);
buffer.append("Key (last sort values):");
if(keySortValues == null)
@@ -1529,7 +1506,7 @@
}
else
{
- buffer.append(keySortValues.toString());
+ buffer.append(keySortValues);
}
return buffer.toString();
}
@@ -1630,6 +1607,11 @@
List<Attribute> attrList)
throws DirectoryException
{
+ if (attrList == null || attrList.isEmpty())
+ {
+ return;
+ }
+
Transaction txn = null;
Index equalityIndex = attrIndex.getEqualityIndex();
Index presenceIndex = attrIndex.getPresenceIndex();
@@ -1637,219 +1619,102 @@
Index orderingIndex = attrIndex.getOrderingIndex();
Index approximateIndex = attrIndex.getApproximateIndex();
// TODO: Add support for Extended Matching Rules indexes.
- DatabaseEntry presenceKey = AttributeIndex.presenceKey;
// Presence index.
- if ((attrList != null) && !attrList.isEmpty() && presenceIndex != null)
+ if (presenceIndex != null)
{
- try
+ DatabaseEntry presenceKey = AttributeIndex.presenceKey;
+ verifyAttributeInIndex(presenceIndex, txn, presenceKey, entryID);
+ }
+
+ for (Attribute attr : attrList)
+ {
+ for (AttributeValue value : attr)
{
- ConditionResult cr;
- cr = presenceIndex.containsID(txn, presenceKey, entryID);
- if (cr == ConditionResult.FALSE)
+ byte[] normalizedBytes = value.getNormalizedValue().toByteArray();
+
+ // Equality index.
+ if (equalityIndex != null)
{
- if (logger.isTraceEnabled())
- {
- logger.trace("Missing ID %d%n%s",
- entryID.longValue(),
- keyDump(presenceIndex, presenceKey.getData()));
- }
- errorCount++;
+ DatabaseEntry key = new DatabaseEntry(normalizedBytes);
+ verifyAttributeInIndex(equalityIndex, txn, key, entryID);
}
- else if (cr == ConditionResult.UNDEFINED)
+
+ // Substring index.
+ if (substringIndex != null)
{
- incrEntryLimitStats(presenceIndex, presenceKey.getData());
+ Set<ByteString> keyBytesSet =
+ attrIndex.substringKeys(normalizedBytes);
+ DatabaseEntry key = new DatabaseEntry();
+ for (ByteString keyBytes : keyBytesSet)
+ {
+ key.setData(keyBytes.toByteArray());
+ verifyAttributeInIndex(substringIndex, txn, key, entryID);
+ }
+ }
+
+ // Ordering index.
+ if (orderingIndex != null)
+ {
+ // Use the ordering matching rule to normalize the value.
+ OrderingMatchingRule orderingRule =
+ attr.getAttributeType().getOrderingMatchingRule();
+
+ normalizedBytes = normalizeAttributeValue(orderingRule, value);
+
+ DatabaseEntry key = new DatabaseEntry(normalizedBytes);
+ verifyAttributeInIndex(orderingIndex, txn, key, entryID);
+ }
+
+ // Approximate index.
+ if (approximateIndex != null)
+ {
+ // Use the approximate matching rule to normalize the value.
+ ApproximateMatchingRule approximateRule =
+ attr.getAttributeType().getApproximateMatchingRule();
+
+ normalizedBytes = normalizeAttributeValue(approximateRule, value);
+
+ DatabaseEntry key = new DatabaseEntry(normalizedBytes);
+ verifyAttributeInIndex(approximateIndex, txn, key, entryID);
}
}
- catch (DatabaseException e)
+ }
+ }
+
+ private void verifyAttributeInIndex(Index index, Transaction txn,
+ DatabaseEntry key, EntryID entryID)
+ {
+ try
+ {
+ ConditionResult cr = index.containsID(txn, key, entryID);
+ if (cr == ConditionResult.FALSE)
{
if (logger.isTraceEnabled())
{
- logger.traceException(e);
-
- logger.trace("Error reading database: %s%n%s",
- e.getMessage(),
- keyDump(presenceIndex, presenceKey.getData()));
+ logger.trace("Missing ID %d%n%s",
+ entryID.longValue(),
+ keyDump(index, key.getData()));
}
errorCount++;
}
- }
-
- if (attrList != null)
- {
- for (Attribute attr : attrList)
+ else if (cr == ConditionResult.UNDEFINED)
{
- for (AttributeValue value : attr)
- {
- byte[] normalizedBytes = value.getNormalizedValue().toByteArray();
-
- // Equality index.
- if (equalityIndex != null)
- {
- DatabaseEntry key = new DatabaseEntry(normalizedBytes);
- try
- {
- ConditionResult cr;
- cr = equalityIndex.containsID(txn, key, entryID);
- if (cr == ConditionResult.FALSE)
- {
- if (logger.isTraceEnabled())
- {
- logger.trace("Missing ID %d%n%s",
- entryID.longValue(),
- keyDump(equalityIndex, normalizedBytes));
- }
- errorCount++;
- }
- else if (cr == ConditionResult.UNDEFINED)
- {
- incrEntryLimitStats(equalityIndex, normalizedBytes);
- }
- }
- catch (DatabaseException e)
- {
- if (logger.isTraceEnabled())
- {
- logger.traceException(e);
-
- logger.trace("Error reading database: %s%n%s",
- e.getMessage(),
- keyDump(equalityIndex, normalizedBytes));
- }
- errorCount++;
- }
- }
-
- // Substring index.
- if (substringIndex != null)
- {
- Set<ByteString> keyBytesSet =
- attrIndex.substringKeys(normalizedBytes);
- DatabaseEntry key = new DatabaseEntry();
- for (ByteString keyBytes : keyBytesSet)
- {
- key.setData(keyBytes.toByteArray());
- try
- {
- ConditionResult cr;
- cr = substringIndex.containsID(txn, key, entryID);
- if (cr == ConditionResult.FALSE)
- {
- if (logger.isTraceEnabled())
- {
- logger.trace("Missing ID %d%n%s",
- entryID.longValue(),
- keyDump(substringIndex, key.getData()));
- }
- errorCount++;
- }
- else if (cr == ConditionResult.UNDEFINED)
- {
- incrEntryLimitStats(substringIndex, key.getData());
- }
- }
- catch (DatabaseException e)
- {
- if (logger.isTraceEnabled())
- {
- logger.traceException(e);
-
- logger.trace("Error reading database: %s%n%s",
- e.getMessage(),
- keyDump(substringIndex, key.getData()));
- }
- errorCount++;
- }
- }
- }
-
- // Ordering index.
- if (orderingIndex != null)
- {
- // Use the ordering matching rule to normalize the value.
- OrderingMatchingRule orderingRule =
- attr.getAttributeType().getOrderingMatchingRule();
-
- normalizedBytes = normalizeAttributeValue(orderingRule, value);
-
- DatabaseEntry key = new DatabaseEntry(normalizedBytes);
- try
- {
- ConditionResult cr;
- cr = orderingIndex.containsID(txn, key, entryID);
- if (cr == ConditionResult.FALSE)
- {
- if (logger.isTraceEnabled())
- {
- logger.trace("Missing ID %d%n%s",
- entryID.longValue(),
- keyDump(orderingIndex, normalizedBytes));
- }
- errorCount++;
- }
- else if (cr == ConditionResult.UNDEFINED)
- {
- incrEntryLimitStats(orderingIndex, normalizedBytes);
- }
- }
- catch (DatabaseException e)
- {
- if (logger.isTraceEnabled())
- {
- logger.traceException(e);
-
- logger.trace("Error reading database: %s%n%s",
- e.getMessage(),
- keyDump(orderingIndex, normalizedBytes));
- }
- errorCount++;
- }
- }
- // Approximate index.
- if (approximateIndex != null)
- {
- // Use the approximate matching rule to normalize the value.
- ApproximateMatchingRule approximateRule =
- attr.getAttributeType().getApproximateMatchingRule();
-
- normalizedBytes = normalizeAttributeValue(approximateRule, value);
-
- DatabaseEntry key = new DatabaseEntry(normalizedBytes);
- try
- {
- ConditionResult cr;
- cr = approximateIndex.containsID(txn, key, entryID);
- if (cr == ConditionResult.FALSE)
- {
- if (logger.isTraceEnabled())
- {
- logger.trace("Missing ID %d%n%s",
- entryID.longValue(),
- keyDump(orderingIndex, normalizedBytes));
- }
- errorCount++;
- }
- else if (cr == ConditionResult.UNDEFINED)
- {
- incrEntryLimitStats(orderingIndex, normalizedBytes);
- }
- }
- catch (DatabaseException e)
- {
- if (logger.isTraceEnabled())
- {
- logger.traceException(e);
-
- logger.trace("Error reading database: %s%n%s",
- e.getMessage(),
- keyDump(approximateIndex, normalizedBytes));
- }
- errorCount++;
- }
- }
- }
+ incrEntryLimitStats(index, key.getData());
}
}
+ catch (DatabaseException e)
+ {
+ if (logger.isTraceEnabled())
+ {
+ logger.traceException(e);
+
+ logger.trace("Error reading database: %s%n%s",
+ e.getMessage(),
+ keyDump(index, key.getData()));
+ }
+ errorCount++;
+ }
}
private byte[] normalizeAttributeValue(MatchingRule matchingRule,
--
Gitblit v1.10.0