Java client 5.4.3 frame_max default value on server side #729
-
After upgrade we started having such issue Seems like in the new code we started negotiating for the value to be used basing on the frameMax values from client and server sides. On client side in ConnectionFactory, I found that we have a default value set to zero which means unlimited. However, on server we never set a value, and I couldn't find what is default value there. Does anyone know if there is default value on the server side for this property? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 17 replies
-
You are leaving out critically important information: what versions have you upgraded from. The default value is right in the error message: We recommend not touching that value on any side or at least using |
Beta Was this translation helpful? Give feedback.
-
Transferred this discussion to the Java client repo as it seems more appropriate here at this point. |
Beta Was this translation helpful? Give feedback.
-
@OlehD we are running in circles. You don't need to override this value. At all. Even if your messages are larger than 128 kiB in size. It's an optional setting, just unset it everywhere and let RabbitMQ and client use the default. If your messages are into 10s of megabytes, and you transfer them using RabbitMQ, then it will technically work but you are doing it wrong. Every part of storage was not designed with large messages in mind, although streams likely will handle them better than any of the queue types. Put them in a blob store and pass their IDs or URIs around. We won't change the logic to allow the client to override server value. That's a terrible idea and I'm sure you can guess why. |
Beta Was this translation helpful? Give feedback.
@OlehD we are running in circles. You don't need to override this value. At all. Even if your messages are larger than 128 kiB in size. It's an optional setting, just unset it everywhere and let RabbitMQ and client use the default.
If your messages are into 10s of megabytes, and you transfer them using RabbitMQ, then it will technically work but you are doing it wrong. Every part of storage was not designed with large messages in mind, although streams likely will handle them better than any of the queue types. Put them in a blob store and pass their IDs or URIs around.
We won't change the logic to allow the client to override server value. That's a terrible idea and I'm sure you can gues…