[ https://issues.apache.org/jira/browse/HDFS-16798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xiaoqiao He resolved HDFS-16798. -------------------------------- Fix Version/s: 3.4.0 Hadoop Flags: Reviewed Resolution: Fixed > SerialNumberMap should decrease current counter if the item exist > ----------------------------------------------------------------- > > Key: HDFS-16798 > URL: https://issues.apache.org/jira/browse/HDFS-16798 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: ZanderXu > Assignee: ZanderXu > Priority: Major > Labels: pull-request-available > Fix For: 3.4.0 > > > During looking into some code related XATTR, I found there is a bug inĀ > SerialNumberMap, as bellow: > {code:java} > public int get(T t) { > if (t == null) { > return 0; > } > Integer sn = t2i.get(t); > if (sn == null) { > sn = current.getAndIncrement(); > if (sn > max) { > current.getAndDecrement(); > throw new IllegalStateException(name + ": serial number map is full"); > } > Integer old = t2i.putIfAbsent(t, sn); > if (old != null) { > // here: if the old is not null, we should decrease the current value. > return old; > } > i2t.put(sn, t); > } > return sn; > } {code} > This bug will only cause that the capacity of serialNumberMap is less than > expected, no other impact. -- 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