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:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]