Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
QueueStore memory-limit seems ignored #11682
I made a test project to try out how the
I point to the
I will happily provide more information if needed.
thanks for reporting this. Having a project with a reproducer is always a massive help!
I think the instances of
The queue has all an entry per each item stored, but they do not hold a reference to your object. I believe the entries are stored to preserve ordering and they are fixed in size - regardless of your object size. See this:
You can see 5 entries (=your configured memory limit) retain 264 bytes each - because they also retain your domain object (
I am closing the ticket for now, feel free to re-open it for further clarification.
Thanks @jerrinot, does this means, all the headers will be stored in every Node's Queue (as the Queue is not a partitioned implementation of the Map)? So If I would like to store a few million entries in my Queue (with a much lower memory-limit), I could still potentially overflow memory in some of my Nodes?
The headers will be stored on
You are right the queue is not partitioned. Instead a queue name is used to select a member owning the queue. All entries (envelopes) from this queue will be stored on the same member.
The envelope contains the item ID. The very same ID is used when storing an item into a queue store. When you call