summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-07-04 11:45:23 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-07-04 11:45:23 +0200
commit7b10c6fab21895ddd635c9a221f3da23b99a21bc (patch)
treef611acb68878a50f3ac84cd0479f60f03ed790c3 /controller-server
parent18df18885a485d337f828c1b585932b0a6041ed3 (diff)
Append, rather than set, logs, and fix unstable unit test
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java12
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java4
2 files changed, 4 insertions, 12 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java
index 056dcba2cd5..29895066525 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java
@@ -16,7 +16,6 @@ import com.yahoo.vespa.hosted.controller.application.JobStatus;
import com.yahoo.vespa.hosted.controller.application.SourceRevision;
import com.yahoo.vespa.hosted.controller.persistence.CuratorDb;
-import java.io.ByteArrayInputStream;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -77,7 +76,7 @@ public class JobController {
Map<Step, byte[]> details = new HashMap<>();
for (Step step : run.steps().keySet()) {
- byte[] log = logs.getLog(id, step.name());
+ byte[] log = logs.get(id, step.name());
if (log.length > 0)
details.put(step, log);
}
@@ -87,14 +86,7 @@ public class JobController {
/** Appends the given log bytes to the currently stored bytes for the given run and step. */
public void log(RunId id, Step step, byte[] log) {
try (Lock __ = curator.lock(id.application(), id.type())) {
- byte[] stored = logs.getLog(id, step.name());
- if (stored.length > 0) {
- byte[] addition = log;
- log = new byte[stored.length + addition.length];
- System.arraycopy(stored, 0, log, 0, stored.length);
- System.arraycopy(addition, 0, log, stored.length, addition.length);
- }
- logs.setLog(id, step.name(), log);
+ logs.append(id, step.name(), log);
}
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java
index 49cfa129249..a1436b61203 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java
@@ -85,7 +85,7 @@ public class JobRunnerTest {
latch.await(1, TimeUnit.SECONDS);
assertEquals(0, latch.getCount());
- jobs.updateStorage(); // Holding the lock of each job ensures data read below is fresh.
+ runner.deconstruct(); // Ensures all workers have finished writing to the curator.
assertTrue(jobs.last(id, systemTest).get().steps().values().stream().allMatch(succeeded::equals));
assertTrue(jobs.last(id, stagingTest).get().hasEnded());
assertTrue(jobs.last(id, stagingTest).get().hasFailed());
@@ -170,7 +170,7 @@ public class JobRunnerTest {
}
@Test
- public void stepLocking() throws InterruptedException, BrokenBarrierException {
+ public void locksAndGarbage() throws InterruptedException, BrokenBarrierException {
DeploymentTester tester = new DeploymentTester();
JobController jobs = tester.controller().jobController();
// Hang during tester deployment, until notified.