Author: toad
Date: 2008-01-04 15:14:22 +0000 (Fri, 04 Jan 2008)
New Revision: 16880

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Refactor: rename various variables, get rid of "chk" in variable names.

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2008-01-04 
15:10:22 UTC (rev 16879)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2008-01-04 
15:14:22 UTC (rev 16880)
@@ -73,16 +73,16 @@
        private final TupleBinding storeBlockTupleBinding;
        private final File fixSecondaryFile;

-       private long chkBlocksInStore = 0;
-       private final Object chkBlocksInStoreLock = new Object();
-       private long maxChkBlocks;
+       private long blocksInStore = 0;
+       private final Object blocksInStoreLock = new Object();
+       private long maxBlocksInStore;
        private long hits = 0;
        private long misses = 0;
        private long writes = 0;
-       private final Database chkDB;
-       private final SecondaryDatabase chkDB_accessTime;
-       private final SecondaryDatabase chkDB_blockNum;
-       private final RandomAccessFile chkStore;
+       private final Database keysDB;
+       private final SecondaryDatabase accessTimeDB;
+       private final SecondaryDatabase blockNumDB;
+       private final RandomAccessFile storeRAF;
        private final SortedLongSet freeBlocks;
        private final String name;

@@ -248,7 +248,7 @@
                this.freeBlocks = new SortedLongSet();
                name = prefix;

-               this.maxChkBlocks=maxChkBlocks;
+               this.maxBlocksInStore=maxChkBlocks;
                this.reconstructFile = reconstructFile;

                environment = env;
@@ -262,7 +262,7 @@
                        wipeOldDatabases(environment, prefix);
                }

-               chkDB = environment.openDatabase(null,prefix+"CHK",dbConfig);
+               keysDB = environment.openDatabase(null,prefix+"CHK",dbConfig);
                System.err.println("Opened main database for "+prefix);

                this.fixSecondaryFile = fixSecondaryFile;
@@ -272,7 +272,7 @@
                        Logger.error(this, "This may take some time...");
                        System.err.println("Recreating secondary databases");
                        System.err.println("This may take some time...");
-                       
WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000+chkDB.count()*100)));
+                       
WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000+keysDB.count()*100)));
                        // Of course it's not a solution but a quick fix
                        // Integer.MAX_VALUE seems to trigger an overflow or 
whatever ...
                        // Either we find out what the maximum value is and we 
do a static method somewhere ensuring
@@ -298,7 +298,7 @@
                // Initialize secondary CHK database sorted on accesstime
                SecondaryDatabase atime = null;
                SecondaryConfig secDbConfig = new SecondaryConfig();
-               secDbConfig.setAllowCreate(chkDB.count() == 0);
+               secDbConfig.setAllowCreate(keysDB.count() == 0);
                secDbConfig.setSortedDuplicates(true);
                secDbConfig.setTransactional(true);
                secDbConfig.setAllowPopulate(false);
@@ -310,9 +310,9 @@
                        try {
                                System.err.println("Opening access times 
database for "+prefix);
                                atime = environment.openSecondaryDatabase
-                                                                       (null, 
prefix+"CHK_accessTime", chkDB, secDbConfig);
+                                                                       (null, 
prefix+"CHK_accessTime", keysDB, secDbConfig);
                                // The below is too slow to be useful, because 
SecondaryDatabase.count() isn't optimised.
-//                             long chkDBCount = chkDB.count();
+//                             long chkDBCount = keysDB.count();
 //                             System.err.println("Counting size of access 
times database...");
 //                             long atimeCount = atime.count();
 //                             if(atimeCount < chkDBCount) {
@@ -320,7 +320,7 @@
 //                                     throw new DatabaseException("Needs 
repopulation");
 //                             }
                        } catch (DatabaseException e) {
-                               
WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000L+chkDB.count()*100L)));
+                               
WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000L+keysDB.count()*100L)));
                                // Of course it's not a solution but a quick fix
                                // Integer.MAX_VALUE seems to trigger an 
overflow or whatever ...
                                // Either we find out what the maximum value is 
and we do a static method somewhere ensuring
@@ -337,7 +337,7 @@
                                secDbConfig.setAllowCreate(true);
                                secDbConfig.setAllowPopulate(true);
                                atime = environment.openSecondaryDatabase
-                                                                       (null, 
prefix+"CHK_accessTime", chkDB, secDbConfig);
+                                                                       (null, 
prefix+"CHK_accessTime", keysDB, secDbConfig);
                        }
                } catch (DatabaseException e1) {
                        // Log this now because close() will probably throw too
@@ -347,7 +347,7 @@
                        close(false);
                        throw e1;
                }
-               chkDB_accessTime = atime;
+               accessTimeDB = atime;
                System.err.println("Opened access times database for "+prefix);

                // Initialize other secondary database sorted on block number
@@ -355,7 +355,7 @@
 //                     environment.removeDatabase(null, "CHK_blockNum");
 //             } catch (DatabaseNotFoundException e) { };
                SecondaryConfig blockNoDbConfig = new SecondaryConfig();
-               blockNoDbConfig.setAllowCreate(chkDB.count() == 0);
+               blockNoDbConfig.setAllowCreate(keysDB.count() == 0);
                blockNoDbConfig.setSortedDuplicates(false);
                blockNoDbConfig.setAllowPopulate(false);
                blockNoDbConfig.setTransactional(true);
@@ -369,16 +369,16 @@
                        try {
                                System.err.println("Opening block db index");
                                blockNums = environment.openSecondaryDatabase
-                                       (null, blockDBName, chkDB, 
blockNoDbConfig);
+                                       (null, blockDBName, keysDB, 
blockNoDbConfig);
                                // The below is too slow to be useful, because 
SecondaryDatabase.count() isn't optimised.
 //                             long blockNumsCount = blockNums.count();
-//                             long chkDBCount = chkDB.count();
+//                             long chkDBCount = keysDB.count();
 //                             if(blockNumsCount < chkDBCount) {
 //                                     System.err.println("Block nums 
database: "+blockNumsCount+" but main database: "+chkDBCount);
 //                                     throw new DatabaseException("Needs 
repopulation");
 //                             }
                        } catch (DatabaseException e) {
-                               
WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000+chkDB.count()*100)));
+                               
WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000+keysDB.count()*100)));
                                // Of course it's not a solution but a quick fix
                                // Integer.MAX_VALUE seems to trigger an 
overflow or whatever ...
                                // Either we find out what the maximum value is 
and we do a static method somewhere ensuring
@@ -401,7 +401,7 @@
                                blockNoDbConfig.setAllowCreate(true);
                                blockNoDbConfig.setAllowPopulate(true);
                                blockNums = environment.openSecondaryDatabase
-                                       (null, blockDBName, chkDB, 
blockNoDbConfig);
+                                       (null, blockDBName, keysDB, 
blockNoDbConfig);
                        }
                } catch (DatabaseException e1) {
                        // Log this now because close() will probably throw too
@@ -413,19 +413,19 @@
                }
                System.err.println("Opened block number database for "+prefix);

-               chkDB_blockNum = blockNums;
+               blockNumDB = blockNums;

                // Initialize the store file
                try {
                        if(!storeFile.exists())
                                if(!storeFile.createNewFile())
                                        throw new DatabaseException("can't 
create a new file !");
-                       chkStore = new RandomAccessFile(storeFile,"rw");
+                       storeRAF = new RandomAccessFile(storeFile,"rw");

                        boolean dontCheckForHolesShrinking = false;

                        long chkBlocksInDatabase = 
highestBlockNumberInDatabase();
-                       chkBlocksInStore = chkBlocksInDatabase;
+                       blocksInStore = chkBlocksInDatabase;
                        long chkBlocksFromFile = countCHKBlocksFromFile();
                        lastRecentlyUsed = getMaxRecentlyUsed();

@@ -439,8 +439,8 @@
                                // FIXME we can do a cleverer recovery: Find 
all keys whose block number is > chkBlocksFromFile and delete them
                        }

-                       if(((chkBlocksInStore == 0) && (chkBlocksFromFile != 
0)) ||
-                                       (((chkBlocksInStore + 10) * 1.1) < 
chkBlocksFromFile)) {
+                       if(((blocksInStore == 0) && (chkBlocksFromFile != 0)) ||
+                                       (((blocksInStore + 10) * 1.1) < 
chkBlocksFromFile)) {
                                if(throwOnTooFewKeys) {
                                        try {
                                                close(false);
@@ -449,25 +449,25 @@
                                                System.err.println("Failed to 
close: "+t);
                                                t.printStackTrace();
                                        }
-                                       throw new DatabaseException("Keys in 
database: "+chkBlocksInStore+" but keys in file: "+chkBlocksFromFile);
+                                       throw new DatabaseException("Keys in 
database: "+blocksInStore+" but keys in file: "+chkBlocksFromFile);
                                } else if(!noCheck) {
                                        long len = 
checkForHoles(chkBlocksFromFile, true);
                                        dontCheckForHolesShrinking = true;
                                        if(len < chkBlocksFromFile) {
                                                System.err.println("Truncating 
to "+len+" from "+chkBlocksFromFile+" as no non-holes after that point");
-                                               chkStore.setLength(len * 
(dataBlockSize + headerBlockSize));
-                                               chkBlocksInStore = len;
+                                               storeRAF.setLength(len * 
(dataBlockSize + headerBlockSize));
+                                               blocksInStore = len;
                                        }
                                }
                        }

-                       chkBlocksInStore = Math.max(chkBlocksInStore, 
chkBlocksFromFile);
-                       if(logMINOR) Logger.minor(this, "Keys in store: 
"+chkBlocksInStore);
+                       blocksInStore = Math.max(blocksInStore, 
chkBlocksFromFile);
+                       if(logMINOR) Logger.minor(this, "Keys in store: 
"+blocksInStore);

                        if(!noCheck) {
                                maybeOfflineShrink(dontCheckForHolesShrinking);
                                chkBlocksFromFile = countCHKBlocksFromFile();
-                               chkBlocksInStore = Math.max(chkBlocksInStore, 
chkBlocksFromFile);
+                               blocksInStore = Math.max(blocksInStore, 
chkBlocksFromFile);
                        }

                        // Add shutdownhook
@@ -497,7 +497,7 @@
                        LongBinding.longToEntry(i, blockNumEntry);

                        OperationStatus success =
-                               chkDB_blockNum.get(null, blockNumEntry, found, 
LockMode.DEFAULT);
+                               blockNumDB.get(null, blockNumEntry, found, 
LockMode.DEFAULT);

                        if(success.equals(OperationStatus.NOTFOUND)) {
                                addFreeBlock(i, true, "hole found");
@@ -510,12 +510,12 @@
                System.err.println("Checked database of "+blocksInFile+" 
blocks, found "+holes+" holes, maximum non-hole block: "+maxPresent);
                long bound = maxPresent+1;
                if(!dontTruncate) {
-                       if(bound < chkBlocksInStore) {
+                       if(bound < blocksInStore) {
                                System.err.println("Truncating to "+bound+" as 
no non-holes after that point");
                                try {
-                                       chkStore.setLength(bound * 
(dataBlockSize + headerBlockSize));
-                                       chkBlocksInStore = bound;
-                                       for(long l=bound;l<chkBlocksInStore;l++)
+                                       storeRAF.setLength(bound * 
(dataBlockSize + headerBlockSize));
+                                       blocksInStore = bound;
+                                       for(long l=bound;l<blocksInStore;l++)
                                                freeBlocks.remove(l);
                                } catch (IOException e) {
                                        Logger.error(this, "Unable to 
truncate!: "+e, e);
@@ -537,7 +537,7 @@
        * @throws IOException
        */
        private void maybeOfflineShrink(boolean dontCheckForHoles) throws 
DatabaseException, IOException {
-               if(chkBlocksInStore <= maxChkBlocks) return;
+               if(blocksInStore <= maxBlocksInStore) return;
                maybeSlowShrink(dontCheckForHoles, true);
        }

@@ -555,10 +555,10 @@
        */
        private boolean maybeOnlineShrink(boolean forceBigOnlineShrinks) throws 
DatabaseException, IOException {
                synchronized(this) {
-                       if(chkBlocksInStore <= maxChkBlocks) return true;
+                       if(blocksInStore <= maxBlocksInStore) return true;
                }
-               if(chkBlocksInStore * 0.9 > maxChkBlocks || 
forceBigOnlineShrinks) {
-                       Logger.error(this, "Doing quick and dirty shrink of the 
store by "+(100 * (chkBlocksInStore - maxChkBlocks) / chkBlocksInStore)+"%");
+               if(blocksInStore * 0.9 > maxBlocksInStore || 
forceBigOnlineShrinks) {
+                       Logger.error(this, "Doing quick and dirty shrink of the 
store by "+(100 * (blocksInStore - maxBlocksInStore) / blocksInStore)+"%");
                        Logger.error(this, "Offline shrinks will preserve the 
most recently used data, this online shrink does not.");
                        Runnable r = new Runnable() {
                                public void run() {
@@ -589,22 +589,22 @@
                Cursor c = null;
                Transaction t = null;

-               long newSize = maxChkBlocks;
-               if(chkBlocksInStore < maxChkBlocks) return;
+               long newSize = maxBlocksInStore;
+               if(blocksInStore < maxBlocksInStore) return;

-               System.err.println("Shrinking from "+chkBlocksInStore+" to 
"+maxChkBlocks+" (from db "+chkDB.count()+" from file 
"+countCHKBlocksFromFile()+ ')');
+               System.err.println("Shrinking from "+blocksInStore+" to 
"+maxBlocksInStore+" (from db "+keysDB.count()+" from file 
"+countCHKBlocksFromFile()+ ')');

                if(!dontCheckForHoles)
-                       checkForHoles(maxChkBlocks, true);
+                       checkForHoles(maxBlocksInStore, true);

-               WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000 + chkBlocksInStore * 100))); // 10 per second
+               WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000 + blocksInStore * 100))); // 10 per second

                long realSize = countCHKBlocksFromFile();

                long highestBlock = 0;

                try {
-                       c = chkDB_accessTime.openCursor(null,null);
+                       c = accessTimeDB.openCursor(null,null);

                        DatabaseEntry keyDBE = new DatabaseEntry();
                        DatabaseEntry blockDBE = new DatabaseEntry();
@@ -722,7 +722,7 @@
                                        int unwantedBlock = ((Integer) 
alreadyDropped.get(i)).intValue();
                                        DatabaseEntry unwantedBlockEntry = new 
DatabaseEntry();
                                        LongBinding.longToEntry(unwantedBlock, 
unwantedBlockEntry);
-                                       chkDB_blockNum.delete(t, 
unwantedBlockEntry);
+                                       blockNumDB.delete(t, 
unwantedBlockEntry);
                                        if(i % 1024 == 0) {
                                                t.commit();
                                                t = 
environment.beginTransaction(null,null);
@@ -748,7 +748,7 @@
                                        DatabaseEntry unwantedBlockEntry = new 
DatabaseEntry();
                                        
LongBinding.longToEntry(unwantedBlock.longValue(), unwantedBlockEntry);
                                        // Delete the old block from the 
database.
-                                       chkDB_blockNum.delete(t, 
unwantedBlockEntry);
+                                       blockNumDB.delete(t, 
unwantedBlockEntry);
                                } else {
                                        System.err.println("Keys to move but no 
keys to move over! Moved "+i);
                                        t.commit();
@@ -761,8 +761,8 @@
                                
LongBinding.longToEntry(wantedBlock.longValue(), wantedBlockEntry);
                                long seekTo = wantedBlock.longValue() * 
(headerBlockSize + dataBlockSize);
                                try {
-                                       chkStore.seek(seekTo);
-                                       chkStore.readFully(buf);
+                                       storeRAF.seek(seekTo);
+                                       storeRAF.readFully(buf);
                                } catch (EOFException e) {
                                        System.err.println("Was reading 
"+wantedBlock+" to write to "+unwantedBlock);
                                        System.err.println(e);
@@ -770,18 +770,18 @@
                                        throw e;
                                }
                                seekTo = unwantedBlock.longValue() * 
(headerBlockSize + dataBlockSize);
-                               chkStore.seek(seekTo);
-                               chkStore.write(buf);
+                               storeRAF.seek(seekTo);
+                               storeRAF.write(buf);

                                // Update the database w.r.t. the old block.

                                DatabaseEntry routingKeyDBE = new 
DatabaseEntry();
                                DatabaseEntry blockDBE = new DatabaseEntry();
-                               chkDB_blockNum.get(t, wantedBlockEntry, 
routingKeyDBE, blockDBE, LockMode.RMW);
+                               blockNumDB.get(t, wantedBlockEntry, 
routingKeyDBE, blockDBE, LockMode.RMW);
                                StoreBlock block = (StoreBlock) 
storeBlockTupleBinding.entryToObject(blockDBE);
                                block.offset = unwantedBlock.longValue();
                                storeBlockTupleBinding.objectToEntry(block, 
blockDBE);
-                               chkDB.put(t, routingKeyDBE, blockDBE);
+                               keysDB.put(t, routingKeyDBE, blockDBE);

                                // Think about committing the transaction.

@@ -821,7 +821,7 @@
                        }
                        DatabaseEntry unwantedBlockEntry = new DatabaseEntry();
                        LongBinding.longToEntry(blockNo, unwantedBlockEntry);
-                       chkDB_blockNum.delete(t, unwantedBlockEntry);
+                       blockNumDB.delete(t, unwantedBlockEntry);
                        if(i % 1024 == 0) {
                                System.out.println("Trimmed surplus keys in 
database: 
"+(i-wantedMoveNums.length)+"/"+(totalUnwantedBlocks-wantedMoveNums.length));
                                t.commit();
@@ -837,12 +837,12 @@

                System.out.println("Finishing shrink"); // FIXME remove

-               chkStore.setLength(newSize * (dataBlockSize + headerBlockSize));
+               storeRAF.setLength(newSize * (dataBlockSize + headerBlockSize));

                synchronized(this) {
-                       chkBlocksInStore = newSize;
+                       blocksInStore = newSize;
                }
-               System.err.println("Shrunk store, now have "+chkBlocksInStore+" 
of "+maxChkBlocks);
+               System.err.println("Shrunk store, now have "+blocksInStore+" of 
"+maxBlocksInStore);
        }

        /**
@@ -856,8 +856,8 @@
                long maxBlocks;
                long curBlocks;
                synchronized(this) {
-                       maxBlocks = maxChkBlocks;
-                       curBlocks = chkBlocksInStore;
+                       maxBlocks = maxBlocksInStore;
+                       curBlocks = blocksInStore;
                        if(maxBlocks >= curBlocks) {
                                System.out.println("Not shrinking store: 
"+curBlocks+" < "+maxBlocks);
                                return;
@@ -885,7 +885,7 @@
                }
                Transaction t = null;
                try {
-                       String msg = "Shrinking store: "+curBlocks+" -> 
"+maxBlocks+" (from db "+chkDB.count()+", highest 
"+highestBlockNumberInDatabase()+", from file "+countCHKBlocksFromFile()+ ')';
+                       String msg = "Shrinking store: "+curBlocks+" -> 
"+maxBlocks+" (from db "+keysDB.count()+", highest 
"+highestBlockNumberInDatabase()+", from file "+countCHKBlocksFromFile()+ ')';
                        System.err.println(msg); Logger.normal(this, msg);
                        
WrapperManager.signalStarting((int)Math.min(Integer.MAX_VALUE, (5*60*1000 + 100 
* (Math.max(0, curBlocks-maxBlocks)))));
                        while(true) {
@@ -902,7 +902,7 @@
                                        LongBinding.longToEntry(i, 
blockNumEntry);

                                        OperationStatus result =
-                                               chkDB_blockNum.delete(t, 
blockNumEntry);
+                                               blockNumDB.delete(t, 
blockNumEntry);
                                        
if(result.equals(OperationStatus.SUCCESS))
                                                deleted++;

@@ -914,8 +914,8 @@
                                        freeBlocks.remove(i);

                                        synchronized(this) {
-                                               maxBlocks = maxChkBlocks;
-                                               curBlocks = chkBlocksInStore;
+                                               maxBlocks = maxBlocksInStore;
+                                               curBlocks = blocksInStore;
                                                if(maxBlocks >= curBlocks) 
break;
                                        }

@@ -931,16 +931,16 @@
                                if(offline) break;
                                System.err.println("Checking...");
                                synchronized(this) {
-                                       maxBlocks = maxChkBlocks;
-                                       curBlocks = chkBlocksInStore;
+                                       maxBlocks = maxBlocksInStore;
+                                       curBlocks = blocksInStore;
                                        if(maxBlocks >= curBlocks) break;
                                }
                        }

-                       chkStore.setLength(maxChkBlocks * (dataBlockSize + 
headerBlockSize));
+                       storeRAF.setLength(maxBlocksInStore * (dataBlockSize + 
headerBlockSize));

-                       chkBlocksInStore = maxChkBlocks;
-                       System.err.println("Successfully shrunk store to 
"+chkBlocksInStore);
+                       blocksInStore = maxBlocksInStore;
+                       System.err.println("Successfully shrunk store to 
"+blocksInStore);

                } finally {
                        if(t != null) t.abort();
@@ -965,7 +965,7 @@
                this.dataBlockSize = blockSize;
                this.headerBlockSize = headerSize;
                this.freeBlocks = new SortedLongSet();
-               this.maxChkBlocks=maxChkBlocks;
+               this.maxBlocksInStore=maxChkBlocks;
                this.environment = env;
                this.reconstructFile = reconstructFile;
                name = prefix;
@@ -979,10 +979,10 @@
                dbConfig.setAllowCreate(true);
                dbConfig.setTransactional(true);

-               chkDB = environment.openDatabase(null,prefix+"CHK",dbConfig);
+               keysDB = environment.openDatabase(null,prefix+"CHK",dbConfig);

-               if(chkDB.count() > 0)
-                       throw new IllegalStateException("Wiped old store but it 
still contains "+chkDB.count()+" keys!");
+               if(keysDB.count() > 0)
+                       throw new IllegalStateException("Wiped old store but it 
still contains "+keysDB.count()+" keys!");

                this.fixSecondaryFile = fixSecondaryFile;
                fixSecondaryFile.delete();
@@ -997,8 +997,8 @@
                AccessTimeKeyCreator accessTimeKeyCreator =
                        new AccessTimeKeyCreator(storeBlockTupleBinding);
                secDbConfig.setKeyCreator(accessTimeKeyCreator);
-               chkDB_accessTime = environment.openSecondaryDatabase
-                                                       (null, 
prefix+"CHK_accessTime", chkDB, secDbConfig);
+               accessTimeDB = environment.openSecondaryDatabase
+                                                       (null, 
prefix+"CHK_accessTime", keysDB, secDbConfig);

                // Initialize other secondary database sorted on block number
                SecondaryConfig blockNoDbConfig = new SecondaryConfig();
@@ -1011,22 +1011,22 @@
                        new BlockNumberKeyCreator(storeBlockTupleBinding);
                blockNoDbConfig.setKeyCreator(bnkc);
                System.err.println("Creating block db index");
-               chkDB_blockNum = environment.openSecondaryDatabase
-                       (null, prefix+"CHK_blockNum", chkDB, blockNoDbConfig);
+               blockNumDB = environment.openSecondaryDatabase
+                       (null, prefix+"CHK_blockNum", keysDB, blockNoDbConfig);

                // Initialize the store file
                if(!storeFile.exists())
                        if(!storeFile.createNewFile())
                                throw new DatabaseException("can't create a new 
file !");
-               chkStore = new RandomAccessFile(storeFile,"rw");
+               storeRAF = new RandomAccessFile(storeFile,"rw");

-               chkBlocksInStore = 0;
+               blocksInStore = 0;

                lastRecentlyUsed = 0;

                reconstruct(type);

-               chkBlocksInStore = countCHKBlocksFromFile();
+               blocksInStore = countCHKBlocksFromFile();
                lastRecentlyUsed = getMaxRecentlyUsed();

                if(!noCheck) {
@@ -1059,7 +1059,7 @@
        }

        private void reconstruct(short type) throws DatabaseException, 
IOException {
-               if(chkDB.count() != 0)
+               if(keysDB.count() != 0)
                        throw new IllegalStateException("Store must be empty 
before reconstruction!");
                if(type == TYPE_SSK) {
                        System.err.println("Reconstruction of SSK store not 
supported at present.");
@@ -1069,18 +1069,18 @@
                }
                System.err.println("Reconstructing store index from store file: 
type="+type);
                Logger.error(this, "Reconstructing store index from store file: 
type="+type);
-               WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000+(chkStore.length()/(dataBlockSize+headerBlockSize))*100)));
+               WrapperManager.signalStarting((int)(Math.min(Integer.MAX_VALUE, 
5*60*1000+(storeRAF.length()/(dataBlockSize+headerBlockSize))*100)));
                byte[] header = new byte[headerBlockSize];
                byte[] data = new byte[dataBlockSize];
                long l = 0;
                long dupes = 0;
                long failures = 0;
                try {
-                       chkStore.seek(0);
+                       storeRAF.seek(0);
                        for(l=0;true;l++) {
                                Transaction t = null;
-                               chkStore.readFully(header);
-                               chkStore.readFully(data);
+                               storeRAF.readFully(header);
+                               storeRAF.readFully(data);
                                try {
                                        byte[] routingkey = null;
                                        if(type == TYPE_CHK) {
@@ -1107,7 +1107,7 @@
                                        DatabaseEntry routingkeyDBE = new 
DatabaseEntry(routingkey);
                                        DatabaseEntry blockDBE = new 
DatabaseEntry();
                                        
storeBlockTupleBinding.objectToEntry(storeBlock, blockDBE);
-                                       OperationStatus op = 
chkDB.putNoOverwrite(t,routingkeyDBE,blockDBE);
+                                       OperationStatus op = 
keysDB.putNoOverwrite(t,routingkeyDBE,blockDBE);
                                        if(op == OperationStatus.KEYEXIST) {
                                                addFreeBlock(l, true, 
"duplicate");
                                                dupes++;
@@ -1117,7 +1117,7 @@
                                        }
                                        t.commit();
                                        if(l % 1024 == 0)
-                                               System.out.println("Key "+l+ 
'/' +(chkStore.length()/(dataBlockSize+headerBlockSize))+" OK ("+dupes+" dupes, 
"+failures+" failures)");
+                                               System.out.println("Key "+l+ 
'/' +(storeRAF.length()/(dataBlockSize+headerBlockSize))+" OK ("+dupes+" dupes, 
"+failures+" failures)");
                                        t = null;
                                } catch (CryptFormatException e) {
                                        addFreeBlock(l, true, "invalid key: 
"+e);
@@ -1133,9 +1133,9 @@
                } catch (EOFException e) {
                        long size = l * (dataBlockSize + headerBlockSize);
                        System.err.println("Found end of store, truncating to 
"+l+" blocks : "+size);
-                       chkBlocksInStore = l;
+                       blocksInStore = l;
                        try {
-                               chkStore.setLength(size);
+                               storeRAF.setLength(size);
                        } catch (IOException e1) {
                                System.err.println("Failed to set size");
                        }
@@ -1161,7 +1161,7 @@
                Transaction t = null;
                try {
                        t = environment.beginTransaction(null,null);
-                       c = chkDB.openCursor(t,null);
+                       c = keysDB.openCursor(t,null);

                        if(logMINOR) Logger.minor(this, "Fetching "+chk+" 
dontPromote="+dontPromote);
                        /**
@@ -1191,27 +1191,27 @@
                                byte[] header = new byte[headerBlockSize];
                                byte[] data = new byte[dataBlockSize];
                                try {
-                                       synchronized(chkStore) {
+                                       synchronized(storeRAF) {
                                                if(logMINOR) Logger.minor(this, 
"Reading data from store...");
                                                long seekTarget = 
storeBlock.offset*(long)(dataBlockSize+headerBlockSize);
                                                try {
-                                                       
chkStore.seek(seekTarget);
+                                                       
storeRAF.seek(seekTarget);
                                                } catch (IOException ioe) {
                                                        if(seekTarget > 
(2l*1024*1024*1024)) {
                                                                
Logger.error(this, "Environment does not support files bigger than 2 GB?");
                                                                
System.out.println("Environment does not support files bigger than 2 GB? 
(exception to follow)");
                                                        }
-                                                       Logger.error(this, 
"Caught IOException on chkStore.seek("+seekTarget+ ')');
+                                                       Logger.error(this, 
"Caught IOException on storeRAF.seek("+seekTarget+ ')');
                                                        throw ioe;
                                                }
-                                               chkStore.readFully(header);
-                                               chkStore.readFully(data);
+                                               storeRAF.readFully(header);
+                                               storeRAF.readFully(data);
                                        }
                                } catch (EOFException e) {
                                        Logger.error(this, "No block");
                                        c.close();
                                        c = null;
-                                       chkDB.delete(t, routingkeyDBE);
+                                       keysDB.delete(t, routingkeyDBE);
                                        t.commit();
                                        t = null;
                                        addFreeBlock(storeBlock.offset, true, 
"Data off end of store file");
@@ -1249,7 +1249,7 @@
                                System.err.println("Does not verify (CHK block 
"+storeBlock.offset+ ')');
                                c.close();
                                c = null;
-                               chkDB.delete(t, routingkeyDBE);
+                               keysDB.delete(t, routingkeyDBE);
                                t.commit();
                                t = null;
                                addFreeBlock(storeBlock.offset, true, "CHK does 
not verify");
@@ -1298,7 +1298,7 @@
                Transaction t = null;
                try {
                        t = environment.beginTransaction(null,null);
-                       c = chkDB.openCursor(t,null);
+                       c = keysDB.openCursor(t,null);

                        // Explanation of locking is in fetchPubKey.
                        // Basically, locking the whole element saves us all 
sorts of trouble, especially
@@ -1323,16 +1323,16 @@
                                byte[] header = new byte[headerBlockSize];
                                byte[] data = new byte[dataBlockSize];
                                try {
-                                       synchronized(chkStore) {
-                                               
chkStore.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
-                                               chkStore.readFully(header);
-                                               chkStore.readFully(data);
+                                       synchronized(storeRAF) {
+                                               
storeRAF.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
+                                               storeRAF.readFully(header);
+                                               storeRAF.readFully(data);
                                        }
                                } catch (EOFException e) {
                                        Logger.error(this, "No block");
                                        c.close();
                                        c = null;
-                                       chkDB.delete(t, routingkeyDBE);
+                                       keysDB.delete(t, routingkeyDBE);
                                        t.commit();
                                        t = null;
                                        addFreeBlock(storeBlock.offset, true, 
"Data off end of store file");
@@ -1365,7 +1365,7 @@

                        } catch(SSKVerifyException ex) {
                                Logger.normal(this, "SSKBlock: Does not verify 
("+ex+"), setting accessTime to 0 for : "+chk, ex);
-                               chkDB.delete(t, routingkeyDBE);
+                               keysDB.delete(t, routingkeyDBE);
                                c.close();
                                c = null;
                                t.commit();
@@ -1422,7 +1422,7 @@
                try {
                        if(logMINOR) Logger.minor(this, "Fetching pubkey: 
"+HexUtil.bytesToHex(hash));
                        t = environment.beginTransaction(null,null);
-                       c = chkDB.openCursor(t,null);
+                       c = keysDB.openCursor(t,null);

                        // Lock the records as soon as we find them.
                        // RMW - nobody else may access this key until we are 
finished.
@@ -1459,15 +1459,15 @@
                        if(logMINOR) Logger.minor(this, "Reading from store... 
"+storeBlock.offset+" ("+storeBlock.recentlyUsed+ ')');
                        // When will java have pread/pwrite? :(
                        try {
-                               synchronized(chkStore) {
-                                       
chkStore.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
-                                       chkStore.readFully(data);
+                               synchronized(storeRAF) {
+                                       
storeRAF.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
+                                       storeRAF.readFully(data);
                                }
                        } catch (EOFException e) {
                                Logger.error(this, "No block");
                                c.close();
                                c = null;
-                               chkDB.delete(t, routingkeyDBE);
+                               keysDB.delete(t, routingkeyDBE);
                                t.commit();
                                t = null;
                                addFreeBlock(storeBlock.offset, true, "Data off 
end of store file");
@@ -1531,10 +1531,10 @@
        private boolean finishKey(StoreBlock storeBlock, Cursor c, Transaction 
t, DatabaseEntry routingkeyDBE, byte[] hash, DSAPublicKey replacement) throws 
IOException, DatabaseException {
                if(replacement != null) {
                        Logger.normal(this, "Replacing corrupt DSAPublicKey 
("+HexUtil.bytesToHex(hash));
-                       synchronized(chkStore) {
-                               
chkStore.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
+                       synchronized(storeRAF) {
+                               
storeRAF.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
                                byte[] toWrite = replacement.asPaddedBytes();
-                               chkStore.write(toWrite);
+                               storeRAF.write(toWrite);
                        }
                        c.close();
                        t.commit();
@@ -1543,7 +1543,7 @@
                        Logger.error(this, "DSAPublicKey: Does not verify 
(unequal hashes), setting accessTime to 0 for : "+HexUtil.bytesToHex(hash));
                        c.close();
                        c = null;
-                       chkDB.delete(t, routingkeyDBE);
+                       keysDB.delete(t, routingkeyDBE);
                        t.commit();
                        t = null;
                        addFreeBlock(storeBlock.offset, true, "pubkey does not 
verify");
@@ -1608,7 +1608,7 @@
                Transaction t = null;
                try {
                        t = environment.beginTransaction(null,null);
-                       c = chkDB.openCursor(t,null);
+                       c = keysDB.openCursor(t,null);

                        // Lock the record.
                        if(c.getSearchKey(routingkeyDBE,blockDBE,LockMode.RMW)
@@ -1624,10 +1624,10 @@

                        byte[] header = b.getRawHeaders();
                        byte[] data = b.getRawData();
-                       synchronized(chkStore) {
-                               
chkStore.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
-                               chkStore.write(header);
-                               chkStore.write(data);
+                       synchronized(storeRAF) {
+                               
storeRAF.seek(storeBlock.offset*(long)(dataBlockSize+headerBlockSize));
+                               storeRAF.write(header);
+                               storeRAF.write(data);
                        }

                        // Unlock record.
@@ -1688,7 +1688,7 @@
                        // Check whether it already exists

                        if(logMINOR) Logger.minor(this, "Putting key "+block+" 
- checking whether it exists first");
-                       OperationStatus result = chkDB.get(t, routingkeyDBE, 
blockDBE, LockMode.RMW);
+                       OperationStatus result = keysDB.get(t, routingkeyDBE, 
blockDBE, LockMode.RMW);

                        if(result == OperationStatus.SUCCESS || result == 
OperationStatus.KEYEXIST) {
                                if(logMINOR) Logger.minor(this, "Key already 
exists");
@@ -1739,7 +1739,7 @@

        private void overwriteLRUBlock(byte[] header, byte[] data, Transaction 
t, DatabaseEntry routingkeyDBE) throws DatabaseException, IOException {
                // Overwrite an other block
-               Cursor c = chkDB_accessTime.openCursor(t,null);
+               Cursor c = accessTimeDB.openCursor(t,null);
                DatabaseEntry keyDBE = new DatabaseEntry();
                DatabaseEntry dataDBE = new DatabaseEntry();
                c.getFirst(keyDBE,dataDBE,LockMode.RMW);
@@ -1751,11 +1751,11 @@
                StoreBlock storeBlock = new StoreBlock(this, 
oldStoreBlock.getOffset());
                DatabaseEntry blockDBE = new DatabaseEntry();
                storeBlockTupleBinding.objectToEntry(storeBlock, blockDBE);
-               chkDB.put(t,routingkeyDBE,blockDBE);
-               synchronized(chkStore) {
-                       
chkStore.seek(storeBlock.getOffset()*(long)(dataBlockSize+headerBlockSize));
-                       chkStore.write(header);
-                       chkStore.write(data);
+               keysDB.put(t,routingkeyDBE,blockDBE);
+               synchronized(storeRAF) {
+                       
storeRAF.seek(storeBlock.getOffset()*(long)(dataBlockSize+headerBlockSize));
+                       storeRAF.write(header);
+                       storeRAF.write(data);
                        writes++;
                }
        }
@@ -1766,14 +1766,14 @@
                DatabaseEntry blockDBE = new DatabaseEntry();
                storeBlockTupleBinding.objectToEntry(storeBlock, blockDBE);
                try {
-                       chkDB.put(t,routingkeyDBE,blockDBE);
+                       keysDB.put(t,routingkeyDBE,blockDBE);
                } catch (DatabaseException e) {
                        DatabaseEntry blockNumEntry = new DatabaseEntry();
                        DatabaseEntry found = new DatabaseEntry();
                        LongBinding.longToEntry(blockNum, blockNumEntry);

                        OperationStatus success =
-                               chkDB_blockNum.get(t, blockNumEntry, found, 
LockMode.DEFAULT);
+                               blockNumDB.get(t, blockNumEntry, found, 
LockMode.DEFAULT);

                        if(success == OperationStatus.KEYEXIST || success == 
OperationStatus.SUCCESS) {
                                System.err.println("Trying to overwrite block 
"+blockNum+" but already used: "+getName()+" for "+e);
@@ -1785,19 +1785,19 @@
                                throw e;
                        }
                }
-               synchronized(chkStore) {
+               synchronized(storeRAF) {
                        try {
-                               chkStore.seek(byteOffset);
+                               storeRAF.seek(byteOffset);
                        } catch (IOException ioe) {
                                if(byteOffset > (2l*1024*1024*1024)) {
                                        Logger.error(this, "Environment does 
not support files bigger than 2 GB?");
                                        System.out.println("Environment does 
not support files bigger than 2 GB? (exception to follow)");
                                }
-                               Logger.error(this, "Caught IOException on 
chkStore.seek("+byteOffset+ ')');
+                               Logger.error(this, "Caught IOException on 
storeRAF.seek("+byteOffset+ ')');
                                throw ioe;
                        }
-                       chkStore.write(header);
-                       chkStore.write(data);
+                       storeRAF.write(header);
+                       storeRAF.write(data);
                        writes++;
                }
                return true;
@@ -1886,7 +1886,7 @@
                        // Check whether it already exists

                        if(logMINOR) Logger.minor(this, "Putting key: 
"+HexUtil.bytesToHex(hash)+" : "+key+" - checking whether it exists 
already...");
-                       OperationStatus result = chkDB.get(t, routingkeyDBE, 
blockDBE, LockMode.RMW);
+                       OperationStatus result = keysDB.get(t, routingkeyDBE, 
blockDBE, LockMode.RMW);

                        if(result == OperationStatus.SUCCESS || result == 
OperationStatus.KEYEXIST) {
                                // Key already exists!
@@ -1945,11 +1945,11 @@
                                                Logger.minor(this, "Overwriting 
free block: "+blockNum);
                                        if(writeNewBlock(blockNum, header, 
data, t, routingkeyDBE))
                                                return;
-                               } else if(chkBlocksInStore<maxChkBlocks) {
+                               } else if(blocksInStore<maxBlocksInStore) {
                                        // Expand the store file
-                                       synchronized(chkBlocksInStoreLock) {
-                                               blockNum = chkBlocksInStore;
-                                               chkBlocksInStore++;
+                                       synchronized(blocksInStoreLock) {
+                                               blockNum = blocksInStore;
+                                               blocksInStore++;
                                        }
                                        if(logMINOR)
                                                Logger.minor(this, "Expanding 
store and writing block "+blockNum);
@@ -1971,7 +1971,7 @@
        private long grabFreeBlock() {
                while(!freeBlocks.isEmpty()) {
                        long blockNum = freeBlocks.removeFirst();
-                       if(blockNum < maxChkBlocks) return blockNum;
+                       if(blockNum < maxBlocksInStore) return blockNum;
                }
                return -1;
        }
@@ -2101,8 +2101,8 @@
                                if(sleep)
                                        Thread.sleep(5000);
                                try {
-                                       if(chkStore != null)
-                                               chkStore.close();
+                                       if(storeRAF != null)
+                                               storeRAF.close();
                                } catch (Throwable t) {
                                        if(!(t instanceof RunRecoveryException 
|| t instanceof OutOfMemoryError)) {
                                                System.err.println("Caught 
closing database: "+t);
@@ -2110,8 +2110,8 @@
                                        }
                                }
                                try {
-                                       if(chkDB_accessTime != null)
-                                               chkDB_accessTime.close();
+                                       if(accessTimeDB != null)
+                                               accessTimeDB.close();
                                } catch (Throwable t) {
                                        if(!(t instanceof RunRecoveryException 
|| t instanceof OutOfMemoryError)) {
                                                System.err.println("Caught 
closing database: "+t);
@@ -2119,8 +2119,8 @@
                                        }
                                }
                                try {
-                                       if(chkDB_blockNum != null)
-                                               chkDB_blockNum.close();
+                                       if(blockNumDB != null)
+                                               blockNumDB.close();
                                } catch (Throwable t) {
                                        if(!(t instanceof RunRecoveryException 
|| t instanceof OutOfMemoryError)) {
                                                System.err.println("Caught 
closing database: "+t);
@@ -2128,8 +2128,8 @@
                                        }
                                }
                                try {   
-                                       if(chkDB != null)
-                                               chkDB.close();
+                                       if(keysDB != null)
+                                               keysDB.close();
                                } catch (Throwable t) {
                                        if(!(t instanceof RunRecoveryException 
|| t instanceof OutOfMemoryError)) {
                                                System.err.println("Caught 
closing database: "+t);
@@ -2153,7 +2153,7 @@
        private long highestBlockNumberInDatabase() throws DatabaseException {
                Cursor c = null;
                try {
-                       c = chkDB_blockNum.openCursor(null,null);
+                       c = blockNumDB.openCursor(null,null);
                        DatabaseEntry keyDBE = new DatabaseEntry();
                        DatabaseEntry dataDBE = new DatabaseEntry();
                        
if(c.getLast(keyDBE,dataDBE,null)==OperationStatus.SUCCESS) {
@@ -2176,7 +2176,7 @@

        private long countCHKBlocksFromFile() throws IOException {
                int keySize = headerBlockSize + dataBlockSize;
-               long fileSize = chkStore.length();
+               long fileSize = storeRAF.length();
                return fileSize / keySize;
        }

@@ -2185,7 +2185,7 @@

                Cursor c = null;
                try {
-                       c = chkDB_accessTime.openCursor(null,null);
+                       c = accessTimeDB.openCursor(null,null);
                        DatabaseEntry keyDBE = new DatabaseEntry();
                        DatabaseEntry dataDBE = new DatabaseEntry();
                        
if(c.getLast(keyDBE,dataDBE,null)==OperationStatus.SUCCESS) {
@@ -2218,13 +2218,13 @@

        public void setMaxKeys(long maxStoreKeys, boolean forceBigShrink) 
throws DatabaseException, IOException {
                synchronized(this) {
-                       maxChkBlocks = maxStoreKeys;
+                       maxBlocksInStore = maxStoreKeys;
                }
                maybeOnlineShrink(false);
        }

        public long getMaxKeys() {
-               return maxChkBlocks;
+               return maxBlocksInStore;
        }

        public long hits() {
@@ -2240,6 +2240,6 @@
        }

        public long keyCount() {
-               return chkBlocksInStore;
+               return blocksInStore;
        }
 }


Reply via email to