TaskAction:

- Add isAudited
- Generally straighten out Jackson annotations
This commit is contained in:
Gian Merlino 2013-03-19 10:47:26 -07:00
parent 922ed66a91
commit d1eb61d451
10 changed files with 77 additions and 14 deletions

View File

@ -28,6 +28,7 @@ public class LocalTaskActionClient implements TaskActionClient
final RetType ret = taskAction.perform(task, toolbox); final RetType ret = taskAction.perform(task, toolbox);
if (taskAction.isAudited()) {
// Add audit log // Add audit log
try { try {
storage.addAuditLog(task, taskAction); storage.addAuditLog(task, taskAction);
@ -38,6 +39,7 @@ public class LocalTaskActionClient implements TaskActionClient
.addData("actionClass", taskAction.getClass().getName()) .addData("actionClass", taskAction.getClass().getName())
.emit(); .emit();
} }
}
return ret; return ret;
} }

View File

@ -1,6 +1,7 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;
@ -10,6 +11,7 @@ import org.joda.time.Interval;
public class LockAcquireAction implements TaskAction<TaskLock> public class LockAcquireAction implements TaskAction<TaskLock>
{ {
@JsonIgnore
private final Interval interval; private final Interval interval;
@JsonCreator @JsonCreator
@ -44,6 +46,12 @@ public class LockAcquireAction implements TaskAction<TaskLock>
} }
} }
@Override
public boolean isAudited()
{
return true;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -1,12 +1,8 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.google.common.base.Optional; import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.base.Throwables;
import com.metamx.druid.merger.common.TaskLock; import com.metamx.druid.merger.common.TaskLock;
import com.metamx.druid.merger.common.task.Task; import com.metamx.druid.merger.common.task.Task;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference;
import java.util.List; import java.util.List;
@ -23,6 +19,12 @@ public class LockListAction implements TaskAction<List<TaskLock>>
return toolbox.getTaskLockbox().findLocksForTask(task); return toolbox.getTaskLockbox().findLocksForTask(task);
} }
@Override
public boolean isAudited()
{
return false;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -1,6 +1,7 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.metamx.druid.merger.common.task.Task; import com.metamx.druid.merger.common.task.Task;
@ -8,6 +9,7 @@ import org.joda.time.Interval;
public class LockReleaseAction implements TaskAction<Void> public class LockReleaseAction implements TaskAction<Void>
{ {
@JsonIgnore
private final Interval interval; private final Interval interval;
@JsonCreator @JsonCreator
@ -36,6 +38,12 @@ public class LockReleaseAction implements TaskAction<Void>
return null; return null;
} }
@Override
public boolean isAudited()
{
return true;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -80,6 +80,12 @@ public class SegmentInsertAction implements TaskAction<Set<DataSegment>>
return retVal; return retVal;
} }
@Override
public boolean isAudited()
{
return true;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -1,6 +1,7 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.metamx.druid.client.DataSegment; import com.metamx.druid.client.DataSegment;
@ -12,7 +13,10 @@ import java.util.List;
public class SegmentListUnusedAction implements TaskAction<List<DataSegment>> public class SegmentListUnusedAction implements TaskAction<List<DataSegment>>
{ {
@JsonIgnore
private final String dataSource; private final String dataSource;
@JsonIgnore
private final Interval interval; private final Interval interval;
@JsonCreator @JsonCreator
@ -48,6 +52,12 @@ public class SegmentListUnusedAction implements TaskAction<List<DataSegment>>
return toolbox.getMergerDBCoordinator().getUnusedSegmentsForInterval(dataSource, interval); return toolbox.getMergerDBCoordinator().getUnusedSegmentsForInterval(dataSource, interval);
} }
@Override
public boolean isAudited()
{
return false;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -1,6 +1,7 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.metamx.druid.client.DataSegment; import com.metamx.druid.client.DataSegment;
@ -12,7 +13,10 @@ import java.util.List;
public class SegmentListUsedAction implements TaskAction<List<DataSegment>> public class SegmentListUsedAction implements TaskAction<List<DataSegment>>
{ {
@JsonIgnore
private final String dataSource; private final String dataSource;
@JsonIgnore
private final Interval interval; private final Interval interval;
@JsonCreator @JsonCreator
@ -48,6 +52,12 @@ public class SegmentListUsedAction implements TaskAction<List<DataSegment>>
return toolbox.getMergerDBCoordinator().getUsedSegmentsForInterval(dataSource, interval); return toolbox.getMergerDBCoordinator().getUsedSegmentsForInterval(dataSource, interval);
} }
@Override
public boolean isAudited()
{
return false;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -1,6 +1,7 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -14,6 +15,7 @@ import java.util.Set;
public class SegmentNukeAction implements TaskAction<Void> public class SegmentNukeAction implements TaskAction<Void>
{ {
@JsonIgnore
private final Set<DataSegment> segments; private final Set<DataSegment> segments;
@JsonCreator @JsonCreator
@ -57,6 +59,12 @@ public class SegmentNukeAction implements TaskAction<Void>
return null; return null;
} }
@Override
public boolean isAudited()
{
return true;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -1,6 +1,7 @@
package com.metamx.druid.merger.common.actions; package com.metamx.druid.merger.common.actions;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
@ -10,6 +11,7 @@ import java.util.List;
public class SpawnTasksAction implements TaskAction<Void> public class SpawnTasksAction implements TaskAction<Void>
{ {
@JsonIgnore
private final List<Task> newTasks; private final List<Task> newTasks;
@JsonCreator @JsonCreator
@ -41,6 +43,12 @@ public class SpawnTasksAction implements TaskAction<Void>
return null; return null;
} }
@Override
public boolean isAudited()
{
return true;
}
@Override @Override
public String toString() public String toString()
{ {

View File

@ -22,4 +22,5 @@ public interface TaskAction<RetType>
{ {
public TypeReference<RetType> getReturnTypeReference(); // T_T public TypeReference<RetType> getReturnTypeReference(); // T_T
public RetType perform(Task task, TaskActionToolbox toolbox) throws IOException; public RetType perform(Task task, TaskActionToolbox toolbox) throws IOException;
public boolean isAudited();
} }