Paul Rogers created DRILL-5829:
----------------------------------
Summary: RecordBatchLoader schema comparison is not case
insensitive
Key: DRILL-5829
URL: https://issues.apache.org/jira/browse/DRILL-5829
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.11.0
Reporter: Paul Rogers
Assignee: Paul Rogers
Fix For: 1.12.0
The class {{RecordBatchLoader}} decodes batches received over the wire. It
determines if the schema of the new batch matches that of the old one. To do
that, it uses a map of existing columns.
In Drill, column names follow SQL rules: they are case insensitive. Yet, the
implementation of {{RecordBatchLoader}} uses a case sensitive map:
{code}
final Map<String, ValueVector> oldFields = Maps.newHashMap();
{code}
This should be:
{code}
final Map<String, ValueVector> oldFields = CaseInsensitiveMap.newHashMap();
{code}
Without this change, the receivers will report schema changes if a column
differs only in name case. However, Drill semantics say that names that differ
in case are identical, and so no schema change should be issued.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)