[ https://issues.apache.org/jira/browse/HDFS-17812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18009434#comment-18009434 ]
ASF GitHub Bot commented on HDFS-17812: --------------------------------------- kokonguyen191 opened a new pull request, #7826: URL: https://github.com/apache/hadoop/pull/7826 ### Description of PR 1. BlockIteratorImpl#getSubdirEntries sorts by strings, meaning subdir29 comes before subdir4, which can result in a bigger block id being listed before a smaller block id 2. If block cleanup happens before state.curEntry is reset to null, stale data can carry over into the next loop 3. Search for a bigger ID than the range in nextSorted(entries, state.curEntry) -> null -> subdir is skipped. Usually happens during DiskBalancer operations. ### How was this patch tested? UT > BlockIteratorImpl can miss blocks under certain conditions > ---------------------------------------------------------- > > Key: HDFS-17812 > URL: https://issues.apache.org/jira/browse/HDFS-17812 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Felix N > Assignee: Felix N > Priority: Minor > > # BlockIteratorImpl#getSubdirEntries sorts by strings, meaning subdir20 comes > before subdir4, which can result in a bigger block id being listed before a > smaller block id > # If block cleanup happens before state.curEntry is reset to null, stale > data can carry over into the next loop > # Search for a bigger ID than the range in nextSorted(entries, > state.curEntry) -> null -> subdir is skipped. > Usually happens during DiskBalancer operations. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org