Uploaded image for project: 'SonarQube'
  1. SonarQube
  2. SONAR-11753

Drop usage of public notification API to send SonarQube built-in notifications

    Details

    • Edition:
      Community
    • Production Notes:
      None

      Description

      Why

      Given the design of the existing notification API, the performance of sending notification is poor (to terrific). This API is currently used to send all built-in email notification in SonarQube and SonarCloud but we do not need the flexibility this API provides.

      What

      We will drop usage of this API for built-in notifications. We will deprecate this API as it is flawed and will continue support it transparently. Whether there will be a replacement has not been decided yet.

      This way, it won't run at all unless a non-SonarSource plugin is installed which uses this API and this will fix our performance issue with notification sending.

      Specification of new implementation

      • notifications are only sent by email
      • no notification should be computed if no email server is configured (circuit breaker)
      • emails are sent synchronously when processing an analysis report, asynchronously after a UI change
      • computation of recipients from subscription stored in DB should be efficient and assume there can be a large number of them
        • data is retrieved from DB once per event
        • data could be streamed from DB if this is beneficial in memory and performance

      How

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sebastien.lesaint Sebastien Lesaint
                Reporter:
                sebastien.lesaint Sebastien Lesaint
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated:
                  Resolved: