Uploaded image for project: '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
    • Status: Resolved
    • Priority: 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.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: