Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-9448

[Java] Circular initialization between ArrowBuf and BaseAllocator leads to null HistoricalLog for empty buffer

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.0.0
    • Fix Version/s: 1.0.0
    • Component/s: Java

      Description

      Still working on a reproduction (this is internal code), but what I see is:

      1. Test initializes a RootAllocator in a JUnit @Before
      2. BaseAllocator.<clinit> creates a Config
      3. The constructor of ImmutableConfig gets the allocation manager
      4. This eventually runs NettyAllocationManager.<clinit>
      5. This creates a static ArrowBuf as the empty buffer
      6. The ArrowBuf has a null HistoricalLog as BaseAllocator hasn't fully initialized yet

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                lidavidm David Li
                Reporter:
                lidavidm David Li
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m