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.

本电邮(包括任何附件)可能含有机密资料并受法律保护。如您不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其他用途、或透露本邮件之内容。谢谢。
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message