meaningful errno values in libhdfs
----------------------------------

                 Key: HADOOP-3549
                 URL: https://issues.apache.org/jira/browse/HADOOP-3549
             Project: Hadoop Core
          Issue Type: Improvement
          Components: libhdfs
    Affects Versions: 0.17.0
         Environment: any POSIX
            Reporter: Ben Slusky


A comment near the top of hdfs.h says that "All APIs set errno to meaningful 
values." Unfortunately this is a big fat lie -- bigger and fatter still now 
that we have permissions in HDFS. If Hadoop throws an AccessControlException, 
then libhdfs sets errno to EINTERNAL, even though this is not an "internal" 
error in any sense of the word.

With the attached patches, allow libhdfs to derive a useful errno value when an 
exception is thrown. I've implemented handling for AccessControlException and a 
few others whose semantics seem obvious.

Tangential question: The signatures for invokeMethod() and 
constructNewObjectOfClass() in hdfsJniHelper.h disagreed with their comments. 
Was the "exc" argument of those functions removed in the past, or never 
implemented? I (re)instated it in my patch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to