@Override protected SingularityDeleteResult purgeFromZk(SingularityRequestHistoryParent object) { return requestManager.deleteHistoryParent(object.requestId); }
@Test public void testPurgingDoesntApplyIfDatabasePresent() { initRequest(); initFirstDeploy(); requestManager.startDeletingRequest(request, Optional.absent(), user, Optional.<String> absent(), Optional.<String> absent()); requestManager.deleteHistoryParent(requestId); requestManager.activate(request, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3), Optional.<String> absent(), Optional.<String> absent()); configuration.setDatabaseConfiguration(new DataSourceFactory()); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(1); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(!requestManager.getRequestHistory(requestId).isEmpty()); }
@Test public void testRequestAgePurging() { initRequest(); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(7); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(!requestManager.getRequestHistory(requestId).isEmpty()); requestManager.startDeletingRequest(request, Optional.absent(), user, Optional.<String> absent(), Optional.<String> absent()); requestManager.deleteHistoryParent(requestId); requestManager.activate(request, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(request, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(2)); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(!requestManager.getRequestHistory(requestId).isEmpty()); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(1); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(requestManager.getRequestHistory(requestId).isEmpty()); }
@Override protected SingularityDeleteResult purgeFromZk(SingularityRequestHistoryParent object) { return requestManager.deleteHistoryParent(object.requestId); }
@Test public void testRequestCountPurging() { final SingularityRequest requestOne = new SingularityRequestBuilder("request1", RequestType.WORKER).build(); final SingularityRequest requestTwo = new SingularityRequestBuilder("request2", RequestType.WORKER).build(); final SingularityRequest requestThree = new SingularityRequestBuilder("request3", RequestType.WORKER).build(); saveRequest(requestOne); saveRequest(requestTwo); saveRequest(requestThree); configuration.setMaxRequestsWithHistoryInZkWhenNoDatabase(Optional.of(2)); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(7); requestManager.startDeletingRequest(requestOne, Optional.absent(), user, Optional.<String>absent(), Optional.<String>absent()); requestManager.deleteHistoryParent(requestOne.getId()); requestManager.activate(requestOne, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(4), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(requestOne, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3)); requestManager.startDeletingRequest(requestTwo, Optional.absent(), user, Optional.<String>absent(), Optional.<String>absent()); requestManager.deleteHistoryParent(requestTwo.getId()); requestManager.activate(requestTwo, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(4), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(requestTwo, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3)); requestManager.startDeletingRequest(requestThree, Optional.absent(), user, Optional.<String>absent(), Optional.<String>absent()); requestManager.deleteHistoryParent(requestThree.getId()); requestManager.activate(requestThree, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(4), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(requestThree, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3)); Assert.assertEquals(2, requestManager.getRequestHistory(requestOne.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestTwo.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestThree.getId()).size()); requestHistoryPersister.runActionOnPoll(); Assert.assertEquals(0, requestManager.getRequestHistory(requestOne.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestTwo.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestThree.getId()).size()); }
@Test public void testPurgingDoesntApplyIfDatabasePresent() { initRequest(); initFirstDeploy(); requestManager.startDeletingRequest(request, Optional.absent(), user, Optional.<String> absent(), Optional.<String> absent()); requestManager.deleteHistoryParent(requestId); requestManager.activate(request, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3), Optional.<String> absent(), Optional.<String> absent()); configuration.setDatabaseConfiguration(new DataSourceFactory()); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(1); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(!requestManager.getRequestHistory(requestId).isEmpty()); }
@Test public void testRequestAgePurging() { initRequest(); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(7); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(!requestManager.getRequestHistory(requestId).isEmpty()); requestManager.startDeletingRequest(request, Optional.absent(), user, Optional.<String> absent(), Optional.<String> absent()); requestManager.deleteHistoryParent(requestId); requestManager.activate(request, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(request, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(2)); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(!requestManager.getRequestHistory(requestId).isEmpty()); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(1); requestHistoryPersister.runActionOnPoll(); Assert.assertTrue(requestManager.getRequestHistory(requestId).isEmpty()); }
@Test public void testRequestCountPurging() { final SingularityRequest requestOne = new SingularityRequestBuilder("request1", RequestType.WORKER).build(); final SingularityRequest requestTwo = new SingularityRequestBuilder("request2", RequestType.WORKER).build(); final SingularityRequest requestThree = new SingularityRequestBuilder("request3", RequestType.WORKER).build(); saveRequest(requestOne); saveRequest(requestTwo); saveRequest(requestThree); configuration.setMaxRequestsWithHistoryInZkWhenNoDatabase(Optional.of(2)); configuration.setDeleteStaleRequestsFromZkWhenNoDatabaseAfterHours(7); requestManager.startDeletingRequest(requestOne, Optional.absent(), user, Optional.<String>absent(), Optional.<String>absent()); requestManager.deleteHistoryParent(requestOne.getId()); requestManager.activate(requestOne, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(4), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(requestOne, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3)); requestManager.startDeletingRequest(requestTwo, Optional.absent(), user, Optional.<String>absent(), Optional.<String>absent()); requestManager.deleteHistoryParent(requestTwo.getId()); requestManager.activate(requestTwo, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(4), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(requestTwo, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3)); requestManager.startDeletingRequest(requestThree, Optional.absent(), user, Optional.<String>absent(), Optional.<String>absent()); requestManager.deleteHistoryParent(requestThree.getId()); requestManager.activate(requestThree, RequestHistoryType.CREATED, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(4), Optional.<String> absent(), Optional.<String> absent()); requestManager.cooldown(requestThree, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(3)); Assert.assertEquals(2, requestManager.getRequestHistory(requestOne.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestTwo.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestThree.getId()).size()); requestHistoryPersister.runActionOnPoll(); Assert.assertEquals(0, requestManager.getRequestHistory(requestOne.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestTwo.getId()).size()); Assert.assertEquals(2, requestManager.getRequestHistory(requestThree.getId()).size()); }