Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dead-lettering from a QQ fails when upgrading from 4.0 to main #13189

Open
mkuratczyk opened this issue Jan 31, 2025 · 0 comments
Open

Dead-lettering from a QQ fails when upgrading from 4.0 to main #13189

mkuratczyk opened this issue Jan 31, 2025 · 0 comments
Assignees
Labels

Comments

@mkuratczyk
Copy link
Contributor

mkuratczyk commented Jan 31, 2025

Describe the bug

NOTE: this issue is only applicable to unreleased version of RabbitMQ (upgrading to an alpha version of RabbitMQ 4.1)

When upgrading from 4.0.5 with a QQ that has a DLQ configured and receives messages with TTL set (which are correctly dead-lettered on 4.0.5), when the first node in the cluster is upgraded to main, the QQ crashes:

  initial call: ra_server_proc:init/1
  pid: <0.2357.0>
  registered_name: '%2F_publish_only_ttl'
  exception error: no function clause matching lists:zip("娵",[],fail) (lists.erl, line 678)
    in function  rabbit_fifo_dlx:'-discard/4-fun-2-'/7 (rabbit_fifo_dlx.erl, line 161)
    in call from ra_server_proc:handle_effect/5 (src/ra_server_proc.erl, line 1415)
    in call from lists:foldl_1/3 (lists.erl, line 2151)
    in call from ra_server_proc:handle_effects/5 (src/ra_server_proc.erl, line 1323)
    in call from ra_server_proc:follower/3 (src/ra_server_proc.erl, line 843)
    in call from gen_statem:loop_state_callback/11 (gen_statem.erl, line 3735)

Reproduction steps

cd v4.0.x
make start-cluster
rabbitmqadmin declare policy name=ttl pattern='qq-.*' definition='{"dead-letter-exchange":"","dead-letter-routing-key":"ttl_dlq"}' apply-to=queues
perf-test -u ttl_dlq -qq -C 1 -c 1 # declare the DLQ
perf-test -x 100 -y 0 -qq -c 1 -qp qq-%d -qpf 1 -qpt 100 --message-properties expiration=10000 -qa x-queue-leader-locator=balanced

cd ../main
make restart-cluster

Expected behavior

no crashes

Additional context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants