Skip to content

Commit

Permalink
[HWKMETRICS-204] compute bucket start time correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
John Sanda committed Aug 17, 2015
1 parent 3302280 commit 660178e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@

import org.hawkular.metrics.core.api.Tenant;
import org.hawkular.metrics.tasks.api.Task2;
import org.hawkular.metrics.tasks.api.Trigger;
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -48,7 +50,7 @@ public CreateTenants(TenantsService tenantsService, DataAccess dataAccess) {

@Override
public void call(Task2 task) {
long bucket = task.getTrigger().getTriggerTime();
long bucket = getBucket(task.getTrigger());
CountDownLatch latch = new CountDownLatch(1);

Observable<String> tenantIds = dataAccess.findTenantIds(bucket)
Expand Down Expand Up @@ -78,6 +80,11 @@ public void call(Task2 task) {
}
}

private long getBucket(Trigger trigger) {
DateTime end = new DateTime(trigger.getTriggerTime());
return end.minusMinutes(30).getMillis();
}

private Observable<Boolean> tenantDoesNotExist(String tenantId) {
return dataAccess.findTenant(tenantId).map(ResultSet::isExhausted);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,12 @@ public void initMethod() {

@Test
public void executeWhenThereAreNoTenantsInBucket() {
DateTime bucket = dateTimeService.getTimeSlice(DateTime.now(), standardMinutes(1));
DateTime bucket = dateTimeService.getTimeSlice(DateTime.now(), standardMinutes(30));

Tenant t1 = new Tenant("T1");
doAction(() -> metricsService.createTenant(t1));

Trigger trigger = new SingleExecutionTrigger(bucket.getMillis());
Trigger trigger = new SingleExecutionTrigger(bucket.plusMinutes(30).getMillis());
Task2Impl taskDetails = new Task2Impl(randomUUID(), "$system", 0, "create-tenants", emptyMap(), trigger);

CreateTenants task = new CreateTenants(metricsService, metricsService.getDataAccess());
Expand All @@ -90,14 +90,14 @@ public void executeWhenThereAreNoTenantsInBucket() {

@Test
public void executeWhenThereAreTenantsInBucket() {
DateTime bucket = dateTimeService.getTimeSlice(DateTime.now(), standardMinutes(1));
DateTime bucket = dateTimeService.getTimeSlice(DateTime.now(), standardMinutes(30));

Tenant t1 = new Tenant("T1");
doAction(() -> metricsService.createTenant(t1));
doAction(() -> dataAccess.insertTenantId(bucket.getMillis(), "T2").flatMap(resultSet -> null));
doAction(() -> dataAccess.insertTenantId(bucket.getMillis(), "T3").flatMap(resultSet -> null));

Trigger trigger = new SingleExecutionTrigger(bucket.getMillis());
Trigger trigger = new SingleExecutionTrigger(bucket.plusMinutes(30).getMillis());
Task2Impl taskDetails = new Task2Impl(randomUUID(), "$system", 0, "create-tenants", emptyMap(), trigger);

CreateTenants task = new CreateTenants(metricsService, metricsService.getDataAccess());
Expand Down

0 comments on commit 660178e

Please sign in to comment.