[
https://issues.apache.org/jira/browse/HDDS-17483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-17483:
----------------------------------
Labels: pull-request-available (was: )
> 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
> Priority: Major
> Labels: pull-request-available
>
> 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]