ZanderXu created HDFS-16798: ------------------------------- Summary: SerialNumberMap should decrease the current if the old already exist Key: HDFS-16798 URL: https://issues.apache.org/jira/browse/HDFS-16798 Project: Hadoop HDFS Issue Type: Bug Reporter: ZanderXu Assignee: ZanderXu
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 message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org