2.2.x Maintenance

Build: #33 was successful Changes by Gary Russell

Build result summary

Details

Completed
Duration
6 minutes
Labels
None
Agent
bamboo-22.af.pivotal.io
Revision
88d98dfbb27f3e03cee8fe8b2689eafe578a3e3c 88d98dfbb27f3e03cee8fe8b2689eafe578a3e3c
Total tests
2450
Successful since
#23 ()

Tests

Code commits

Author Commit Message Commit date
Gary Russell Gary Russell 88d98dfbb27f3e03cee8fe8b2689eafe578a3e3c 88d98dfbb27f3e03cee8fe8b2689eafe578a3e3c GH-1230: Fix return/confirm delivery order
Resolves https://github.com/spring-projects/spring-amqp/issues/1230

We must guarantee that returns are delivered before confirms.
https://github.com/spring-projects/spring-amqp/issues/1055 changed the logic
to deliver on a different thread to avoid a deadlock in the amqp-client.

Since the executor service might have multiple threads, we added a latch to
ensure the return is delivered first.

Unfortunately, this was a one-shot latch and subsequent deliveries using the
same channel might arrive in the wrong order.

Move the latch to the `PendingConfirm` to reinstate in-order delivery.

**cherry-pick to 2.2.x**

Jira issues

IssueDescriptionStatus
Unknown Issue TypeGH-1230Could not obtain issue details from Jira