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.

    Details

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

      Description

      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.

        Activity

        Hide
        Jacques Nadeau added a comment -

        merged in 27e22131e2e89aca34d3093ee227249e1d8e8a73

        Show
        Jacques Nadeau added a comment - merged in 27e22131e2e89aca34d3093ee227249e1d8e8a73

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development