elek commented on a change in pull request #1451: URL: https://github.com/apache/hadoop-ozone/pull/1451#discussion_r502358863
########## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java ########## @@ -919,12 +920,32 @@ private boolean isKeyEmpty(OmKeyInfo keyInfo) { // underlying table using an iterator. That automatically creates a // snapshot of the data, so we don't need these locks at a higher level // when we iterate. + + startKey = normalizeListKeyPath(startKey); + keyPrefix = normalizeListKeyPath(keyPrefix); + List<OmKeyInfo> keyList = metadataManager.listKeys(volumeName, bucketName, startKey, keyPrefix, maxKeys); refreshPipeline(keyList); return keyList; } + private String normalizeListKeyPath(String keyPath) { + + String normalizeKeyPath = keyPath; + if (enableFileSystemPaths) { + // For empty strings do nothing. + if (StringUtils.isBlank(keyPath)) { Review comment: BTW (just a discussion not a code review comment): it can be useful to differentiate between normalization (removing/resolving `..`, `//`) and handling closing `/`. My impression is that we need different rules for them. This is a good example here: you need the first ("normalization") but not the second. (Maybe two different method?) ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: ozone-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: ozone-issues-h...@hadoop.apache.org