Thanks for the comments.
I don't agree with the intent of this issue. Adding a new flag to turn on/off the writing of checksums sounds reasonable – but disabling the writing of checksums based on whether you asked to verify it on the way out of HDFS seems like an unrelated choice.
Agree . As you said, Using setVerifyChecksum api to control the checksum outs may not be correct choice.
To maintain the consistancy, we can provide one API on FileSystem, i.e, fs.ignoreCRC().
Internally this API should take care of setting the flag setVerifyChecksum to false and also should select the non CheckSumFileSystem as local file system. I think, this should be fine.
Initially we thought like, why we need to create the checksum out when user don't want to do any checksum related verification. this may be little bit confusion when we look at the api setVerifyChecksum. I will update the issue title as well.
Please give your opinion also.
As i know this particular behavior already available with command line.
This issue mainly for selecting the local side file system based on the flag. Copying the checksum outs will be depending on the fileSystem which it selects at that point.
This is handled in command line options by providing the option 'ignoreCrc' this flag also will set the setVerifyChecksum to false on FileSystem.