Hi
I am following the Siren guide on integrating a senzing application:
https://docs.support.siren.io/siren-er/2.0.0/siren-er/siren-er-getting-started.html
At thepoint where the siren streaming service needs to connect to rabbit mq it fails with the following error in the logs:
2025-01-28 04:12:13,631 Received remote Channel.Close (404): "NOT_FOUND - no exchange 'senzing-rabbitmq-exchange' in vhost '/'" on <Channel number=1 OPEN conn=<SelectConnection OPEN transport=<pika.adapters.utils.io_services_utils._AsyncPlaintextTra
nsport object at 0x7ff2f79899a0> params=<ConnectionParameters host=192.168.0.4 port=5672 virtual_host=/ ssl=False>>>
2025-01-28 04:12:13,631 senzing-50010698E Program terminated with error.
2025-01-28 04:12:13,636 senzing-50010880E Unspecific error when creating RabbitMQ channel. Error: (404, "NOT_FOUND - no exchange 'senzing-rabbitmq-exchange' in vhost '/'")
2025-01-28 04:12:13,636 senzing-50010698E Program terminated with error.
2025-01-28 04:12:13,636 Received remote Channel.Close (404): "NOT_FOUND - no exchange 'senzing-rabbitmq-exchange' in vhost '/'" on <Channel number=1 OPEN conn=<SelectConnection OPEN transport=<pika.adapters.utils.io_services_utils._AsyncPlaintextTra
nsport object at 0x7ff2f799f220> params=<ConnectionParameters host=192.168.0.4 port=5672 virtual_host=/ ssl=False>>>
2025-01-28 04:12:13,637 senzing-50010880E Unspecific error when creating RabbitMQ channel. Error: (404, "NOT_FOUND - no exchange 'senzing-rabbitmq-exchange' in vhost '/'")
2025-01-28 04:12:13,638 Received remote Channel.Close (404): "NOT_FOUND - no exchange 'senzing-rabbitmq-exchange' in vhost '/'" on <Channel number=1 OPEN conn=<SelectConnection OPEN transport=<pika.adapters.utils.io_services_utils._AsyncPlaintextTra
nsport object at 0x7ff2f799f610> params=<ConnectionParameters host=192.168.0.4 port=5672 virtual_host=/ ssl=False>>>
2025-01-28 04:12:13,638 senzing-50010698E Program terminated with error.
2025-01-28 04:12:13,639 senzing-50010880E Unspecific error when creating RabbitMQ channel. Error: (404, "NOT_FOUND - no exchange 'senzing-rabbitmq-exchange' in vhost '/'")
2025-01-28 04:12:13,639 senzing-50010698E Program terminated with error.
2025-01-28 04:12:13,640 senzing-50010298I Exit {"azure_failure_connection_string": null, "azure_failure_queue_name": null, "azure_info_connection_string": null, "azure_info_queue_name": null, "azure_queue_connection_string": null, "azure_queue_name"
: null, "config_path": "/etc/opt/senzing", "configuration_check_frequency_in_seconds": 60, "debug": false, "delay_in_seconds": 0, "delay_randomized": false, "elapsed_time": 4.84815526008606, "entity_type": "GENERIC", "exit_on_empty_queue": false, "e
xit_on_exception": true, "expiration_warning_in_days": 30, "input_url": null, "kafka_bootstrap_server": "localhost:9092", "kafka_configuration": null, "kafka_failure_bootstrap_server": null, "kafka_failure_configuration": null, "kafka_failure_topic"
: "senzing-kafka-failure-topic", "kafka_group": "senzing-kafka-group", "kafka_info_bootstrap_server": null, "kafka_info_configuration": null, "kafka_info_topic": "senzing-kafka-info-topic", "kafka_topic": "senzing-kafka-topic", "last_configuration_c
heck": 1738037533.4984322, "ld_library_path": "/opt/senzing/g2/lib:/opt/senzing/g2/lib/debian:/opt/IBM/db2/clidriver/lib", "license_base64_encoded": null, "log_level_parameter": "info", "log_license_period_in_seconds": 86400, "monitoring_check_frequ
ency_in_seconds": 20, "monitoring_period_in_seconds": 60, "prime_engine": false, "program_updated": "2022-07-29", "program_version": "2.0.2", "pstack_pid": "1", "python_path": "/opt/senzing/g2/sdk/python", "queue_maxsize": 10, "rabbitmq_exchange": "
senzing-rabbitmq-exchange", "rabbitmq_failure_exchange": "senzing-rabbitmq-exchange", "rabbitmq_failure_host": "192.168.0.4", "rabbitmq_failure_port": "5672", "rabbitmq_failure_queue": "senzing-rabbitmq-failure-queue", "rabbitmq_failure_routing_key"
: "senzing.failure", "rabbitmq_failure_username": "user", "rabbitmq_failure_virtual_host": "/", "rabbitmq_heartbeat_in_seconds": 10000, "rabbitmq_host": "192.168.0.4", "rabbitmq_info_exchange": "senzing-rabbitmq-exchange", "rabbitmq_info_host": "192
.168.0.4", "rabbitmq_info_port": "5672", "rabbitmq_info_queue": "senzing-rabbitmq-info-queue", "rabbitmq_info_routing_key": "senzing.info", "rabbitmq_info_username": "user", "rabbitmq_info_virtual_host": "/", "rabbitmq_port": "5672", "rabbitmq_prefe
tch_count": 50, "rabbitmq_queue": "senzing-rabbitmq-queue", "rabbitmq_reconnect_delay_in_seconds": 60, "rabbitmq_reconnect_number_of_retries": 10, "rabbitmq_use_existing_entities": true, "rabbitmq_username": "user", "rabbitmq_virtual_host": "/", "re
source_path": "/opt/senzing/g2/resources", "run_as_gid": 0, "run_as_uid": 1001, "senzing_sdk_version_major": 3, "skip_database_performance_test": false, "skip_governor": false, "skip_info_filter": false, "sleep_time_in_seconds": 0, "sqs_failure_queu
e_url": null, "sqs_info_queue_delay_seconds": 10, "sqs_info_queue_url": null, "sqs_queue_url": null, "sqs_wait_time_seconds": 20, "start_time": 1738037528.7920847, "stop_time": 1738037533.64024, "stream_loader_directive_name": "senzingStreamLoader",
"subcommand": "rabbitmq-withinfo", "support_path": "/opt/senzing/data", "threads_per_process": 4}
On the rabbit mq side the logs show that the stream-loader is connecting successfully to rabbitmq, authenticating and accessing the vhost:
2025-01-28 04:13:32.075380+00:00 [info] <0.3295.0> accepting AMQP connection <0.3295.0> (172.17.0.1:41178 -> 172.17.0.4:5672)
2025-01-28 04:13:32.076483+00:00 [info] <0.3304.0> accepting AMQP connection <0.3304.0> (172.17.0.1:41208 -> 172.17.0.4:5672)
2025-01-28 04:13:32.082540+00:00 [info] <0.3301.0> connection <0.3301.0> (172.17.0.1:41194 -> 172.17.0.4:5672): user 'user' authenticated and granted access to vhost '/'
2025-01-28 04:13:32.088008+00:00 [info] <0.3295.0> connection <0.3295.0> (172.17.0.1:41178 -> 172.17.0.4:5672): user 'user' authenticated and granted access to vhost '/'
2025-01-28 04:13:32.089141+00:00 [info] <0.3298.0> connection <0.3298.0> (172.17.0.1:41182 -> 172.17.0.4:5672): user 'user' authenticated and granted access to vhost '/'
2025-01-28 04:13:32.094069+00:00 [info] <0.3304.0> connection <0.3304.0> (172.17.0.1:41208 -> 172.17.0.4:5672): user 'user' authenticated and granted access to vhost '/'
2025-01-28 04:13:32.095652+00:00 [erro] <0.3326.0> Channel error on connection <0.3298.0> (172.17.0.1:41182 -> 172.17.0.4:5672, vhost: '/', user: 'user'), channel 1:
2025-01-28 04:13:32.095652+00:00 [erro] <0.3326.0> operation exchange.declare caused a channel exception not_found: no exchange 'senzing-rabbitmq-exchange' in vhost '/'
2025-01-28 04:13:32.100180+00:00 [erro] <0.3334.0> Channel error on connection <0.3295.0> (172.17.0.1:41178 -> 172.17.0.4:5672, vhost: '/', user: 'user'), channel 1:
2025-01-28 04:13:32.100180+00:00 [erro] <0.3334.0> operation exchange.declare caused a channel exception not_found: no exchange 'senzing-rabbitmq-exchange' in vhost '/'
2025-01-28 04:13:32.101515+00:00 [erro] <0.3339.0> Channel error on connection <0.3301.0> (172.17.0.1:41194 -> 172.17.0.4:5672, vhost: '/', user: 'user'), channel 1:
2025-01-28 04:13:32.101515+00:00 [erro] <0.3339.0> operation exchange.declare caused a channel exception not_found: no exchange 'senzing-rabbitmq-exchange' in vhost '/'
2025-01-28 04:13:32.106220+00:00 [erro] <0.3348.0> Channel error on connection <0.3304.0> (172.17.0.1:41208 -> 172.17.0.4:5672, vhost: '/', user: 'user'), channel 1:
2025-01-28 04:13:32.106220+00:00 [erro] <0.3348.0> operation exchange.declare caused a channel exception not_found: no exchange 'senzing-rabbitmq-exchange' in vhost '/'
2025-01-28 04:13:52.091614+00:00 [warn] <0.3298.0> closing AMQP connection <0.3298.0> (172.17.0.1:41182 -> 172.17.0.4:5672, vhost: '/', user: 'user'):
2025-01-28 04:13:52.091614+00:00 [warn] <0.3298.0> client unexpectedly closed TCP connection
2025-01-28 04:13:52.091987+00:00 [warn] <0.3304.0> closing AMQP connection <0.3304.0> (172.17.0.1:41208 -> 172.17.0.4:5672, vhost: '/', user: 'user'):
2025-01-28 04:13:52.091987+00:00 [warn] <0.3304.0> client unexpectedly closed TCP connection
2025-01-28 04:13:52.092351+00:00 [warn] <0.3295.0> closing AMQP connection <0.3295.0> (172.17.0.1:41178 -> 172.17.0.4:5672, vhost: '/', user: 'user'):
2025-01-28 04:13:52.092351+00:00 [warn] <0.3295.0> client unexpectedly closed TCP connection
2025-01-28 04:13:52.092724+00:00 [warn] <0.3301.0> closing AMQP connection <0.3301.0> (172.17.0.1:41194 -> 172.17.0.4:5672, vhost: '/', user: 'user'):
2025-01-28 04:13:52.092724+00:00 [warn] <0.3301.0> client unexpectedly closed TCP connection
^Ccontext canceled
Is there a step I might have missed out, or is this an issue with the installation steps/documentation?
From a review of the RabbitMQ installation json I see the “exchange” mentioned appears in the configuration ( senzing-rabbitmq-exchange). The rabbit mq deploy seems successful. I’m puzzled as to why the streaming service doesn’t seem to pick it up.
Could you suggest a way to troubleshooting this in more detail?
Thanks,
Traiano