From cffa7bb335bd273beae6ee0fb4fa5f956e5264fe Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 14 Mar 2014 14:11:35 +0000
Subject: [PATCH] OPENDJ-1308 (CR-3156) Migrate schema support - ByteString - Indexer
---
opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java | 47 +++++++++--------------
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java | 13 +++---
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java | 4 --
3 files changed, 26 insertions(+), 38 deletions(-)
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java
index c9d8a2a..312e056 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java
+++ b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java
@@ -86,7 +86,8 @@
*/
public EntryIDSet(byte[] keyBytes, byte[] bytes)
{
- this(keyBytes != null ? ByteString.wrap(keyBytes) : null, bytes);
+ this(keyBytes != null ? ByteString.wrap(keyBytes) : null,
+ bytes != null ? ByteString.wrap(bytes) : null);
}
/**
@@ -97,7 +98,7 @@
* @param bytes
* The database value, or null if there are no entry IDs.
*/
- public EntryIDSet(ByteString keyBytes, byte[] bytes)
+ public EntryIDSet(ByteString keyBytes, ByteString bytes)
{
this.keyBytes = keyBytes;
@@ -107,23 +108,23 @@
return;
}
- if (bytes.length == 0)
+ if (bytes.length() == 0)
{
// Entry limit has exceeded and there is no encoded undefined set size.
values = null;
undefinedSize = Long.MAX_VALUE;
}
- else if ((bytes[0] & 0x80) == 0x80)
+ else if ((bytes.byteAt(0) & 0x80) == 0x80)
{
// Entry limit has exceeded and there is an encoded undefined set size.
values = null;
- undefinedSize = JebFormat.entryIDUndefinedSizeFromDatabase(bytes);
+ undefinedSize = bytes.toLong();
}
else
{
// Seems like entry limit has not been exceeded and the bytes is a
// list of entry IDs.
- values = JebFormat.entryIDListFromDatabase(bytes);
+ values = JebFormat.entryIDListFromDatabase(bytes.toByteArray());
}
}
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
index e1ae00d..497350e 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -670,10 +670,8 @@
}
EntryIDSet entryIDList;
-
try
{
- JebFormat.entryIDListFromDatabase(data.getData());
entryIDList = new EntryIDSet(key.getData(), data.getData());
}
catch (Exception e)
@@ -805,7 +803,6 @@
EntryIDSet entryIDList;
try
{
- JebFormat.entryIDListFromDatabase(data.getData());
entryIDList = new EntryIDSet(key.getData(), data.getData());
}
catch (Exception e)
@@ -1095,7 +1092,6 @@
EntryIDSet entryIDList;
try
{
- JebFormat.entryIDListFromDatabase(data.getData());
entryIDList = new EntryIDSet(key.getData(), data.getData());
}
catch (Exception e)
diff --git a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java
index 0c64162..c41b16b 100644
--- a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java
+++ b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java
@@ -48,6 +48,7 @@
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
+@SuppressWarnings("javadoc")
public class TestVerifyJob extends JebTestCase
{
//Root suffix for verify backend
@@ -228,10 +229,8 @@
id=new EntryID(3);
assertTrue(dn2id.insert(txn, testDN, id));
//Add badDN key with bad entry id
- DatabaseEntry key=
- new DatabaseEntry(StaticUtils.getBytes(badDN));
- DatabaseEntry data =
- new EntryID(37).getDatabaseEntry();
+ DatabaseEntry key = new DatabaseEntry(StaticUtils.getBytes(badDN));
+ DatabaseEntry data = new EntryID(37).getDatabaseEntry();
assertEquals(dn2id.put(txn, key, data), OperationStatus.SUCCESS);
//Add DN key with malformed entryID
key=new DatabaseEntry(StaticUtils.getBytes(junkDN2));
@@ -281,7 +280,7 @@
idBytes[15] = (byte)1;
//bad jeb format
idBytes[23] = (byte) 0x04;
- idSet = newEntryIDSet(idBytes);
+ idSet = new EntryIDSet(null, idBytes);
id2child.writeKey(txn, key, idSet);
performBECleanVerify("id2children", 6);
}
@@ -291,11 +290,6 @@
}
}
- private EntryIDSet newEntryIDSet(byte[] idBytes)
- {
- return new EntryIDSet((ByteString) null, idBytes);
- }
-
/**
* Runs clean verify against the id2subtree index after adding
* various errors in that index file.
@@ -319,17 +313,17 @@
idBytes[3] = (byte)0xff;
//non-subordinate
idBytes[15] = (byte)1;
- idSet = newEntryIDSet(idBytes);
+ idSet = new EntryIDSet(null, idBytes);
id2subtree.writeKey(txn, key, idSet);
//Try to break JebFormat version of key entry
key=addID2EntryReturnKey(junkDN, 4, true);
idBytes[3]=(byte) 0x04;
idBytes[15]=(byte)0x00;
- EntryIDSet idSet1 = newEntryIDSet(idBytes);
+ EntryIDSet idSet1 = new EntryIDSet(null, idBytes);
id2subtree.writeKey(txn, key, idSet1);
//put invalid key -- no EntryID matches
key= new EntryID(45).getDatabaseEntry();
- idSet = newEntryIDSet(idBytes);
+ idSet = new EntryIDSet(null, idBytes);
id2subtree.writeKey(txn, key, idSet);
performBECleanVerify("id2subtree", 7);
}
@@ -370,7 +364,7 @@
dataBytes[31] = (byte) 0x04;
DatabaseEntry data= new DatabaseEntry(dataBytes);
OperationStatus status = index.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
//really 5 errors, but duplicate reference doesn't increment error
//count for some reason
performBECleanVerify(phoneType, 4);
@@ -524,7 +518,7 @@
DatabaseEntry key=addID2EntryReturnKey(noParentDN, 10, false);
byte[] idBytes=new byte[16];
idBytes[7]=(byte) 0x0A;
- EntryIDSet idSet = newEntryIDSet(idBytes);
+ EntryIDSet idSet = new EntryIDSet(null, idBytes);
id2child.writeKey(txn, key, idSet);
//Add child entry - don't worry about key
addID2EntryReturnKey(cDN, 11, false);
@@ -533,7 +527,7 @@
//add parent key/IDSet with bad IDset id
byte[] idBytesp=new byte[16];
idBytesp[7]=(byte) 0xFF;
- EntryIDSet idSetp = newEntryIDSet(idBytesp);
+ EntryIDSet idSetp = new EntryIDSet(null, idBytesp);
id2child.writeKey(txn, keyp, idSetp);
performBECompleteVerify("id2children", 3);
}
@@ -656,29 +650,26 @@
dataBytes[15] = (byte)0xfe;
DatabaseEntry data= new DatabaseEntry(dataBytes);
OperationStatus status = eqIndex.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
status = ordIndex.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
//Add null idlist to both equality and ordering indexes.
- key =
- new DatabaseEntry(StaticUtils.getBytes("user.1@example.com"));
+ key = new DatabaseEntry(StaticUtils.getBytes("user.1@example.com"));
data= new DatabaseEntry(new EntryIDSet().toDatabase());
status = eqIndex.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
status = ordIndex.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
//Add invalid idlist ids to presence index.
- key =
- new DatabaseEntry(StaticUtils.getBytes("+"));
+ key = new DatabaseEntry(StaticUtils.getBytes("+"));
data = new DatabaseEntry(dataBytes);
status = presIndex.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
//Add invalid idlist ids to substring index.
- key =
- new DatabaseEntry(StaticUtils.getBytes("@examp"));
+ key = new DatabaseEntry(StaticUtils.getBytes("@examp"));
data = new DatabaseEntry(dataBytes);
status = subIndex.put(txn, key, data);
- assertTrue(status == OperationStatus.SUCCESS);
+ assertEquals(status, OperationStatus.SUCCESS);
performBECompleteVerify(mailType, 6);
}
finally
--
Gitblit v1.10.0