changes to add sharp checkpoint
git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_lsm_tree@3001 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
index 48416fd..bf12583 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
@@ -5,10 +5,10 @@
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
public interface ILSMIOOperationCallback {
- public void beforeOperation(ILSMIOOperation operation) throws HyracksDataException;
+ public void beforeOperation() throws HyracksDataException;
- public void afterOperation(ILSMIOOperation operation, List<ILSMComponent> oldComponents, ILSMComponent newComponent)
+ public void afterOperation(List<ILSMComponent> oldComponents, ILSMComponent newComponent)
throws HyracksDataException;
- public void afterFinalize(ILSMIOOperation operation, ILSMComponent newComponent) throws HyracksDataException;
+ public void afterFinalize(ILSMComponent newComponent) throws HyracksDataException;
}
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java
index 085626c..cff47bb 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java
@@ -32,6 +32,7 @@
* concurrent searches/updates/merges may be ongoing.
*/
public interface ILSMIndex extends IIndex {
+
public void deactivate(boolean flushOnExit) throws HyracksDataException;
public ILSMIndexAccessor createAccessor(IModificationOperationCallback modificationCallback,
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java
index 7558721..34e1f0d 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java
@@ -4,7 +4,6 @@
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMComponent;
-import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperation;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback;
public class BlockingIOOperationCallbackWrapper implements ILSMIOOperationCallback {
@@ -25,20 +24,19 @@
}
@Override
- public void beforeOperation(ILSMIOOperation operation) throws HyracksDataException {
- wrappedCallback.beforeOperation(operation);
+ public void beforeOperation() throws HyracksDataException {
+ wrappedCallback.beforeOperation();
}
@Override
- public void afterOperation(ILSMIOOperation operation, List<ILSMComponent> oldComponents, ILSMComponent newComponent)
+ public void afterOperation(List<ILSMComponent> oldComponents, ILSMComponent newComponent)
throws HyracksDataException {
- wrappedCallback.afterOperation(operation, oldComponents, newComponent);
+ wrappedCallback.afterOperation(oldComponents, newComponent);
}
@Override
- public synchronized void afterFinalize(ILSMIOOperation operation, ILSMComponent newComponent)
- throws HyracksDataException {
- wrappedCallback.afterFinalize(operation, newComponent);
+ public synchronized void afterFinalize(ILSMComponent newComponent) throws HyracksDataException {
+ wrappedCallback.afterFinalize(newComponent);
this.notifyAll();
notified = true;
}
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
index da87ed9..4a140b4 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
@@ -175,11 +175,11 @@
@Override
public void flush(ILSMIndexOperationContext ctx, ILSMIOOperation operation) throws HyracksDataException,
IndexException {
- operation.getCallback().beforeOperation(operation);
+ operation.getCallback().beforeOperation();
ILSMComponent newComponent = lsmIndex.flush(operation);
- operation.getCallback().afterOperation(operation, null, newComponent);
+ operation.getCallback().afterOperation(null, newComponent);
lsmIndex.markAsValid(newComponent);
- operation.getCallback().afterFinalize(operation, newComponent);
+ operation.getCallback().afterFinalize(newComponent);
lsmIndex.addComponent(newComponent);
int numComponents = lsmIndex.getImmutableComponents().size();
@@ -206,12 +206,12 @@
public void merge(ILSMIndexOperationContext ctx, ILSMIOOperation operation) throws HyracksDataException,
IndexException {
List<ILSMComponent> mergedComponents = new ArrayList<ILSMComponent>();
- operation.getCallback().beforeOperation(operation);
+ operation.getCallback().beforeOperation();
ILSMComponent newComponent = lsmIndex.merge(mergedComponents, operation);
ctx.getComponentHolder().addAll(mergedComponents);
- operation.getCallback().afterOperation(operation, mergedComponents, newComponent);
+ operation.getCallback().afterOperation(mergedComponents, newComponent);
lsmIndex.markAsValid(newComponent);
- operation.getCallback().afterFinalize(operation, newComponent);
+ operation.getCallback().afterFinalize(newComponent);
lsmIndex.subsumeMergedComponents(newComponent, mergedComponents);
exitComponents(ctx, LSMOperationType.MERGE, false);
}
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java
index 999568e..b123b30 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java
@@ -4,7 +4,6 @@
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMComponent;
-import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperation;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackProvider;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIndex;
@@ -13,18 +12,18 @@
INSTANCE;
@Override
- public void beforeOperation(ILSMIOOperation operation) throws HyracksDataException {
+ public void beforeOperation() throws HyracksDataException {
// Do nothing.
}
@Override
- public void afterOperation(ILSMIOOperation operation, List<ILSMComponent> oldComponents, ILSMComponent newComponent)
+ public void afterOperation(List<ILSMComponent> oldComponents, ILSMComponent newComponent)
throws HyracksDataException {
// Do nothing.
}
@Override
- public void afterFinalize(ILSMIOOperation operation, ILSMComponent newComponent) throws HyracksDataException {
+ public void afterFinalize(ILSMComponent newComponent) throws HyracksDataException {
// Do nothing.
}