Class LoggingDeploymentIssues

  • All Implemented Interfaces:
    DeploymentIssues

    public class LoggingDeploymentIssues
    extends java.lang.Object
    implements DeploymentIssues
    A memory backed implementation of the Issues API which logs changes and does nothing else.
    Author:
    bratseth, jonmv
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<IssueId,​java.time.Instant> issueUpdates
      Last updates for each issue -- used to determine if issues are already logged and when to escalate.
      protected java.util.concurrent.atomic.AtomicBoolean platformIssue
      Whether the platform is currently broken.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void escalateIfInactive​(IssueId issueId, java.time.Duration maxInactivity, java.util.Optional<Contact> contact)  
      protected void escalateIssue​(IssueId issueId)  
      protected IssueId fileIssue​(com.yahoo.config.provision.ApplicationId applicationId)  
      IssueId fileUnlessOpen​(java.util.Collection<com.yahoo.config.provision.ApplicationId> applicationIds, com.yahoo.component.Version version)  
      IssueId fileUnlessOpen​(java.util.Optional<IssueId> issueId, com.yahoo.config.provision.ApplicationId applicationId, User assignee, Contact contact)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • platformIssue

        protected final java.util.concurrent.atomic.AtomicBoolean platformIssue
        Whether the platform is currently broken.
      • issueUpdates

        protected final java.util.Map<IssueId,​java.time.Instant> issueUpdates
        Last updates for each issue -- used to determine if issues are already logged and when to escalate.
    • Constructor Detail

      • LoggingDeploymentIssues

        @Inject
        public LoggingDeploymentIssues()
      • LoggingDeploymentIssues

        @TestOnly
        protected LoggingDeploymentIssues​(java.time.Clock clock)
    • Method Detail

      • fileUnlessOpen

        public IssueId fileUnlessOpen​(java.util.Collection<com.yahoo.config.provision.ApplicationId> applicationIds,
                                      com.yahoo.component.Version version)
        Specified by:
        fileUnlessOpen in interface DeploymentIssues
      • escalateIssue

        protected void escalateIssue​(IssueId issueId)
      • fileIssue

        protected IssueId fileIssue​(com.yahoo.config.provision.ApplicationId applicationId)