Closed
Description
Custom exchange types may need to re-populate their state during binding recovery (consistent hashing exchange is one example) and starting with 3.8.4
, plugin activation happens too late
so said exchanges are skipped:
2020-06-12 08:45:30.687 [debug] <0.490.0> Supervisor {<0.490.0>,rabbit_vhost_sup} started rabbit_amqqueue_sup_sup:start_link() at pid <0.506.0>
2020-06-12 08:45:30.687 [debug] <0.508.0> Supervisor {<0.508.0>,rabbit_amqqueue_sup} started rabbit_prequeue:start_link({amqqueue,{resource,<<"/">>,queue,<<"q1">>},true,false,none,[],<0.509.0>,[],[],[],undefined,undefined,...}, recovery, <0.507.0>) at pid <0.509.0>
2020-06-12 08:45:30.687 [debug] <0.511.0> Supervisor {<0.511.0>,rabbit_amqqueue_sup} started rabbit_prequeue:start_link({amqqueue,{resource,<<"/">>,queue,<<"q4">>},true,false,none,[],<0.512.0>,[],[],[],undefined,undefined,...}, recovery, <0.510.0>) at pid <0.512.0>
2020-06-12 08:45:30.687 [debug] <0.514.0> Supervisor {<0.514.0>,rabbit_amqqueue_sup} started rabbit_prequeue:start_link({amqqueue,{resource,<<"/">>,queue,<<"q3">>},true,false,none,[],<0.515.0>,[],[],[],undefined,undefined,...}, recovery, <0.513.0>) at pid <0.515.0>
2020-06-12 08:45:30.688 [debug] <0.517.0> Supervisor {<0.517.0>,rabbit_amqqueue_sup} started rabbit_prequeue:start_link({amqqueue,{resource,<<"/">>,queue,<<"q2">>},true,false,none,[],<0.518.0>,[],[],[],undefined,undefined,...}, recovery, <0.516.0>) at pid <0.518.0>
2020-06-12 08:45:30.694 [warning] <0.531.0> Could not find exchange type x-consistent-hash.
2020-06-12 08:45:30.694 [warning] <0.491.0> Could not find exchange type x-consistent-hash.
2020-06-12 08:45:30.694 [warning] <0.431.0> Could not find exchange type x-consistent-hash.
2020-06-12 08:45:30.694 [warning] <0.432.0> Could not find exchange type x-consistent-hash.
2020-06-12 08:45:30.694 [warning] <0.433.0> Could not find exchange type x-consistent-hash.
2020-06-12 08:45:30.694 [warning] <0.434.0> Could not find exchange type x-consistent-hash.
...
2020-06-12 08:45:30.700 [debug] <0.566.0> == Postlaunch phase ==
2020-06-12 08:45:30.700 [debug] <0.566.0>
2020-06-12 08:45:30.700 [debug] <0.566.0> == Plugins ==
2020-06-12 08:45:30.700 [debug] <0.566.0> Setting plugins up
This means that consistent hashing ring is not repopulated for durable consistent hashing exchanges, and such exchanges do not route any published messages as a result.