Merge branch 'master' into salsubaiee/master_lsm
diff --git a/pregelix-dataflow/src/main/java/edu/uci/ics/pregelix/dataflow/context/RuntimeContext.java b/pregelix-dataflow/src/main/java/edu/uci/ics/pregelix/dataflow/context/RuntimeContext.java
index a366899..bfe89ab 100644
--- a/pregelix-dataflow/src/main/java/edu/uci/ics/pregelix/dataflow/context/RuntimeContext.java
+++ b/pregelix-dataflow/src/main/java/edu/uci/ics/pregelix/dataflow/context/RuntimeContext.java
@@ -54,7 +54,7 @@
private final ILocalResourceRepository localResourceRepository;
private final ResourceIdFactory resourceIdFactory;
private final IBufferCache bufferCache;
- private final IVirtualBufferCache vBufferCache;
+ private final List<IVirtualBufferCache> vbcs;
private final IFileMapManager fileMapManager;
private final IOManager ioManager;
private final Map<Long, List<FileReference>> iterationToFiles = new ConcurrentHashMap<Long, List<FileReference>>();
@@ -81,8 +81,10 @@
new PreDelayPageCleanerPolicy(Long.MAX_VALUE), fileMapManager, pageSize, numPages, 1000000,
threadFactory);
int numPagesInMemComponents = numPages / 8;
- vBufferCache = new MultitenantVirtualBufferCache(new VirtualBufferCache(new HeapBufferAllocator(), pageSize,
- numPagesInMemComponents));
+ vbcs = new ArrayList<IVirtualBufferCache>();
+ IVirtualBufferCache vBufferCache = new MultitenantVirtualBufferCache(new VirtualBufferCache(
+ new HeapBufferAllocator(), pageSize, numPagesInMemComponents));
+ vbcs.add(vBufferCache);
ioManager = (IOManager) appCtx.getRootContext().getIOManager();
lcManager = new NoBudgetIndexLifecycleManager();
localResourceRepository = new TransientLocalResourceRepository();
@@ -129,8 +131,8 @@
return bufferCache;
}
- public IVirtualBufferCache getVirtualBufferCache() {
- return vBufferCache;
+ public List<IVirtualBufferCache> getVirtualBufferCaches() {
+ return vbcs;
}
public IFileMapProvider getFileMapManager() {
diff --git a/pregelix-runtime/src/main/java/edu/uci/ics/pregelix/runtime/bootstrap/VirtualBufferCacheProvider.java b/pregelix-runtime/src/main/java/edu/uci/ics/pregelix/runtime/bootstrap/VirtualBufferCacheProvider.java
index ec51047..f15b1c2 100644
--- a/pregelix-runtime/src/main/java/edu/uci/ics/pregelix/runtime/bootstrap/VirtualBufferCacheProvider.java
+++ b/pregelix-runtime/src/main/java/edu/uci/ics/pregelix/runtime/bootstrap/VirtualBufferCacheProvider.java
@@ -14,6 +14,8 @@
*/
package edu.uci.ics.pregelix.runtime.bootstrap;
+import java.util.List;
+
import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.IVirtualBufferCache;
import edu.uci.ics.hyracks.storage.am.lsm.common.api.IVirtualBufferCacheProvider;
@@ -33,7 +35,7 @@
}
@Override
- public synchronized IVirtualBufferCache getVirtualBufferCache(IHyracksTaskContext ctx) {
- return RuntimeContext.get(ctx).getVirtualBufferCache();
+ public synchronized List<IVirtualBufferCache> getVirtualBufferCaches(IHyracksTaskContext ctx) {
+ return RuntimeContext.get(ctx).getVirtualBufferCaches();
}
}