Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.1.0, 0.1.1, 0.2.0, 0.2.1, 0.3.0, 0.3.1, 0.3.2, 0.4.0, 0.5.0
-
None
-
None
Description
I was trying to create a deep hierarchy of directories using DFS mkdirs().
When the path to the leaf directory became long (~20000) DFS was still able to create
directories with these names, but UTF8 started truncating long strings resulting in
incorrect logging of namespace edits. That later crashed the namenode during restart,
when it was trying to reproduce file creation logged in the edits file with truncated names.
UTF8 is deprecated now so we will have to replace it with Text.
With UTF8 we should enforce a pathname limit of 0xffff/3 = 21845
With Text it is going to be larger. Not sure what the exact number is.