hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 侯松 <housong...@taobao.com>
Subject A possible bug in unit test: TestDFSShell.testPut()
Date Wed, 12 Oct 2011 08:39:29 GMT
Hi all,

Recently I am rewriting testcases of Hadoop, and I’ve just found a possible bug in TestDFSShell.testPut().

testPut() tries to copy a file from local to a destination “dst” in HDFS, and uses a SecurityManager
to capture this action. The new SecurityManager filters out this copy action from all actions
it receives , and starts a second thread to copy a second file to the same destination “dst”
in HDFS. The main thread sleeps 5 seconds immediately after. I think the original purpose
is that, the copy from the main thread should succeed, and the second copy from the new thread
should fail because the “dst” is being written. My guess can be confirmed by the asserts
around these codes.

However, the filter in the new SecurityManager is not right. It tries to find "FileUtil.copyContent",
but these is no method called copyContent in FileUtil, and therefore the second thread is
never started. Although the asserts always succeed, this code is not able to find bugs in
this area.

I also debugged it, and I can never hit the break points in the second copy thread. Even though
I changed the filter from "FileUtil.copyContent" to "FileUtil.copy" and successfully started
the second thread, the second thread succeeds before the main thread resumes, which is the
opposite of the logic.

Any of you have any ideas about this issue?

Thanks a lot!

Hou Song


This email (including any attachments) is confidential and may be legally privileged. If you
received this email in error, please delete it immediately and do not copy it or use it for
any purpose or disclose its contents to any other person. Thank you.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message