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.


        Jinfeng Ni created issue -
        Jacques Nadeau added a comment -

        merged in 27e22131e2e89aca34d3093ee227249e1d8e8a73

        Jacques Nadeau added a comment - merged in 27e22131e2e89aca34d3093ee227249e1d8e8a73
        Jacques Nadeau made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Jacques Nadeau made changes -
        Fix Version/s 0.4.0 [ 12324963 ]
        Tony Stevenson made changes -
        Workflow no-reopen-closed, patch-avail, testing [ 12864040 ] Drill workflow [ 12934250 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        21h 13m 1 Jacques Nadeau 23/May/14 02:24


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


            • Created: