Skip to content

Direct Erlang client connections (e.g. those used by shovel) cannot be deserialized #68

Closed
@jacob-84Codes

Description

@jacob-84Codes

Describe the bug

When using the list connections command, if there is a shovel present in the instance, an error occurs:
HTTP API request failed: error decoding response body
This error occurs from attempting to tabulate the JSON that the rabbitmq API provides for a shovel which is markedly to other connections.

Image

When rabbitmqadmin tabulates a connection it lists the: name, node, state, protocol, username, connected_at, server_hostname, server_port, client_hostname, client_port, channel_max, and channel_count. Of these categories, the JSON for a shovel connection only provides the name, node and protocol, causing the error as the response is missing a lot of information needed for the tabulation.

Image

Shovel connections JSON:

Image

Vs standard connection JSON:

Image

Reproduction steps

  1. On a rabbitmq instance without a shovel, test that 'rabbitmqadmin list connections' works
  2. Add a shovel connection to the instance
  3. Run 'rabbitmqadmin list connections' again and confirm that it no longer works

Expected behavior

I can see two different possible expected behaviours. The first would be to alter the tabulation to provide a default 'N/A' value when a value is missing when listing connections. The other option would be to ignore connections that would otherwise cause this error to occur, along with a notification that connections had to be excluded and a list of just the names of these connections.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions