Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.3
    • Fix Version/s: 1.7.4
    • Component/s: java
    • Labels:
      None
    • Environment:

      OSX, JDK6

      Description

      I experience a dead lock when running multiple DataFileReader in concurrent threads.
      See test case here:
      https://github.com/slandelle/avro-test

      AvroBinaryEncodingTest randomly stalls about 50% of the time.
      A thread dump would show a dead lock in org.apache.avro.io.parsing.Symbol class initialization.

      IHMO, the problem is that the Symbol class has static final members that are instances of Symbol subclasses.

      I built a custom version of avro where all the constants (NULL, BOOLEAN, INT, etc) have been extracted into a dedicated class outside of Symbol hierarchy and the test case now runs fine.

      Cheers,

      Stéphane Landelle

      1. AVRO-1220.txt
        9 kB
        Doug Cutting
      2. AVRO-1220.txt
        1 kB
        Doug Cutting

        Activity

        Doug Cutting made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Doug Cutting made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Assignee Doug Cutting [ cutting ]
        Resolution Fixed [ 1 ]
        Doug Cutting made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Fix Version/s 1.7.4 [ 12323742 ]
        Doug Cutting made changes -
        Attachment AVRO-1220.txt [ 12561020 ]
        Doug Cutting made changes -
        Field Original Value New Value
        Attachment AVRO-1220.txt [ 12560866 ]
        Stéphane Landelle created issue -

          People

          • Assignee:
            Doug Cutting
            Reporter:
            Stéphane Landelle
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development