[Joafip-svn] SF.net SVN: joafip:[3059] trunk
Brought to you by:
luc_peuvrier
|
From: <luc...@us...> - 2012-05-01 21:55:22
|
Revision: 3059
http://joafip.svn.sourceforge.net/joafip/?rev=3059&view=rev
Author: luc_peuvrier
Date: 2012-05-01 21:55:15 +0000 (Tue, 01 May 2012)
Log Message:
-----------
refactoring
Modified Paths:
--------------
trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/record/entity/AbstractHeapRBTNode.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManager.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManagerFactory.java
Modified: trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/record/entity/AbstractHeapRBTNode.java
===================================================================
--- trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/record/entity/AbstractHeapRBTNode.java 2012-05-01 21:05:38 UTC (rev 3058)
+++ trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/record/entity/AbstractHeapRBTNode.java 2012-05-01 21:55:15 UTC (rev 3059)
@@ -116,21 +116,6 @@
this.numberOfChild = numberOfChild;
}
- // /**
- // * construct a Red Black Tree node mirrored in heap file
- // *
- // * @param heapElementManager
- // * the heap element manager
- // * @param heapRecord
- // * associated heap record
- // */
- // public AbstractHeapRBTNode(final IHeapElementManager heapElementManager,
- // final long positionInFile) {
- // super();
- // this.heapElementManager = heapElementManager;
- // this.positionInFile = positionInFile;
- // }
-
public HeapRecord getHeapRecord() throws HeapException {
return readHeapFileDataRecord(positionInFile);
}
Modified: trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManager.java
===================================================================
--- trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManager.java 2012-05-01 21:05:38 UTC (rev 3058)
+++ trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManager.java 2012-05-01 21:55:15 UTC (rev 3059)
@@ -516,8 +516,9 @@
public void clear() throws HeapException {
// ASSERTX
assert assertTransactionOpened();
- heapRecordToWriteMap.clear();
- readHeapRecordMap.clear();
+
+ clearHeaprecordMaps();
+
if (clearResizeFile) {
try {
setStartSaveFlagFile();
@@ -562,7 +563,7 @@
starterTrace = new Exception("starter trace");
serviceStarted = true;
if (!fileOpenedInTransaction) {
- openFile();
+ openFiles();
}
}
@@ -618,10 +619,11 @@
// ASSERTX
assert assertServiceStartedAndTransactionClosed();
if (fileOpenedInTransaction) {
- openFile();
+ openFiles();
}
- clearHeaprecordToWriteMap();
- readHeapRecordMap.clear();
+
+ clearHeaprecordMaps();
+
try {
final long fileSize = getFileSize();
header.clear();
@@ -632,7 +634,7 @@
flushOnFile();
if (fileOpenedInTransaction) {
closeFiles();
- openFile();
+ openFiles();
}
} else {
header.readFromFile();
@@ -666,7 +668,7 @@
return true;
}
- private void openFile() throws HeapException {
+ private void openFiles() throws HeapException {
if (openFileTraceFile != null) {
try {
final PrintStream printStream = new PrintStream(
@@ -713,8 +715,8 @@
updateBackup(toBackupList);
- clearHeaprecordToWriteMap();
- readHeapRecordMap.clear();
+ clearHeaprecordMaps();
+
if (crashSafeMode) {
flushOnFile();
}
@@ -728,16 +730,26 @@
public void closeTransactionDiscardChange() throws HeapException {
// ASSERTX
assert assertTransactionOpened();
- clearHeaprecordToWriteMap();
- readHeapRecordMap.clear();
+
+ clearHeaprecordMaps();
+
if (fileOpenedInTransaction) {
closeFiles();
}
openedTransaction = false;
}
- private void clearHeaprecordToWriteMap() {
+ // private void clearHeaprecordReadMap() {
+ // readHeapRecordMap.clear();
+ // }
+ //
+ // private void clearHeaprecordToWriteMap() {
+ // heapRecordToWriteMap.clear();
+ // }
+
+ private void clearHeaprecordMaps() {
heapRecordToWriteMap.clear();
+ readHeapRecordMap.clear();
}
private void closeFiles() throws HeapException {
@@ -1064,10 +1076,12 @@
// ASSERTX
assert assertNoPreviousOrPreviousSameAsCurrent(previous, heapRecord);
if (previous == null) {
+ // may be in read cache
previous = readHeapRecordMap.remove(positionInFile);
// ASSERTX
assert assertNoPreviousOrPreviousSameAsCurrent(previous, heapRecord);
} else {
+ // is not in read cache because already in write cache
// ASSERTX
assert !readHeapRecordMap.containsKey(positionInFile) : "heap record must not be in read cache";
}
Modified: trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManagerFactory.java
===================================================================
--- trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManagerFactory.java 2012-05-01 21:05:38 UTC (rev 3058)
+++ trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManagerFactory.java 2012-05-01 21:55:15 UTC (rev 3059)
@@ -76,8 +76,8 @@
/* no read cache on backup copy, not used for read */
fileForStorableBackup = new FileForStorable(
setup.getBackupDataFile(), setup.getPageSize(),
- setup.getMaxPage(), false/*no read cache*/, maxFileOperationRetry,
- fileOperationRetryMsDelay);
+ setup.getMaxPage(), false/* no read cache */,
+ maxFileOperationRetry, fileOperationRetryMsDelay);
stateOkFlagFile = setup.getStateOkFlagFile();
} else {
fileForStorable = new FileForStorable(setup.getDataFile(),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|