[
https://issues.apache.org/jira/browse/CASSANDRA-3101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13168605#comment-13168605
]
paul cannon commented on CASSANDRA-3101:
----------------------------------------
This works, except you've taken out a logger.error() call instead of adding
another one. I think it's worth logging an error for the cassandra log in both
cases.
> 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.6
>
> Attachments: 0001-0001-throw-IOE-while-calling-bin-ln-v2.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