Closed JiZhihan closed 7 months ago
Objects in the live queue might be in the TLR_CLAIMED state. We cannot claim those. To get blocking behavior out of the queue, it must be empty. So we temporarily put the TLR_CLAIMED objects in the diregardPile. If we block on the live queue for a 100 millisecond wait quantum, without getting a useable object, then we refill the live queue with our disregarded objects and check them again. The 100 milliseconds is not tunable, unfortunately.
Thank you for your answer
How can I prevent the disregardPile queue from growing longer over time? After the service starts for a period of time, the length of disregardPile will increase, and the number of live objects will decrease, causing a shortage of objects in the pool.
What is the reason for this, and I don't understand the significance of the disregardPile queue.