Commit e1f2c8e
AutorecoveringConnection.maybeDeleteRecordedAutoDeleteExchange does not need to acquire a lock on this.consumers
It most likely was a copy-paste artefact introduced back in 2013-2014.
AutorecoveringConnection.maybeDeleteRecordedAutoDeleteQueue does need
to lock this.consumers as conditional queue deletion does need to
check the number of known consumers on that queue.
1aad565 addressed a potential deadlock caused by the unsafe
order of lock acquisitions. In #648 another similar issue
was discovered which #649 tried to address by acquiring a lock
on this.consumers early.
However, exchange cleanup does not need to lock this.consumers
as it does not mutate it.
Closes #648.
(cherry picked from commit 5c3fce8)1 parent 051c30d commit e1f2c8e
File tree
1 file changed
+7
-9
lines changed- src/main/java/com/rabbitmq/client/impl/recovery
1 file changed
+7
-9
lines changedLines changed: 7 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1032 | 1032 | | |
1033 | 1033 | | |
1034 | 1034 | | |
1035 | | - | |
1036 | | - | |
1037 | | - | |
1038 | | - | |
1039 | | - | |
1040 | | - | |
1041 | | - | |
1042 | | - | |
1043 | | - | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
1044 | 1042 | | |
1045 | 1043 | | |
1046 | 1044 | | |
| |||
0 commit comments