Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-12839

Support for error and alerts ports for applicable pipeline plugins

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.3.1
    • Fix Version/s: 5.0.0
    • Component/s: UI
    • Labels:
      None
    • Sprint:
      5.0 11/20, 5.0 12/11, 5.0 12/18
    • Release Notes:
      Hide
      Added 'Error' and 'Alert' ports for plugins that support this functionality. To enable this functionality in your plugin, in addition to emitting alerts and errors from the plugin code, users have to set "emit-errors: true" and "emit-alerts: true" in their plugin json. Users can create connections from 'Error' port to Error Handlers plugins, and from 'Alert' port to Alert plugins
      Show
      Added 'Error' and 'Alert' ports for plugins that support this functionality. To enable this functionality in your plugin, in addition to emitting alerts and errors from the plugin code, users have to set "emit-errors: true" and "emit-alerts: true" in their plugin json. Users can create connections from 'Error' port to Error Handlers plugins, and from 'Alert' port to Alert plugins
    • Rank:
      1|hzy0q2:

      Description

      As a user, I would like to publish the alerts that a certain plugin in my pipeline emits to TMS or Kafka, so that I can subscribe to them in another pipeline or a microservice and kickstart custom processing based on these alerts.

      Placement

      Rename the Error Handlers bin in the palette to Error Handlers and Alerts. Alert plugins should show up in this bin.

      Specs

      1. Node color: #ffba01

      Interaction

      1. A user selects the Alert plugin from the Error Handlers and Alerts bin. The alert port shows up in the Studio.
      2. If the plugin is known to emit alerts, then the alert port is enabled. If a user hovers over it, the usual pointer shows out of the node. A user can click and drag the pointer to an alert publisher plugin. A connection is added from the existing plugin to the alert plugin.
      3. If the plugin is not known to emit alerts, then the alert port is disabled.
      4. If a connection is successful, a user can then configure the Alert plugin.

      Acceptance Criteria

      1. A plugin indicates in its widget JSON if it emits alerts. If this setting is not present, then by default, the plugin does not emit alerts. For such plugins, the alert port should be disabled. *Tooltip*: The plugin <Name of the plugin> does not emit alerts.
      2. If a user clicks and drags the alert connector to a non-alert node, the connection should not succeed. An error should be shown: "The alert port can only be connected to an Alert Publisher plugin"
      3. When a user drags the alert connection to a plugin, there should be an indicator showing if the plugin being dragged on can receive the alert.
      4. An alert plugin behaves as a sink. A user should only be able to connect Action nodes to its downstream.
      5. Currently, the following plugins should have enable alert publishing: Wrangler, Javascript, Python, Scala.
      6. Metrics: The plugin should show metrics similar to sink (records.in).
      7. Pipeline Preview: When a user runs a pipeline preview, he should be able to see the records that were input to the alert publisher after preview runs successfully.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tbach Tony Bach
                Reporter:
                bhooshan Bhooshan Mogal
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: