1. Is there any size limitation on RabbitMQ side, that it can only support that much definitions only?
2. Is there any specific documentation available on RabbitMQ site for the same? There should be some specific documentation available for this about the limit of the system.
3. If this is a defect then is there any plan or defect raised for the same and what are the future plan for fixing this issue?
4. Isn't there any multi-threading mechanism available that can process that much amount of data by paralleling the execution?
5. Is there any standard tool available which can logically break this definition file into chunks.
1. Is there any size limitation on RabbitMQ side, that it can only support that much definitions only?No, it depends on the performance characteristics of your environment. When you import an enormous number of definitions at once (as you are trying), RabbitMQ has to create many entries in its internal database, and synchronize those entries in your cluster, as well as start up things like vhosts, queues, etc.
2. Is there any specific documentation available on RabbitMQ site for the same? There should be some specific documentation available for this about the limit of the system.No, because it is unusual to try to import thousands of definitions at once.
3. If this is a defect then is there any plan or defect raised for the same and what are the future plan for fixing this issue?I have fixed the immediate problem you reported no match of right hand value {more,... (https://github.com/rabbitmq/rabbitmq-management/pull/740). To have seen this error, you must have tried to import the definitions using the management web interface, or some other tool that set the content-type to multipart/form-data. The rabbitmqadmin tool does not use this content-type value.I also provided the following instructions:
- Break up your definitions into a series of smaller imports
- Import while using application/json as the content-type. Using the rabbitmqadmin import command will use this content-type value.
4. Isn't there any multi-threading mechanism available that can process that much amount of data by paralleling the execution?If you're already overloading your system by importing a lot of data "multi-threading" isn't going to magically fix it.
5. Is there any standard tool available which can logically break this definition file into chunks.Yes, you can use something like jq from the command line. Every programming language can parse and write JSON as well.
<Kushagra>: Yes, I can understand that we can parse it very well, but as the structure is little complex and having dependencies, so I just wanted to ask if there is any possible way to divide the code into logical chunk by any tool plugin provided by RabbitMQ for the same. I can give a try from my end, if there is no such solution available as of now and if jq can simply help then I will check that as well.
Luke
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/56220546-5d54-4bcd-b530-7dfd8ac4f8de%40googlegroups.com.
Hi Luke,Thanks for providing your response on my queries.Please find my comments inline.If I will break the file into multiple file, then also processing time of 18000 vhost will remain as it is and which will still lead into a big maintenance window in case of Blue/Green upgrade as currently we are facing this as well. So, a possible solution of this problem will be a great help!! Looking forward for some possible way out from RabbitMQ community to resolve this issue.
On Wednesday, October 2, 2019 at 8:06:48 PM UTC+5:30, Luke Bakken wrote:1. Is there any size limitation on RabbitMQ side, that it can only support that much definitions only?No, it depends on the performance characteristics of your environment. When you import an enormous number of definitions at once (as you are trying), RabbitMQ has to create many entries in its internal database, and synchronize those entries in your cluster, as well as start up things like vhosts, queues, etc.<Kushagra>: Do you mean our environment specific configuration? I can understand that based on input data RabbitMQ has to perform certain operations at its side. I am sure RabbitMQ has published some performance stats as well regarding the increasing impact on the performance with the increasing definitions in a single file. So, do we have any data that indicate any performance stats from RabbitMQ side that shows how many cores and processors are required to process such kind of bulky files? What are the recommendation from RabbitMQ side in such cases. As every organization will be having heir specific use cases.
2. Is there any specific documentation available on RabbitMQ site for the same? There should be some specific documentation available for this about the limit of the system.No, because it is unusual to try to import thousands of definitions at once.<Kushagra> : This is our standard use case and this could be a problem that may arise by some other person in future as well.
3. If this is a defect then is there any plan or defect raised for the same and what are the future plan for fixing this issue?I have fixed the immediate problem you reported no match of right hand value {more,... (https://github.com/rabbitmq/rabbitmq-management/pull/740). To have seen this error, you must have tried to import the definitions using the management web interface, or some other tool that set the content-type to multipart/form-data. The rabbitmqadmin tool does not use this content-type value.I also provided the following instructions:
- Break up your definitions into a series of smaller imports
- Import while using application/json as the content-type. Using the rabbitmqadmin import command will use this content-type value.
<Kushagra>: Thanks for providing the fix, I will check by running it by setting content-type as application/json.
4. Isn't there any multi-threading mechanism available that can process that much amount of data by paralleling the execution?If you're already overloading your system by importing a lot of data "multi-threading" isn't going to magically fix it.<Kushagra>: Correct, so we are here saying that while importing the definitions RabbitMQ itself is fully occupying the system resources and hence multi-threading is not a possible option in this case?
5. Is there any standard tool available which can logically break this definition file into chunks.Yes, you can use something like jq from the command line. Every programming language can parse and write JSON as well.<Kushagra>: Yes, I can understand that we can parse it very well, but as the structure is little complex and having dependencies, so I just wanted to ask if there is any possible way to divide the code into logical chunk by any tool plugin provided by RabbitMQ for the same. I can give a try from my end, if there is no such solution available as of now and if jq can simply help then I will check that as well.Luke
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/1440a251-6456-4ea4-87dc-48fb20d2dcf2%40googlegroups.com.
Regarding: Crash for content-type to multipart/form-data,please let me know, if I need to upgarde it to latest version of RabbitMQ or I can patch your fix directly into my RabbitMQ cluster and can restart the system. If possible, then please let me know the step to patch the same.
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/76e85960-664a-4a90-ad26-7fdcf8ee6509%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/124770c5-de26-411c-b79b-b03ec5985d52%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/42c0edeb-cc36-4555-96e4-49585f8c39d4%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CALGrN%2B87LLc541tnmkLfBptr1v8o-i-_%2BXe0nSPEReq5aG-yyw%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CAGcLz6WX-pS9xYO1fZudk2Md-aB9_1SoZ04Yf4b%2BN6zgs0uNWQ%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CALGrN%2B_eAVmB1c5matnvyCuOShtb8BXhKH0q%2B%3D_UPtBJDzT6eg%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CAGcLz6XYgUoDc1jx-vdYyKDh2Ko2%2BdbtCyxY14TMq_9NdYL-cw%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CALGrN%2B-eN1%3D6YA2L44Yx%3DXOqjQWOQyN%2BFfU-bEx%3DxooHpw2sDA%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CAGcLz6U9%3DzT2omGf6w3U%2BbqAVGjRYJdP64O%3DDEOe7dhNkm-Shg%40mail.gmail.com.
Whatif we will upgrade our version from 3.7.17 to 3.7.20. Does that resolve all the issues that we are currently experiencing with current version of Rabbitmq.Or do you have any other suggestions on this