Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-6777

Notifications and signals leaks between MBean instances when using JMX channels

XMLWordPrintable

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      Using versionĀ 2.3.2.Final (mysql connector, but it is not relevant)

      What is the connector configuration?

      Irrelevant, but I use multiple connectors.

      What is the captured database version and mode of depoyment?

      Irrelevant

      What behaviour do you expect?

      Signals and notifications are separated per connector when using signal/notification mbeans.

      E.g. if I have two connectors: account & player, when i get the mbean with name debezium.mysql:type=management, context=notifications, server=account and call getNotifications() then I expect to get notifications related to the account connector only.
      Also, when I call reset() on said mbean I expect it to reset notifications related to the account connector only.

      Similarly, if i get the mbean with name debezium.mysql:type=management, context=signals, server=account and call signal(...) I expect that signal to be sent to the account connector.

      What behaviour do you see?

      Notification mbeans getNotifications() on any mbean instance returns notifications from all connectors
      Notification mbeans reset() on any mbean instance resets notifications from all connectors
      Signal mbeans signal() on any mbean instance sends the signal to a random connector.

      Do you see the same behaviour using the latest relesead Debezium version?

      Yes

      Do you have the connector logs, ideally from start till finish?

      No

      How to reproduce the issue using our

      I dont think this is needed, the issue is pretty obvious looking at the code.

      Implementation ideas (optional)

      Make io.debezium.pipeline.notification.channels.jmx.JmxNotificationChannel#NOTIFICATIONS and io.debezium.pipeline.signal.channels.jmx.JmxSignalChannel#SIGNALS non-static (and rename them to lowercase names).

              rh-ee-mvitale Mario Fiore Vitale
              tommy.karlsson Tommy Karlsson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: