@Override public Checker newChecker() { List<RowChecker> checkers = new ArrayList<>(4); checkers.add(new TaskCountChecker(maxTotalConcurrentTasks, maxConcurrentTasksPerServer, maxConcurrentTasksPerRegion, tasksInProgress, taskCounterPerServer, taskCounterPerRegion)); checkers.add(new RequestHeapSizeChecker(maxHeapSizePerRequest)); checkers.add(new SubmittedSizeChecker(maxHeapSizeSubmit)); checkers.add(new RequestRowsChecker(maxRowsPerRequest)); return newChecker(checkers); }
@Override public Checker newChecker() { List<RowChecker> checkers = new ArrayList<>(4); checkers.add(new TaskCountChecker(maxTotalConcurrentTasks, maxConcurrentTasksPerServer, maxConcurrentTasksPerRegion, tasksInProgress, taskCounterPerServer, taskCounterPerRegion)); checkers.add(new RequestHeapSizeChecker(maxHeapSizePerRequest)); checkers.add(new SubmittedSizeChecker(maxHeapSizeSubmit)); checkers.add(new RequestRowsChecker(maxRowsPerRequest)); return newChecker(checkers); }
final long maxRowCount = 100; SimpleRequestController.RequestRowsChecker checker = new SimpleRequestController.RequestRowsChecker(maxRowCount); ReturnCode code = checker.canTakeOperation(LOC1, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); code = checker.canTakeOperation(LOC2, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); ReturnCode acceptCode = checker.canTakeOperation(LOC1, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, acceptCode); checker.notifyFinal(acceptCode, LOC1, heapSizeOfRow); ReturnCode code = checker.canTakeOperation(LOC1, heapSizeOfRow); assertNotEquals(ReturnCode.INCLUDE, code); code = checker.canTakeOperation(LOC2, heapSizeOfRow); assertNotEquals(ReturnCode.INCLUDE, code); ReturnCode code = checker.canTakeOperation(LOC3, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); checker.reset(); for (int i = 0; i != 10; ++i) { ReturnCode code = checker.canTakeOperation(LOC1, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); code = checker.canTakeOperation(LOC2, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code);
@Override public Checker newChecker() { List<RowChecker> checkers = new ArrayList<>(4); checkers.add(new TaskCountChecker(maxTotalConcurrentTasks, maxConcurrentTasksPerServer, maxConcurrentTasksPerRegion, tasksInProgress, taskCounterPerServer, taskCounterPerRegion)); checkers.add(new RequestHeapSizeChecker(maxHeapSizePerRequest)); checkers.add(new SubmittedSizeChecker(maxHeapSizeSubmit)); checkers.add(new RequestRowsChecker(maxRowsPerRequest)); return newChecker(checkers); }
final long maxRowCount = 100; SimpleRequestController.RequestRowsChecker checker = new SimpleRequestController.RequestRowsChecker(maxRowCount); ReturnCode code = checker.canTakeOperation(LOC1, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); code = checker.canTakeOperation(LOC2, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); ReturnCode acceptCode = checker.canTakeOperation(LOC1, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, acceptCode); checker.notifyFinal(acceptCode, LOC1, heapSizeOfRow); ReturnCode code = checker.canTakeOperation(LOC1, heapSizeOfRow); assertNotEquals(ReturnCode.INCLUDE, code); code = checker.canTakeOperation(LOC2, heapSizeOfRow); assertNotEquals(ReturnCode.INCLUDE, code); ReturnCode code = checker.canTakeOperation(LOC3, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); checker.reset(); for (int i = 0; i != 10; ++i) { ReturnCode code = checker.canTakeOperation(LOC1, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code); code = checker.canTakeOperation(LOC2, heapSizeOfRow); assertEquals(ReturnCode.INCLUDE, code);