Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.9.0, 1.10.0
Description
We uncovered this issue when working on DRILL-5394.
The MapR-DB table in question had 5 tablets with skewed data distribution (~6 million rows). A partial WIP fix for DRILL-5394 caused the number of rows to be reported incorrectly (~300,000). 2 minor fragments were created (due to filter selectivity) for scanning the 5 tablets. And this resulted in an NPE, possibly related to an issue with assignment logic, that was now exposed.
Representative query:
SELECT Convert_from(avail.customer, 'UTF8') AS ABC, Convert_from(prop.customer, 'UTF8') AS PQR FROM (SELECT Convert_from(a.row_key, 'UTF8') AS customer, Cast(Convert_from(a.data .` l_discount ` , 'double_be') AS FLOAT) AS availability FROM db.tpch_maprdb.lineitem_1 a WHERE Convert_from(a.row_key, 'UTF8') = '%004%') AS avail join (SELECT Convert_from(b.row_key, 'UTF8') AS customer, Cast( Convert_from(b.data .` l_discount ` , 'double_be') AS FLOAT) AS availability FROM db.tpch_maprdb.lineitem_1 b WHERE Convert_from(b.row_key, 'UTF8') LIKE '%003%') AS prop ON avail.customer = prop.customer;
Error:
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: NullPointerException
Log attached.
Attachments
Attachments
Issue Links
- links to