Shuo Huang created HDDS-17483:
---------------------------------
Summary: ContainerReportQueue rejects replacement FCR when full
Key: HDDS-17483
URL: https://issues.apache.org/jira/browse/HDDS-17483
Project: Apache Ozone
Issue Type: Improvement
Reporter: Shuo Huang
Assignee: Shuo Huang
When ContainerReportQueue is full, a new FCR is rejected before checking
whether an older FCR from the same datanode can be replaced.
Replacing the old FCR would not increase the queue size. Instead, the old
report remains queued and add() throws IllegalStateException from the
container report event path.
This can be reproduced with a queue of size 1:
{code:java}
ContainerReportQueue queue = new ContainerReportQueue(1);
queue.add(oldReport);
queue.add(newReport); // Same datanode as oldReport
{code}
The second add fails with:
{noformat}
java.lang.IllegalStateException: capacity not available
at ContainerReportQueue.add(ContainerReportQueue.java:184)
{noformat}
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]