HDFS scan operator may not always return diags info with error entry

Bug #1413400 reported by Justin Du
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Trafodion
New
Medium
Justin Du

Bug Description

This problem was found when examining the esp core files. The code dump was due to the reason at these lines in sql/executor/ex_tuple_flow.cpp:

    349 ComDiagsArea * da = src_entry->getDiagsArea();
    350 ex_assert(da, "We have a Q_SQLERROR in Tupleflow but no diags area");
    351

Further analysis indicates that ExHdfsScanTcb::work() method inserted the Q_SQLERROR entry to its parent up queue without attaching the diags area with it.

When the work method inserts a Q_SQLERROR entry, it expects that the head entry of the parent down queue contains the diags area, which was populated in other steps prior to the HANDLE_ERROR step, or the workAtp_ should have one. Otherwise, it could return that entry without populated the atp_ diags area of the entry.

The more suspicious area is at line 820 of sql/executor/ExHdfsScan.cpp when ExHdfsScanTcb::extractAndTransformAsciiSourceToSqlRow() call returns error but without populating the diagsArea of workAtp_.

Tags: sql-exe
Changed in trafodion:
assignee: nobody → Justin Du (justin-du-2)
Changed in trafodion:
milestone: r1.1 → r2.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.