Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Reliable amqp_trx_plugin & amqp_trace_plugin #10127

Merged
merged 11 commits into from
Mar 18, 2021
Merged

Conversation

heifner
Copy link
Contributor

@heifner heifner commented Mar 12, 2021

Change Description

Add reliability options to amqp_trx_plugin & amqp_trace_plugin

  • amqp_trace_plugin now has configurable reliability via amqp-trace-reliable-mode
    • Reliable mode 'exit', exit application on any AMQP publish error.
    • Reliable mode 'queue', queue transaction traces to send to AMQP on connection establishment.
    • Reliable mode 'log', log an error and drop message when unable to directly publish to AMQP.
  • amqp_trace_plugin now has configurable queue via amqp-trace-queue-name option.
  • amqp_trx_plugin now has configurable queue via amqp-trx-queue-name option.
  • Added correlation_id and error callback support to reliable_amqp_publisher.
  • reliable_amqp_publisher now calls on_fatal_error callback instead of dropping messages which in all cases calls app().quit() now.
  • Modified amqp_handler to use single_channel_retrying_amqp_connection to provide reliability and to move away from unsupported AMQP::LibBoostAsioHandler.

Note: A follow-on PR is planned that will separate amqp_trace_plugin from amqp_trx_plugin.

Change Type

Select ONE:

  • Documentation
  • Stability bug fix
  • Other
  • Other - special case

Testing Changes

Select ANY that apply:

  • New Tests
  • Existing Tests
  • Test Framework
  • CI System
  • Other

Consensus Changes

  • Consensus Changes

API Changes

  • API Changes

Documentation Additions

  • Documentation Additions

    --amqp-trace-queue-name arg (=trace) AMQP queue to publish transaction
    traces.
    --amqp-trace-reliable-mode arg (=queue)
    Reliable mode 'exit', exit application
    on any AMQP publish error.
    Reliable mode 'queue', queue
    transaction traces to send to AMQP on
    connection establishment.
    Reliable mode 'log', log an error and
    drop message when unable to directly
    publish to AMQP.

    --amqp-trx-queue-name arg (=trx) AMQP queue to consume transactions
    from.

@heifner heifner merged commit 7878958 into develop-boxed Mar 18, 2021
@heifner heifner deleted the reliable-amqp-plugins branch March 18, 2021 13:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants