private boolean isMergeOngoing(List<ILSMDiskComponent> immutableComponents) { int size = immutableComponents.size(); for (int i = 0; i < size; i++) { if (immutableComponents.get(i).getState() == ComponentState.READABLE_MERGING) { return true; } } return false; } }
/** * This method returns whether there is an ongoing merge operation or not by checking * each component state of given components. * * @param immutableComponents * @return true if there is an ongoing merge operation, false otherwise. */ protected boolean isMergeOngoing(List<ILSMDiskComponent> immutableComponents) { int size = immutableComponents.size(); for (int i = 0; i < size; i++) { if (immutableComponents.get(i).getState() == ComponentState.READABLE_MERGING) { return true; } } return false; }
private void exitComponent(ILSMDiskComponent diskComponent) throws HyracksDataException { diskComponent.threadExit(LSMOperationType.SEARCH, false, false); if (diskComponent.getState() == ILSMComponent.ComponentState.INACTIVE) { if (replicationEnabled) { componentsToBeReplicated.clear(); componentsToBeReplicated.add(diskComponent); lsmIndex.scheduleReplication(null, componentsToBeReplicated, ReplicationOperation.DELETE, null); } diskComponent.deactivateAndDestroy(); } }
for (int i = 0; i < numComponents; i++) { if (immutableComponents.get(i).getComponentSize() > maxMergableComponentSize || immutableComponents.get(i).getState() != ComponentState.READABLE_UNWRITABLE) { continue; long componentSize = immutableComponents.get(j).getComponentSize(); if (componentSize > maxMergableComponentSize || immutableComponents.get(j).getState() != ComponentState.READABLE_UNWRITABLE) {
private boolean flushingOrMerging() { // check if flushes are taking place for (ILSMMemoryComponent memComponent : lsmIndex.getMemoryComponents()) { if (memComponent.getState() == ComponentState.READABLE_UNWRITABLE_FLUSHING) { return true; } } // check if merges are taking place for (ILSMDiskComponent diskComponent : lsmIndex.getDiskComponents()) { if (diskComponent.getState() == ComponentState.READABLE_MERGING) { return true; } } return false; }
if (mergingComponents.get(i).getState() == ComponentState.READABLE_MERGING) { return NoOpIoOperation.INSTANCE;
Mockito.when(component.getId()).thenReturn(id); Mockito.when(component.getComponentSize()).thenReturn(DEFAULT_COMPONENT_SIZE); Mockito.when(component.getState()).thenReturn(ComponentState.READABLE_UNWRITABLE); components.add(component);