[rabbitmq-discuss] Shovel 3.1.0 - terminates on unknown_host error instead of seeking another host

Laing, Michael P. Michael.Laing at nytimes.com
Fri May 10 13:56:55 BST 2013


Here's the config that is failing – there are a lot of substitution parameters as you can see, but the hostnames are explicit.

[
    {rabbitmq_management,[
        {load_definitions, "/etc/rabbitmq/rabbitmq_defs.json"}
    ]},
    {rabbitmq_shovel, [
        {shovels, [
            {feeds_in, [
                {sources, [
                    {brokers, [
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_a/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_b/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_c/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_d/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_e/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_f/<META:product>.fabrik<META:environment_domain>.nytimes.com"
                    ]},
                    {declarations, [
                        {'queue.declare', [
                            {queue, <<"ha.<FABRIK:info.hostname>-<META:collection>-PULL">>},
                            {arguments, [{<<"x-expires">>, long, 3600000}]}
                        ]},
                        {'queue.bind', [
                            {exchange, <<"<META:collection>">>},
                            {queue, <<"ha.<FABRIK:info.hostname>-<META:collection>-PULL">>},
                            {routing_key, <<"#">>}
                        ]}
                    ]}
                ]},
                {destinations, [
                    {broker, "amqp://<META:amqp_login>:<META:amqp_password>@/<META:product>.fabrik<META:environment_domain>.nytimes.com"}
                ]},
                {queue, <<"ha.<FABRIK:info.hostname>-<META:collection>-PULL">>}
            ]},
            {postoffice_in, [
                {sources, [
                    {brokers, [
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_a/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_b/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_c/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_d/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_e/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_f/<META:product>.fabrik<META:environment_domain>.nytimes.com"
                    ]},
                    {declarations, [
                        {'queue.declare', [
                            {queue, <<"ha.<FABRIK:info.hostname>-postoffice-PULL">>},
                            {arguments, [{<<"x-expires">>, long, 3600000}]}
                        ]},
                        {'queue.bind', [
                            {exchange, <<"postoffice">>},
                            {queue, <<"ha.<FABRIK:info.hostname>-postoffice-PULL">>},
                            {routing_key, <<"*.*.*.*.*.*.<OPTION:region>.<META:product>.*.<AWS:INSTANCE_ID>.*">>}
                        ]}
                    ]}
                ]},
                {destinations, [
                    {broker, "amqp://<META:amqp_login>:<META:amqp_password>@/<META:product>.fabrik<META:environment_domain>.nytimes.com"}
                ]},
                {queue, <<"ha.<FABRIK:info.hostname>-postoffice-PULL">>}
            ]},
            {postoffice_out, [
                {sources, [
                    {broker, "amqp://<META:amqp_login>:<META:amqp_password>@/<META:product>.fabrik<META:environment_domain>.nytimes.com"}
                ]},
                {destinations, [
                    {brokers, [
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_a/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_b/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_c/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_d/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_e/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_f/<META:product>.fabrik<META:environment_domain>.nytimes.com"
                    ]}
                ]},
                {queue, <<"postoffice-PUSH">>}
            ]},
            {messagebus_in, [
                {sources, [
                    {brokers, [
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_a/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_b/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_c/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_d/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_e/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_f/<META:product>.fabrik<META:environment_domain>.nytimes.com"
                    ]},
                    {declarations, [
                        {'queue.declare', [
                            {queue, <<"ha.<FABRIK:info.hostname>-messagebus-PULL">>},
                            {arguments, [{<<"x-expires">>, long, 3600000}]}
                        ]},
                        {'queue.bind', [
                            {exchange, <<"messagebus">>},
                            {queue, <<"ha.<FABRIK:info.hostname>-messagebus-PULL">>},
                            {routing_key, <<"#">>}
                        ]}
                    ]}
                ]},
                {destinations, [
                    {broker, "amqp://<META:amqp_login>:<META:amqp_password>@/<META:product>.fabrik<META:environment_domain>.nytimes.com"}
                ]},
                {queue, <<"ha.<FABRIK:info.hostname>-messagebus-PULL">>}
            ]},
            {messagebus_out, [
                {sources, [
                    {broker, "amqp://<META:amqp_login>:<META:amqp_password>@/<META:product>.fabrik<META:environment_domain>.nytimes.com"}
                ]},
                {destinations, [
                    {brokers, [
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_a/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_b/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_c/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_d/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_e/<META:product>.fabrik<META:environment_domain>.nytimes.com",
                        "amqp://<META:amqp_login>:<META:amqp_password>@fabrik_br_f/<META:product>.fabrik<META:environment_domain>.nytimes.com"
                    ]}
                ]},
                {queue, <<"messagebus-PUSH">>}
            ]}
        ]}
    ]}
].


From: Tim Watson <tim at rabbitmq.com<mailto:tim at rabbitmq.com>>
Reply-To: rabbitmq <rabbitmq-discuss at lists.rabbitmq.com<mailto:rabbitmq-discuss at lists.rabbitmq.com>>
Date: Friday, May 10, 2013 8:39 AM
To: rabbitmq <rabbitmq-discuss at lists.rabbitmq.com<mailto:rabbitmq-discuss at lists.rabbitmq.com>>
Subject: Re: [rabbitmq-discuss] Shovel 3.1.0 - terminates on unknown_host error instead of seeking another host

Hi,

On 10 May 2013, at 13:29, Laing, Michael P. wrote:

Previously the shovel would always find one of the actual instances, or remain in the 'starting' state.

Now the shovel terminates if a host is not found.

We can smarten up our configuration but that doesn't address the real problem: if a host has failed, we want the shovel to always seek another host and not terminate.


Can you post your configuration (with scrubbed IP addresses if needed) please? This shouldn't happen, viz the shovel should attempt to reconnect. This could be a recurrence of http://rabbitmq.1065348.n5.nabble.com/Shovels-not-reconnecting-with-RabbitMQ-3-1-0-td26372.html, but I'd like to take a peek at your config and make sure. We've fixed that bug (see the nightly build) and the fix will out in 3.1.1 shortly (ish).

Cheers,
Tim

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130510/598fe842/attachment.htm>


More information about the rabbitmq-discuss mailing list