Qpid
  1. Qpid
  2. QPID-4513

[Java Client] can erroneously log "Unable to load custom SASL providers." when loaded with multiple class loaders

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.18, 0.20
    • Fix Version/s: 0.21
    • Component/s: Java Client
    • Labels:
      None

      Description

      An ERROR log "Unable to load custom SASL providers." is produced by the java client when CallbackHandlerRegistry is loaded by multiple class loaders. In this case the first class loader successfully registers the SASL providers on opening of the first connection and uses of other class loaders causes the error message because they are enable to register SASL providers because they are already registered.

      The registration process should be updated to detect that all required providers are already registered and only log an error if they are not.

        Activity

        Hide
        Alex Rudyy added a comment -

        The committed changes look good for me. Reviewed with no comments.

        Show
        Alex Rudyy added a comment - The committed changes look good for me. Reviewed with no comments.
        Hide
        Robbie Gemmell added a comment -

        Alex, can you click the button please

        Show
        Robbie Gemmell added a comment - Alex, can you click the button please
        Hide
        Robbie Gemmell added a comment -

        Attaching updated patch by myself and Alex, as is about to be committed.

        Show
        Robbie Gemmell added a comment - Attaching updated patch by myself and Alex, as is about to be committed.
        Hide
        Robbie Gemmell added a comment -

        Attaching a noddy utility class used to load the relvant client classes in multiple classloaders and provoke multiple registration attempts. Used as an additional check beyond the new tests to verify the issue and effectiveness of the changes being made.

        Show
        Robbie Gemmell added a comment - Attaching a noddy utility class used to load the relvant client classes in multiple classloaders and provoke multiple registration attempts. Used as an additional check beyond the new tests to verify the issue and effectiveness of the changes being made.
        Hide
        Alex Rudyy added a comment -

        Attached a patch fixing the issue

        Show
        Alex Rudyy added a comment - Attached a patch fixing the issue

          People

          • Assignee:
            Alex Rudyy
            Reporter:
            Alex Rudyy
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development