Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8707 Implement an async pure c++ HDFS client
  3. HDFS-11807

libhdfs++: Get minidfscluster tests running under valgrind

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.2.0, 3.3.0
    • hdfs-client
    • None

    Description

      The gmock based unit tests generally don't expose race conditions and memory stomps. A good way to expose these is running libhdfs++ stress tests and tools under valgrind and pointing them at a real cluster. Right now the CI tools don't do that so bugs occasionally slip in and aren't caught until they cause trouble in applications that use libhdfs++ for HDFS access.

      The reason the minidfscluster tests don't run under valgrind is because the GC and JIT compiler in the embedded JVM do things that look like errors to valgrind. I'd like to have these tests do some basic setup and then fork into two processes: one for the minidfscluster stuff and one for the libhdfs++ client test. A small amount of shared memory can be used to provide a place for the minidfscluster to stick the hdfsBuilder object that the client needs to get info about which port to connect to. Can also stick a condition variable there to let the minidfscluster know when it can shut down.

      Attachments

        1. HDFS-11807.HDFS-8707.009.patch
          18 kB
          Anatoli Shein
        2. HDFS-11807.HDFS-8707.008.patch
          18 kB
          Anatoli Shein
        3. HDFS-11807.HDFS-8707.007.patch
          18 kB
          Anatoli Shein
        4. HDFS-11807.HDFS-8707.006.patch
          18 kB
          Anatoli Shein
        5. HDFS-11807.HDFS-8707.005.patch
          17 kB
          Anatoli Shein
        6. HDFS-11807.HDFS-8707.004.patch
          17 kB
          Anatoli Shein
        7. HDFS-11807.HDFS-8707.003.patch
          17 kB
          Anatoli Shein
        8. HDFS-11807.HDFS-8707.002.patch
          18 kB
          Anatoli Shein
        9. HDFS-11807.HDFS-8707.001.patch
          18 kB
          Anatoli Shein
        10. HDFS-11807.HDFS-8707.000.patch
          17 kB
          Anatoli Shein

        Activity

          People

            anatoli.shein Anatoli Shein
            James C James Clampffer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: