-
Notifications
You must be signed in to change notification settings - Fork 42
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
Receiving AmqpParseException: Read Any: Invalid type: 208 after upgrading to RabbitMQ 3.13.1 #371
Comments
Can you please elaborate more? |
It seems that the problem is during the decode some value from a map |
The .NET stream client is only reading from the streams. The source of data in the stream is a binding to an exchange. [The source of the data for the exchange is an exchange on another RabbitMQ cluster, copied by a shovel.] There was no problem in RabbitMQ 3.12.12. The only thing that changed was upgrading the RabbitMQ cluster. All streams started having the same problem. I haven't yet tried skipping messages or re-starting the client offset. |
Ok., so you publish messages with a AMQP Client, right? |
Yes, and the publisher didn't change. |
When I rewind the client starting point, it correctly receives messages that were published on the exchange before the RabbitMQ server was upgraded. All new messages after the upgrade have a problem. The These messages are copied into the exchange either copied by shovel or federation. When by federation, the error is slightly different:
The so when the message is copied by federation that this could be referring to an I captured a Wireshark trace of the connections to port At least currently, this is happening at offset It appears that the difference (breaking change) is that there is now a new message annotation
Alternatively, there is a message annotation called
This is probably a result of the 3.13 RabbitMQ instance receiving data from another cluster (still on 3.12) either by shovel or federation. Since the message annotation in AMQP 1.0 is a map, then the value of the map could be anything, including a list. The current client doesn't take this into account. |
Partial fixed by #372 |
Describe the bug
I upgraded a RabbitMQ cluster to 3.13.1 and my client using
RabbitMQ.Stream.Client
version1.8.2
started throwing exceptions:with the following stack trace:
Reproduction steps
Connect to a stream on RabbitMQ 3.13.1, where the data is bound to an exchange that is either shoveled or federated with another cluster that is providing the data on it's own exchange (3.12.x in this case). Clients are providing data to the exchange on the source cluster.
Expected behavior
Work correctly with new versions of RabbitMQ.
Additional context
I did not enable any new feature flags after upgrading. All feature flags were enabled in 3.12.12. I did turn on the configuration
classic_queue.default_version = 2
as part of the upgrade. (Tried again without this configuration, doesn't make a difference).The text was updated successfully, but these errors were encountered: