Skip to content

Commit 4bc7880

Browse files
committed
Track time when a repair run is paused
1 parent 6b2515a commit 4bc7880

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/main/java/com/spotify/reaper/core/RepairRun.java

+13
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class RepairRun {
3131
private final DateTime creationTime;
3232
private final DateTime startTime;
3333
private final DateTime endTime;
34+
private final DateTime pauseTime;
3435
private final double intensity;
3536

3637
public long getId() {
@@ -69,6 +70,10 @@ public DateTime getEndTime() {
6970
return endTime;
7071
}
7172

73+
public DateTime getPauseTime() {
74+
return pauseTime;
75+
}
76+
7277
public double getIntensity() {
7378
return intensity;
7479
}
@@ -91,6 +96,7 @@ private RepairRun(Builder builder, long id) {
9196
this.creationTime = builder.creationTime;
9297
this.startTime = builder.startTime;
9398
this.endTime = builder.endTime;
99+
this.pauseTime = builder.pauseTime;
94100
this.intensity = builder.intensity;
95101
}
96102

@@ -109,6 +115,7 @@ public static class Builder {
109115
private String owner;
110116
private DateTime startTime;
111117
private DateTime endTime;
118+
private DateTime pauseTime;
112119

113120
public Builder(String clusterName, long repairUnitId, DateTime creationTime,
114121
double intensity) {
@@ -129,6 +136,7 @@ private Builder(RepairRun original) {
129136
owner = original.owner;
130137
startTime = original.startTime;
131138
endTime = original.endTime;
139+
pauseTime = original.pauseTime;
132140
}
133141

134142
public Builder runState(RunState runState) {
@@ -166,6 +174,11 @@ public Builder endTime(DateTime endTime) {
166174
return this;
167175
}
168176

177+
public Builder pauseTime(DateTime pauseTime) {
178+
this.pauseTime = pauseTime;
179+
return this;
180+
}
181+
169182
public RepairRun build(long id) {
170183
return new RepairRun(this, id);
171184
}

src/main/java/com/spotify/reaper/resources/RepairRunResource.java

+2
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ private Response pauseRun(RepairRun repairRun, RepairUnit repairUnit) {
254254
LOG.info("Pausing run {}", repairRun.getId());
255255
RepairRun updatedRun = repairRun.with()
256256
.runState(RepairRun.RunState.PAUSED)
257+
.pauseTime(DateTime.now())
257258
.build(repairRun.getId());
258259
storage.updateRepairRun(updatedRun);
259260
return Response.ok().entity(new RepairRunStatus(repairRun, repairUnit)).build();
@@ -263,6 +264,7 @@ private Response resumeRun(RepairRun repairRun, RepairUnit repairUnit) {
263264
LOG.info("Resuming run {}", repairRun.getId());
264265
RepairRun updatedRun = repairRun.with()
265266
.runState(RepairRun.RunState.RUNNING)
267+
.pauseTime(null)
266268
.build(repairRun.getId());
267269
storage.updateRepairRun(updatedRun);
268270
return Response.ok().entity(new RepairRunStatus(repairRun, repairUnit)).build();

0 commit comments

Comments
 (0)