Search code examples
activemq-artemis

Large Message default size


In ActiveMQ Artemis, the default size for large messages on both core and AMQP protocols is set to 100KB. Could someone explain the rationale behind choosing this default value?


Solution

  • Large message support was implemented in part to deal with the fact that the journal-buffer-size (which defaults to 490KiB) is not infinite and buffer sizes, like most things, need to be tuned to balance both performance and reliability. Any message larger than the journal-buffer-size wouldn't fit so "large message" support was implemented to deal with such messages. Therefore, the main constraint on the default large message size is that it needed to be less than the default journal buffer size. Aside from that I don't believe there were any meaningful constraints. It's worth noting that memory was certainly less plentiful when it was implemented over a decade ago now.