diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-09-07 15:28:59 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-09-07 15:28:59 +0200 |
commit | 58bf8e268ce2e59329d0fddb458046b337f7f6b5 (patch) | |
tree | b575cfae5b56a55a0598549cf86206d6cef75592 /controller-api | |
parent | 4f322fa06ca0a2431a0c7b29a7f8c089e33f4d6a (diff) |
Don't fail to return an issue
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java | 17 |
1 files changed, 12 insertions, 5 deletions
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)", "")); } } |