Lisheng Sun created HDFS-15161: ---------------------------------- Summary: When evictableMmapped or evictable size is zero, do not throw NoSuchElementException in ShortCircuitCache#close() Key: HDFS-15161 URL: https://issues.apache.org/jira/browse/HDFS-15161 Project: Hadoop HDFS Issue Type: Bug Reporter: Lisheng Sun Assignee: Lisheng Sun
detail see # HDFS-14541 # HDFS-14541 # HDFS-14541 {code:java} /** * Close the cache and free all associated resources. */ @Override public void close() { try { lock.lock(); if (closed) return; closed = true; LOG.info(this + ": closing"); maxNonMmappedEvictableLifespanMs = 0; maxEvictableMmapedSize = 0; // Close and join cacheCleaner thread. IOUtilsClient.cleanupWithLogger(LOG, cacheCleaner); // Purge all replicas. while (true) { Object eldestKey; try { eldestKey = evictable.firstKey(); } catch (NoSuchElementException e) { break; } purge((ShortCircuitReplica)evictable.get(eldestKey)); } while (true) { Object eldestKey; try { eldestKey = evictableMmapped.firstKey(); } catch (NoSuchElementException e) { break; } purge((ShortCircuitReplica)evictableMmapped.get(eldestKey)); } } finally { lock.unlock(); } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org