So finally i Could determine What is going on
/2018/week1/abc
/2018/week2/abc
/2018/week3/abc
/2018/week1/xyz
/2018/week2/xyz
/2018/week3/xyz
Notice the same file names across different weeks. And then each of these files were being written to HDFS using the DFSClient. So essentially multiple mappers were trying to write the "same file"(observe filename abc, xyz) even though the files were actually different. As the client has to acquire a lease before writing the file and as the client writing the first of the "abc" file was not releasing the lease while during the writing process, the other client trying to write the other "abc" (lets say of the week2) was throwing the LeaseExpiredException with the Lease Mismatch Message.
But this still does not explain why the client which first acquired the lease for the write did not succeed. I mean i would expect in such a case that the first writers of every such files to succeed.No idea
This type of exception would cause job to fail and hence none (may be some) of the file would be copied. In this case, adding the exact command which you executed to do the distcp along with easy representation of the file system will help.
On High level
When we load the blocks and multiple processes is running there is something
Job1 process one block it will take lease ,Another client will also take lease and throws this exception.
Comments
Post a Comment