Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.4.0
-
Reviewed
Description
The result of `getListing` in NameNode are sorted based on `byte[]`, while the Router side is based on `String`. If there are special characters in path, the sorting result of the router will be inconsistent with the namenode. This may result in duplicate `getListing` results obtained by the client due to wrong `startAfter` parameter.
For exemple, namenode returns [path1, path2, path3] for a `getListing` request, while router returns [path1, path3, path2] to client. Then client will pass `path2` as `startAfter` at the next iteration, so it will receive `path3` again.
We need to fix the Router code so that the order of its result is the same as NameNode.
Attachments
Issue Links
- links to