When a symlink is first created, it get added to EditLogs. When namenode is restarted, it reads from this editlog and represents a symlink correctly and saves this information to its image. If the namenode is restarted again, it reads its from this FSImage, but thinks that a symlink is a directory. This is because it uses "Block blocks" to determine if an INode is a directory, a file, or symlink. Since both a directory and a symlink has blocks as null, it thinks that a symlink is a directory.
|Status||Open [ 1 ]||Patch Available [ 10002 ]|
|Fix Version/s||0.22.0 [ 12314241 ]|
|Fix Version/s||0.23.0 [ 12315571 ]|
|Affects Version/s||0.23.0 [ 12315571 ]|
|Resolution||Fixed [ 1 ]|
|Status||Patch Available [ 10002 ]||Resolved [ 5 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|