Apache Drill
  1. Apache Drill
  2. DRILL-810

Add isSafe() to NullableValueVector. Run-time code should check isSafe() for null value to ensure spare available.


    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.4.0
    • Component/s: None
    • Labels:


      In Drill's run-time generated code, if an expression's output type is of nullable, the run-time will call setSafe() only when the output value is not null. When the output value is null, there is no check at all. However, the value vector may not hold any additional null value, because its offset value vector may run out of space. The missing checking will cause the run-time code to continue to add null value to the nullable value vector, and could hit IOBE in down stream operator.

      In stead, we should add a new method to all nullable value vector, to make sure it still has capacity to hold new value in the run-time code.


        Tony Stevenson made changes -
        Workflow no-reopen-closed, patch-avail, testing [ 12864040 ] Drill workflow [ 12934250 ]
        Jacques Nadeau made changes -
        Fix Version/s 0.4.0 [ 12324963 ]
        Jacques Nadeau made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Jinfeng Ni created issue -


          • Assignee:
            Jinfeng Ni
            Jinfeng Ni
          • Votes:
            0 Vote for this issue
            2 Start watching this issue


            • Created: