Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-3633

libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-alpha
    • Fix Version/s: 2.0.2-alpha
    • Component/s: libhdfs
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      In libhdfs in hdfsDelete, the header file says any non-zero argument to hdfsDelete will be interpreted as true. However, the hdfsDelete function does not translate these non-zero values to JNI_FALSE and JNI_TRUE, potentially leading to undefined or JVM-specific behavior.

      1. HDFS-3633.001.patch
        0.7 kB
        Colin Patrick McCabe

        Activity

        Arun C Murthy made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Arun C Murthy made changes -
        Affects Version/s 2.0.0-alpha [ 12320353 ]
        Affects Version/s 2.1.0-alpha [ 12321440 ]
        Fix Version/s 2.0.2-alpha [ 12322472 ]
        Fix Version/s 2.1.0-alpha [ 12321440 ]
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk #1135 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1135/)
        HDFS-3633. libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005)

        Result = SUCCESS
        eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1135 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1135/ ) HDFS-3633 . libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005) Result = SUCCESS eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk #1102 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1102/)
        HDFS-3633. libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005)

        Result = FAILURE
        eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1102 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1102/ ) HDFS-3633 . libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005) Result = FAILURE eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk-Commit #2478 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2478/)
        HDFS-3633. libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005)

        Result = FAILURE
        eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk-Commit #2478 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2478/ ) HDFS-3633 . libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005) Result = FAILURE eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk-Commit #2525 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2525/)
        HDFS-3633. libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005)

        Result = SUCCESS
        eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #2525 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2525/ ) HDFS-3633 . libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005) Result = SUCCESS eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk-Commit #2459 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2459/)
        HDFS-3633. libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005)

        Result = SUCCESS
        eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005
        Files :

        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #2459 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2459/ ) HDFS-3633 . libhdfs: hdfsDelete should pass JNI_FALSE or JNI_TRUE. Contributed by Colin Patrick McCabe (Revision 1361005) Result = SUCCESS eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361005 Files : /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/hdfs.c
        Eli Collins made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Target Version/s 2.0.1-alpha [ 12321440 ]
        Fix Version/s 2.0.1-alpha [ 12321440 ]
        Resolution Fixed [ 1 ]
        Hide
        Eli Collins added a comment -

        +1 findbugs is unrelated. I've committed this, thanks Colin.

        Show
        Eli Collins added a comment - +1 findbugs is unrelated. I've committed this, thanks Colin.
        Hide
        Andy Isaacson added a comment -

        +1, LGTM.

        Show
        Andy Isaacson added a comment - +1, LGTM.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12535957/HDFS-3633.001.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        -1 findbugs. The patch appears to introduce 2 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed unit tests in hadoop-hdfs-project/hadoop-hdfs.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2785//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2785//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html
        Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2785//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12535957/HDFS-3633.001.patch against trunk revision . +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 javadoc. The javadoc tool did not generate any warning messages. +1 eclipse:eclipse. The patch built with eclipse:eclipse. -1 findbugs. The patch appears to introduce 2 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed unit tests in hadoop-hdfs-project/hadoop-hdfs. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2785//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HDFS-Build/2785//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-hdfs.html Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2785//console This message is automatically generated.
        Colin Patrick McCabe made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Colin Patrick McCabe made changes -
        Attachment HDFS-3633.001.patch [ 12535957 ]
        Colin Patrick McCabe made changes -
        Field Original Value New Value
        Component/s libhdfs [ 12313126 ]
        Hide
        Colin Patrick McCabe added a comment -

        The code in question is here:

        jboolean jRecursive = recursive;
          
        if (invokeMethod(env, &jVal, &jExc, INSTANCE, jFS, HADOOP_FS,
        "delete", "(Lorg/apache/hadoop/fs/Path;Z)Z", jPath, jRecursive) != 0)
        {                                                                               
            errno = errnoFromException(jExc, env, "org.apache.hadoop.fs."
        "FileSystem::delete");
           
            destroyLocalReference(env, jPath);
           
            return -1;
        }                                                                                                                         
        

        jRecursive must get either JNI_FALSE or JNI_TRUE.

        Show
        Colin Patrick McCabe added a comment - The code in question is here: jboolean jRecursive = recursive; if (invokeMethod(env, &jVal, &jExc, INSTANCE, jFS, HADOOP_FS, "delete" , "(Lorg/apache/hadoop/fs/Path;Z)Z" , jPath, jRecursive) != 0) { errno = errnoFromException(jExc, env, "org.apache.hadoop.fs." "FileSystem::delete" ); destroyLocalReference(env, jPath); return -1; } jRecursive must get either JNI_FALSE or JNI_TRUE.
        Colin Patrick McCabe created issue -

          People

          • Assignee:
            Colin Patrick McCabe
            Reporter:
            Colin Patrick McCabe
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development