Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set sender/receiver capabilities to attach frame in the amqp10_client #11337

Open
wants to merge 35 commits into
base: main
Choose a base branch
from

Conversation

MarcialRosales
Copy link
Contributor

@MarcialRosales MarcialRosales commented May 28, 2024

Proposed Changes

It partially addresses the feature request #10752. This PR lets a developer set the capabilities to the sender and receiver links in the amqp10_client. It will not add this capability to the shovel plugin though.

The system test group ibmmq requires a docker image for IBM MQ server. This docker image is built by a workflow added by this other PR #11419. The official IBM MQ docker image does not come with AMQP built-in capability hence we have to build one. And given the amount of time it takes to build this image it was better to build it from its own CI workflow.

NOTE for reviewer:

Types of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply

  • Bug fix (non-breaking change which fixes issue #NNNN)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause an observable behavior change in existing systems)
  • Documentation improvements (corrections, new content, etc)
  • Cosmetic change (whitespace, formatting, etc)
  • Build system and/or CI

@MarcialRosales MarcialRosales self-assigned this May 28, 2024
@MarcialRosales MarcialRosales changed the title Set sender/receiver capabilities to attach frame Set sender/receiver capabilities to attach frame in the amqp10_client May 29, 2024
@MarcialRosales MarcialRosales requested a review from ansd May 29, 2024 11:06
@MarcialRosales MarcialRosales marked this pull request as ready for review May 29, 2024 12:57
Copy link
Member

@ansd ansd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest that we first test end-to-end that the RabbitMQ <-> IBM MQ integration works before merging this PR.
Right now, this PR adds a lot of boilerplate code that is not used and contains bugs.

deps/amqp10_client/src/amqp10_client.erl Outdated Show resolved Hide resolved
deps/amqp10_client/src/amqp10_client_session.erl Outdated Show resolved Hide resolved
@MarcialRosales MarcialRosales marked this pull request as draft May 30, 2024 06:28
@MarcialRosales MarcialRosales force-pushed the set-amqp10-capabilities branch 6 times, most recently from d8f7a42 to dd3e169 Compare June 6, 2024 08:47
@MarcialRosales MarcialRosales force-pushed the set-amqp10-capabilities branch 5 times, most recently from 182a482 to 2563327 Compare June 10, 2024 09:27
@MarcialRosales MarcialRosales marked this pull request as ready for review June 10, 2024 09:36
@MarcialRosales MarcialRosales force-pushed the set-amqp10-capabilities branch 2 times, most recently from 0c1536a to db6ef7b Compare June 19, 2024 09:55
@ansd ansd self-requested a review June 19, 2024 10:27
Copy link
Member

@ansd ansd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get sometimes the following error

system_SUITE > ibmmq > basic_roundtrip_ibmmq
    #1. {error,
            {shutdown,
                {gen_statem,call,
                    [<0.540.0>,
                     {attach,
                         #{name => <<"banana-sender">>,filter => #{},
                           properties => #{},rcv_settle_mode => first,
                           role =>
                               {sender,
                                   #{address => <<"DEV.QUEUE.3">>,
                                     capabilities => <<"queue">>,
                                     durable => unsettled_state}},
                           snd_settle_mode => settled}},
                     5000]}}}

when running

make -C deps/amqp10_client/ ct-system

locally on Ubuntu.
Might be worth checking this flake?

deps/amqp10_client/src/amqp10_client.erl Outdated Show resolved Hide resolved
deps/amqp10_client/src/amqp10_client.erl Show resolved Hide resolved
deps/amqp10_client/src/amqp10_client_session.erl Outdated Show resolved Hide resolved
deps/amqp10_client/src/amqp10_client_session.erl Outdated Show resolved Hide resolved
deps/amqp10_client/src/amqp10_client_session.erl Outdated Show resolved Hide resolved
deps/amqp10_client/test/system_SUITE.erl Outdated Show resolved Hide resolved
deps/amqp10_client/test/system_SUITE.erl Show resolved Hide resolved
deps/amqp10_client/test/system_SUITE.erl Outdated Show resolved Hide resolved
deps/amqp10_client/test/system_SUITE.erl Outdated Show resolved Hide resolved
deps/amqp10_client/test/system_SUITE.erl Outdated Show resolved Hide resolved
@MarcialRosales MarcialRosales force-pushed the set-amqp10-capabilities branch 3 times, most recently from e110ecb to 70839ed Compare June 20, 2024 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants