Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8407

libhdfs hdfsListDirectory must set errno to 0 on success

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: native
    • Labels:
      None
    • Target Version/s:

      Description

      The documentation says it returns NULL on error, but it could also return NULL when the directory is empty.
      /**

      • hdfsListDirectory - Get list of files/directories for a given
      • directory-path. hdfsFreeFileInfo should be called to deallocate memory.
      • @param fs The configured filesystem handle.
      • @param path The path of the directory.
      • @param numEntries Set to the number of files/directories in path.
      • @return Returns a dynamically-allocated array of hdfsFileInfo
      • objects; NULL on error.
        */
            hdfsFileInfo *pathList = NULL; 
            ...
            //Figure out the number of entries in that directory
            jPathListSize = (*env)->GetArrayLength(env, jPathList);
            if (jPathListSize == 0) {
                ret = 0;
                goto done;
            }
            ...
            if (ret) {
                hdfsFreeFileInfo(pathList, jPathListSize);
                errno = ret;
                return NULL;
            }
            *numEntries = jPathListSize;
            return pathList;
        
        

      Either change the implementation to match the doc, or fix the doc to match the implementation.

      1. HDFS-8407.001.patch
        2 kB
        Masatake Iwasaki
      2. HDFS-8407.002.patch
        4 kB
        Masatake Iwasaki
      3. HDFS-8407.003.patch
        5 kB
        Masatake Iwasaki

        Activity

        Hide
        iwasakims Masatake Iwasaki added a comment -

        I think fixing usage is enough here.

        Show
        iwasakims Masatake Iwasaki added a comment - I think fixing usage is enough here.
        Hide
        iwasakims Masatake Iwasaki added a comment -

        Oops. Surendra Singh Lilhore set assignee before I reload the page. Sorry for breaking in...

        Show
        iwasakims Masatake Iwasaki added a comment - Oops. Surendra Singh Lilhore set assignee before I reload the page. Sorry for breaking in...
        Hide
        jyu@cloudera.com Juan Yu added a comment -

        If an error happens when calling hdfsListDirectory, you could also get "fileList == NULL && numEntries == 0", means the call still fails. I think check errno is necessary.

        Show
        jyu@cloudera.com Juan Yu added a comment - If an error happens when calling hdfsListDirectory, you could also get "fileList == NULL && numEntries == 0", means the call still fails. I think check errno is necessary.
        Hide
        iwasakims Masatake Iwasaki added a comment -

        Thanks for the comment, Juan Yu. I updated the patch. I added test to test_libhdfs_threaded.c which is executed on mvn test -Pnative by default now.

        Show
        iwasakims Masatake Iwasaki added a comment - Thanks for the comment, Juan Yu . I updated the patch. I added test to test_libhdfs_threaded.c which is executed on mvn test -Pnative by default now.
        Hide
        surendrasingh Surendra Singh Lilhore added a comment -

        Please feel free to re-assigne

        Show
        surendrasingh Surendra Singh Lilhore added a comment - Please feel free to re-assigne
        Hide
        iwasakims Masatake Iwasaki added a comment -

        Thanks, Surendra Singh Lilhore. I assigned this to myself.

        Show
        iwasakims Masatake Iwasaki added a comment - Thanks, Surendra Singh Lilhore . I assigned this to myself.
        Hide
        cmccabe Colin P. McCabe added a comment -

        Thanks for looking at this, Masatake Iwasaki. One problem I see here is that we can't easily distinguish between NULL being returned because there is an error, and NULL being returned because there was an empty directory. In both cases, errno may be set.

        Here is the code in hdfs.c:

        ...
            ret = 0;
        
        done:
            destroyLocalReference(env, jPath);
            destroyLocalReference(env, jPathList);
        
            if (ret) {
                hdfsFreeFileInfo(pathList, jPathListSize);
                errno = ret;
                return NULL;
            }
            *numEntries = jPathListSize;
            return pathList;
        

        Note that errno is only set when there is an error. When there is no error, errno may have any value. Remember that lots of C library functions set errno. Just because some random C library function failed, doesn't mean we want to return failure.

        I think the current patch is a good start, but we should also explicitly set errno = 0 on success. We should also document in the header file that errno will be set to 0 if there is no error.

        Show
        cmccabe Colin P. McCabe added a comment - Thanks for looking at this, Masatake Iwasaki . One problem I see here is that we can't easily distinguish between NULL being returned because there is an error, and NULL being returned because there was an empty directory. In both cases, errno may be set. Here is the code in hdfs.c : ... ret = 0; done: destroyLocalReference(env, jPath); destroyLocalReference(env, jPathList); if (ret) { hdfsFreeFileInfo(pathList, jPathListSize); errno = ret; return NULL; } *numEntries = jPathListSize; return pathList; Note that errno is only set when there is an error. When there is no error, errno may have any value. Remember that lots of C library functions set errno . Just because some random C library function failed, doesn't mean we want to return failure. I think the current patch is a good start, but we should also explicitly set errno = 0 on success. We should also document in the header file that errno will be set to 0 if there is no error.
        Hide
        jyu@cloudera.com Juan Yu added a comment -

        Thanks Colin P. McCabe for pointing this out. That's exactly what I saw during testing.
        In kerberos env, you could easily get EAGAIN error for a system call, since hdfsListDirectory() doesn't clear errno on success, retry won't work, errno will still be EAGAIN.

        Show
        jyu@cloudera.com Juan Yu added a comment - Thanks Colin P. McCabe for pointing this out. That's exactly what I saw during testing. In kerberos env, you could easily get EAGAIN error for a system call, since hdfsListDirectory() doesn't clear errno on success, retry won't work, errno will still be EAGAIN.
        Hide
        iwasakims Masatake Iwasaki added a comment -

        Thanks for the comments.

        we should also explicitly set errno = 0 on success.

        Sure. I updated the patch. Now testHdfsOperations fails without the fix to hdfsListDirectory as bellow.

        ...test_libhdfs_threaded.c:158 (errno: 13): got expected NULL without expected errno 0 from hdfsListDirectory(fs, paths->prefix, &numEntries)

        Show
        iwasakims Masatake Iwasaki added a comment - Thanks for the comments. we should also explicitly set errno = 0 on success. Sure. I updated the patch. Now testHdfsOperations fails without the fix to hdfsListDirectory as bellow. ...test_libhdfs_threaded.c:158 (errno: 13): got expected NULL without expected errno 0 from hdfsListDirectory(fs, paths->prefix, &numEntries)
        Hide
        iwasakims Masatake Iwasaki added a comment -

        One problem I see here is that we can't easily distinguish between NULL being returned because there is an error, and NULL being returned because there was an empty directory.

        I think setting numEntries to -1 and seeing if it is set to zero when NULL is returned could be workaround for current version but it is actually awkward..

        Show
        iwasakims Masatake Iwasaki added a comment - One problem I see here is that we can't easily distinguish between NULL being returned because there is an error, and NULL being returned because there was an empty directory. I think setting numEntries to -1 and seeing if it is set to zero when NULL is returned could be workaround for current version but it is actually awkward..
        Hide
        jyu@cloudera.com Juan Yu added a comment -

        I think move "errno = ret;" before the if check will cover both cases, right?

        Show
        jyu@cloudera.com Juan Yu added a comment - I think move "errno = ret;" before the if check will cover both cases, right?
        Hide
        iwasakims Masatake Iwasaki added a comment -

        True but I think it is safer to set errno just before return. It is possible that some function call which (or whose downstream) set errno is added before return in future.

        Show
        iwasakims Masatake Iwasaki added a comment - True but I think it is safer to set errno just before return. It is possible that some function call which (or whose downstream) set errno is added before return in future.
        Hide
        cmccabe Colin P. McCabe added a comment -

        +1 pending jenkins. Thanks, Masatake Iwasaki.

        Show
        cmccabe Colin P. McCabe added a comment - +1 pending jenkins. Thanks, Masatake Iwasaki .
        Hide
        hadoopqa Hadoop QA added a comment -



        -1 overall



        Vote Subsystem Runtime Comment
        0 pre-patch 5m 16s Pre-patch trunk compilation is healthy.
        +1 @author 0m 0s The patch does not contain any @author tags.
        +1 tests included 0m 0s The patch appears to include 1 new or modified test files.
        +1 javac 7m 40s There were no new javac warning messages.
        +1 release audit 0m 21s The applied patch does not increase the total number of release audit warnings.
        +1 whitespace 0m 0s The patch has no lines that end in whitespace.
        +1 install 1m 33s mvn install still works.
        +1 eclipse:eclipse 0m 32s The patch built with eclipse:eclipse.
        +1 native 1m 8s Pre-build of native portion
        -1 hdfs tests 162m 38s Tests failed in hadoop-hdfs.
            179m 21s  



        Reason Tests
        Failed unit tests hadoop.hdfs.server.balancer.TestBalancer
        Timed out tests org.apache.hadoop.hdfs.server.namenode.TestEditLog



        Subsystem Report/Notes
        Patch URL http://issues.apache.org/jira/secure/attachment/12734001/HDFS-8407.003.patch
        Optional Tests javac unit
        git revision trunk / 7dba700
        hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/11131/artifact/patchprocess/testrun_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/11131/testReport/
        Java 1.7.0_55
        uname Linux asf903.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Console output https://builds.apache.org/job/PreCommit-HDFS-Build/11131/console

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 pre-patch 5m 16s Pre-patch trunk compilation is healthy. +1 @author 0m 0s The patch does not contain any @author tags. +1 tests included 0m 0s The patch appears to include 1 new or modified test files. +1 javac 7m 40s There were no new javac warning messages. +1 release audit 0m 21s The applied patch does not increase the total number of release audit warnings. +1 whitespace 0m 0s The patch has no lines that end in whitespace. +1 install 1m 33s mvn install still works. +1 eclipse:eclipse 0m 32s The patch built with eclipse:eclipse. +1 native 1m 8s Pre-build of native portion -1 hdfs tests 162m 38s Tests failed in hadoop-hdfs.     179m 21s   Reason Tests Failed unit tests hadoop.hdfs.server.balancer.TestBalancer Timed out tests org.apache.hadoop.hdfs.server.namenode.TestEditLog Subsystem Report/Notes Patch URL http://issues.apache.org/jira/secure/attachment/12734001/HDFS-8407.003.patch Optional Tests javac unit git revision trunk / 7dba700 hadoop-hdfs test log https://builds.apache.org/job/PreCommit-HDFS-Build/11131/artifact/patchprocess/testrun_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/11131/testReport/ Java 1.7.0_55 uname Linux asf903.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Console output https://builds.apache.org/job/PreCommit-HDFS-Build/11131/console This message was automatically generated.
        Hide
        iwasakims Masatake Iwasaki added a comment -

        The test failures seem not to be related to the patch. TestBalancer and TestEditLog succeeds on my local environment.

        Show
        iwasakims Masatake Iwasaki added a comment - The test failures seem not to be related to the patch. TestBalancer and TestEditLog succeeds on my local environment.
        Hide
        cmccabe Colin P. McCabe added a comment -

        committed to 2.8. thanks, Masatake.

        Show
        cmccabe Colin P. McCabe added a comment - committed to 2.8. thanks, Masatake.
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-trunk-Commit #7919 (See https://builds.apache.org/job/Hadoop-trunk-Commit/7919/)
        HDFS-8407. libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb)

        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-trunk-Commit #7919 (See https://builds.apache.org/job/Hadoop-trunk-Commit/7919/ ) HDFS-8407 . libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb) hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #200 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/200/)
        HDFS-8407. libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb)

        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #200 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/200/ ) HDFS-8407 . libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb) hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Yarn-trunk-Java8 #212 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/212/)
        HDFS-8407. libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb)

        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Yarn-trunk-Java8 #212 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/212/ ) HDFS-8407 . libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb) hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Yarn-trunk #942 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/942/)
        HDFS-8407. libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb)

        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Yarn-trunk #942 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/942/ ) HDFS-8407 . libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb) hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Hdfs-trunk #2140 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2140/)
        HDFS-8407. libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb)

        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk #2140 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2140/ ) HDFS-8407 . libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb) hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Mapreduce-trunk-Java8 #210 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/210/)
        HDFS-8407. libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb)

        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h
        • hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h
        • hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Mapreduce-trunk-Java8 #210 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/210/ ) HDFS-8407 . libhdfs hdfsListDirectory must set errno to 0 on success (Masatake Iwasaki via Colin P. McCabe) (cmccabe: rev d2d95bfe886a7fdf9d58fd5c47ec7c0158393afb) hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test/test_libhdfs_ops.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/expect.h hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/hdfs.h hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

          People

          • Assignee:
            iwasakims Masatake Iwasaki
            Reporter:
            jyu@cloudera.com Juan Yu
          • Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development