From 58bf8e268ce2e59329d0fddb458046b337f7f6b5 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Thu, 7 Sep 2017 15:28:59 +0200 Subject: Don't fail to return an issue --- .../controller/api/integration/stubs/LoggingIssues.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'controller-api') diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java index 13f4db35ff0..3c9488e04d3 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java @@ -44,10 +44,16 @@ public class LoggingIssues implements Issues { public String file(Issue issue) { log.info("Want to file " + issue); String issueId = "issue-" + issueIdSequence.getAndIncrement(); - issues.put(issueId, issue); - issueInfos.put(issueId, new IssueInfo(issueId, null, Instant.now(), null, IssueInfo.Status.noCategory)); + file(issueId, issue); return issueId; } + + private IssueInfo file(String issueId, Issue issue) { + IssueInfo issueInfo = new IssueInfo(issueId, null, Instant.now(), null, IssueInfo.Status.noCategory); + issues.put(issueId, issue); + issueInfos.put(issueId, issueInfo); + return issueInfo; + } @Override public void update(String issueId, String description) { @@ -80,9 +86,10 @@ public class LoggingIssues implements Issues { private IssueInfo requireInfo(String issueId) { IssueInfo info = issueInfos.get(issueId); - if (info == null) - throw new IllegalArgumentException("No issue info with id '" + issueId + "'"); - return info; + if (info != null) // we still remember this issue + return info; + else // we forgot this issue (due to restart) - recreate it here to avoid log noise + return file(issueId, new Issue("(Forgotten)", "")); } } -- cgit v1.2.3