[
https://issues.apache.org/jira/browse/CASSANDRA-3101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13185296#comment-13185296
]
Jonathan Ellis commented on CASSANDRA-3101:
-------------------------------------------
bq. "cmd /c mklink /H" seems a much more clunky way to make a hard link, and I
think the logic is backwards: "fsutil hardlink create" is supported in all
Windows versions since Windows Server 2000, except XP
mklink does not require admin privileges, so that's the preferred method, but
it was introduced in Vista.
fsutil is present on XP+ so we use it as a fallback:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true
> Should check for errors when calling /bin/ln
> --------------------------------------------
>
> Key: CASSANDRA-3101
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3101
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.4
> Reporter: paul cannon
> Assignee: Vijay
> Priority: Minor
> Labels: lhf
> Fix For: 1.0.7
>
> Attachments: 0001-0001-throw-IOE-while-calling-bin-ln-v2.patch,
> 0001-3101-throw-IOE-while-calling-bin-ln-v3.patch,
> 0001-3101-throw-IOE-while-calling-bin-ln.patch
>
>
> It looks like cassandra.utils.CLibrary.createHardLinkWithExec() does not
> check for any errors in the execution of the hard-link-making utility. This
> could be bad if, for example, the user has put the snapshot directory on a
> different filesystem from the data directory. The hard linking would fail and
> the sstable snapshots would not exist, but no error would be reported.
> It does look like errors with the more direct JNA link() call are handled
> correctly- an exception is thrown. The WithExec version should probably do
> the same thing.
> Definitely it would be enough to check the process exit value from /bin/ln
> for nonzero in the *nix case, but I don't know whether 'fsutil hardlink
> create' or 'cmd /c mklink /H' return nonzero on failure.
> For bonus points, use any output from the Process's error stream in the text
> of the exception, to aid in debugging problems.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira