blob: c279136d6df73003f2924443f37beca19aefd9cb [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?><!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept rev="ver" id="fixed_issues">
<title><ph audience="standalone">Fixed Issues in Apache Impala</ph><ph audience="integrated">Fixed Issues in Apache Impala</ph></title>
<prolog>
<metadata>
<data name="Category" value="Impala"/>
<data name="Category" value="Release Notes"/>
<data name="Category" value="Fixed Issues"/>
<data name="Category" value="Troubleshooting"/>
<data name="Category" value="Upgrading"/>
<data name="Category" value="Data Analysts"/>
<data name="Category" value="Developers"/>
<data name="Category" value="Data Analysts"/>
</metadata>
</prolog>
<conbody>
<p>
The following sections describe the major issues fixed in each Impala release.
</p>
<p>
For known issues that are currently unresolved, see <xref href="impala_known_issues.xml#known_issues"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept rev="3.3.0" id="fixed_issues_3_3_0">
<title>Issues Fixed in <keyword keyref="impala33"/></title>
<conbody>
<p> For the full list of issues closed in this release, including bug
fixes, see the <xref keyref="changelog_33">changelog for <keyword
keyref="impala33"/></xref>. </p>
</conbody>
</concept>
<concept rev="3.2.0" id="fixed_issues_3_2_0">
<title>Issues Fixed in <keyword keyref="impala32"/></title>
<conbody>
<p> For the full list of issues closed in this release, including bug
fixes, see the <xref keyref="changelog_32">changelog for <keyword
keyref="impala32"/></xref>. </p>
<p>The following is a list of noteworthy issues fixed in <keyword
keyref="impala32"/>: </p>
<ul>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-341"
format="html" scope="external">IMPALA-341</xref> - Remote profiles
are no longer ignored by the coordinator for the queries with the
<codeph>LIMIT</codeph> clause.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-941"
format="html" scope="external">IMPALA-941</xref>- Impala supports
fully qualified table names that start with a number.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-1048"
format="html" scope="external">IMPALA-1048</xref> - The query
execution summary now includes the total time taken and memory
consumed by the data sink at the root of each query fragment.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-3323"
format="html" scope="external">IMPALA-3323</xref> - Fixed the issue
where valid impala-shell options, such as
<codeph>--ldap_password_cmd</codeph>, were unrecognized when the
<codeph>--config_file</codeph> option was specified.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-5397"
format="html" scope="external">IMPALA-5397</xref> - If a query has a
dedicated coordinator, its end time is now set when the query releases
its admission control resources. With no dedicated coordinator, the
end time is set on un-registration.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-5474"
format="html" scope="external">IMPALA-5474</xref> - Fixed an issue
where adding a trivial subquery to a query with an error turns the
error into a warning.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-6521"
format="html" scope="external">IMPALA-6521</xref> - When set,
experimental flags are now shown in /varz in web UI and log
files.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-6900"
format="html" scope="external">IMPALA-6900</xref> -
<codeph>INVALIDATE METADATA</codeph> operation is no longer ignored
when HMS is empty.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7446"
format="html" scope="external">IMPALA-7446</xref> - Impala enables
buffer pool garbage collection when near process memory limit to
prevent queries from spilling to disk earlier than necessary.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7659"
format="html" scope="external">IMPALA-7659</xref> - In
<codeph>COMPUTE STATS</codeph>, Impala counts the number of
<codeph>NULL</codeph> values in a table</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7857"
format="html" scope="external">IMPALA-7857</xref> - Logs more
information about StateStore failure detection.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7928"
format="html" scope="external">IMPALA-7928</xref> - To increase the
efficiency of the HDFS file handle cache, remote reads for a
particular file are scheduled to a consistent set of executor nodes. </li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7929"
format="html" scope="external">IMPALA-7929</xref> - Impala query on
tables created via Hive and mapped to HBase failed with an internal
exception because the qualifier of the HBase key column is null in the
mapped table. Impala relaxed the requirement and allows a
<codeph>NULL</codeph> qualifier.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7960"
format="html" scope="external">IMPALA-7960</xref> - Impala now
returns a correct result when comparing <codeph>TIMESTAMP</codeph> to
a string literal in a binary predicate where the
<codeph>TIMESTAMP</codeph> is casted to <codeph>VARCHAR</codeph> of
smaller length.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-7961"
format="html" scope="external">IMPALA-7961</xref> - Fixed an issue
where queries running with the <codeph>SYNC_DDL</codeph> query option
can fail when the Catalog Server is under a heavy load with concurrent
catalog operations of long-running DDLs.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-8026"
format="html" scope="external">IMPALA-8026</xref> - Impala query
profile now reports correct row counts for all nested loop join
modes.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-8061"
format="html" scope="external">IMPALA-8061</xref> - Impala correctly
initializes<codeph> S3_ACCESS_VALIDATED</codeph> variable to zero
when <codeph>TARGET_FILESYSTEM=3</codeph>.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-8154"
format="html" scope="external">IMPALA-8154</xref> - Disabled the
Kerberos<codeph> auth_to_local</codeph> setting to prevent
connection issues between <codeph>impalads</codeph>.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-8188"
format="html" scope="external">IMPALA-8188</xref> - Impala now
correctly detects an NVME device name and handles it.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-8245"
format="html" scope="external">IMPALA-8245</xref> - Added hostname
to the timeout error message to enable the user to easily identify the
host which has reached a bad connection state with the HDFS
NameNode.</li>
<li><xref href="https://issues.apache.org/jira/browse/IMPALA-8254"
format="html" scope="external">IMPALA-8254</xref> - <codeph>COMPUTE
STATS</codeph> failed if <codeph>COMPRESSION_CODEC</codeph> is
set.</li>
</ul>
</conbody>
</concept>
<!-- All 3.1.x subsections go under here -->
<concept rev="3.1.0" id="fixed_issues_3_1_0">
<title>Issues Fixed in <keyword keyref="impala31"/></title>
<conbody>
<p> For the full list of issues closed in this release, including bug
fixes, see the <xref keyref="changelog_31">changelog for <keyword
keyref="impala31"/></xref>. </p>
</conbody>
</concept>
<!-- All 3.0.x subsections go under here -->
<concept rev="3.0.0" id="fixed_issues_3_0_0">
<title>Issues Fixed in <keyword keyref="impala30"/></title>
<conbody>
<p> For the full list of issues closed in this release, including bug
fixes, see the <xref keyref="changelog_300">changelog for <keyword
keyref="impala30"/></xref>. </p>
</conbody>
</concept>
<!-- All 2.12.x subsections go under here -->
<concept rev="2.12.0" id="fixed_issues_2_12_0">
<title>Issues Fixed in <keyword keyref="impala212"/></title>
<conbody>
<p>
For the full list of issues closed in this release, including bug fixes,
see the <xref keyref="changelog_212">changelog for <keyword keyref="impala212"/></xref>.
</p>
</conbody>
</concept>
<!-- All 2.11.x subsections go under here -->
<concept rev="2.11.0" id="fixed_issues_2_11_0">
<title>Issues Fixed in <keyword keyref="impala211"/></title>
<conbody>
<p>
For the full list of issues closed in this release, including bug fixes,
see the <xref keyref="changelog_211">changelog for <keyword keyref="impala211"/></xref>.
</p>
</conbody>
</concept>
<!-- All 2.10.x subsections go under here -->
<concept rev="2.10.0" id="fixed_issues_2100">
<title>Issues Fixed in <keyword keyref="impala210"/></title>
<conbody>
<p>
For the full list of issues closed in this release, including bug fixes,
see the <xref keyref="changelog_210">changelog for <keyword keyref="impala210"/></xref>.
</p>
</conbody>
</concept>
<!-- All 2.9.x subsections go under here -->
<concept rev="2.9.0" id="fixed_issues_290">
<title>Issues Fixed in <keyword keyref="impala290"/></title>
<conbody>
<p>
For the full list of issues closed in this release, including bug fixes,
see the <xref keyref="changelog_29">changelog for <keyword keyref="impala29"/></xref>.
</p>
</conbody>
</concept>
<!-- All 2.8.x subsections go under here -->
<concept rev="2.8.0" id="fixed_issues_280">
<title>Issues Fixed in <keyword keyref="impala280"/></title>
<conbody>
<p>
For the full list of Impala fixed issues in <keyword keyref="impala28_full"/>, see
<xref keyref="jira_list_280"/>.
</p>
</conbody>
</concept>
<!-- All 2.7.x subsections go under here -->
<concept rev="2.7.0" id="fixed_issues_270">
<title>Issues Fixed in <keyword keyref="impala270"/></title>
<conbody>
<p>
<!--
The following list contains the most critical fixed issues
(<codeph>priority='Blocker'</codeph>) from the JIRA system.
-->
For the full list of Impala fixed issues in Impala 2.7.0, see
<xref keyref="jira_list_270"/>.
</p>
</conbody>
</concept>
<!-- All 2.6.x subsections go under here -->
<concept rev="2.6.3" id="fixed_issues_263">
<title>Issues Fixed in <keyword keyref="impala263"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.6.2" id="fixed_issues_262">
<title>Issues Fixed in <keyword keyref="impala262"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.6.0" id="fixed_issues_260">
<title>Issues Fixed in <keyword keyref="impala260"/></title>
<conbody>
<p>
The following list contains the most critical fixed issues
(<codeph>priority='Blocker'</codeph>) from the JIRA system.
For the full list of fixed issues in <keyword keyref="impala260"/>, see
<xref keyref="jira_list_260"/>.
</p>
</conbody>
<concept id="IMPALA-3385">
<title>RuntimeState::error_log_ crashes</title>
<conbody>
<p>
A crash could occur, with stack trace pointing to <codeph>impala::RuntimeState::ErrorLog</codeph>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3385">IMPALA-3385</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3378">
<title>HiveUdfCall::Open() produces unsynchronized access to JniUtil::global_refs_ vector</title>
<conbody>
<p>
A crash could occur because of contention between multiple calls to Java UDFs.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3378">IMPALA-3378</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3379">
<title>HBaseTableWriter::CreatePutList() produces unsynchronized access to JniUtil::global_refs_ vector</title>
<conbody>
<p>
A crash could occur because of contention between multiple concurrent statements writing to HBase.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3379">IMPALA-3379</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3317">
<title>Stress test failure: sorter.cc:745] Check failed: i == 0 (1 vs. 0) </title>
<conbody>
<p>
A crash or wrong results could occur if the spill-to-disk mechanism encountered a zero-length string at
the very end of a data block.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3317">IMPALA-3317</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3311">
<title>String data coming out of agg can be corrupted by blocking operators</title>
<conbody>
<p>
If a query plan contains an aggregation node producing string values anywhere within a subplan
(that is,if in the SQL statement, the aggregate function appears within an inline view over a collection column),
the results of the aggregation may be incorrect.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3311">IMPALA-3311</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3269">
<title>CTAS with subquery throws AuthzException</title>
<conbody>
<p>
A <codeph>CREATE TABLE AS SELECT</codeph> operation could fail with an authorization error,
due to a slight difference in the privilege checking for the CTAS operation.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3269">IMPALA-3269</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3237">
<title>Crash on inserting into table with binary and parquet</title>
<conbody>
<p>
Impala incorrectly allowed <codeph>BINARY</codeph> to be specified as a column type,
resulting in a crash during a write to a Parquet table with a column of that type.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3237">IMPALA-3237</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3105">
<title>RowBatch::MaxTupleBufferSize() calculation incorrect, may lead to memory corruption</title>
<conbody>
<p>
A crash could occur while querying tables with very large rows, for example wide tables with many
columns or very large string values. This problem was identified in Impala 2.3, but had low
reproducibility in subsequent releases. The fix ensures the memory allocation size is correct.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3105">IMPALA-3105</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3494">
<title>Thrift buffer overflows when serialize more than 3355443200 bytes in impala</title>
<conbody>
<p>
A very large memory allocation within the <cmdname>catalogd</cmdname> daemon could exceed an internal Thrift limit,
causing a crash.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3494">IMPALA-3494</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3314">
<title>Altering table partition's storage format is not working and crashing the daemon</title>
<conbody>
<p>
If a partitioned table used a file format other than Avro, and the file format of an individual partition
was changed to Avro, subsequent queries could encounter a crash.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3314">IMPALA-3314</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
<concept id="IMPALA-3798">
<title>Race condition may cause scanners to spin with runtime filters on Avro or Sequence files</title>
<conbody>
<p>
A timing problem during runtime filter processing could cause queries against Avro or SequenceFile tables
to hang.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-3798">IMPALA-3798</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
</concept>
<!-- All 2.5.x subsections go under here -->
<concept rev="2.5.4" id="fixed_issues_254">
<title>Issues Fixed in <keyword keyref="impala254"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.5.2" id="fixed_issues_252">
<title>Issues Fixed in <keyword keyref="impala252"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.5.1" id="fixed_issues_251">
<title>Issues Fixed in <keyword keyref="impala251"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.5.0" id="fixed_issues_250">
<title>Issues Fixed in <keyword keyref="impala250"/></title>
<conbody>
<p>
The following list contains the most critical issues (<codeph>priority='Blocker'</codeph>) from the JIRA system.
For the full list of fixed issues in <keyword keyref="impala25_full"/>, see
<xref keyref="jira_list_250"/>.
</p>
</conbody>
<concept id="IMPALA-2683">
<title>Stress test hit assert in LLVM: external function could not be resolved</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2683">IMPALA-2683</xref></p>
<p>The stress test was running a build with the TPC-H, TPC-DS, and TPC-H nested queries with scale factor 3.</p>
</conbody>
</concept>
<concept id="IMPALA-2365">
<title>Impalad is crashing if udf jar is not available in hdfs location for first time</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2365">IMPALA-2365</xref></p>
<p>
If a UDF JAR was not available in the HDFS location specified in the <codeph>CREATE FUNCTION</codeph> statement,
the <cmdname>impalad</cmdname> daemon could crash.
</p>
</conbody>
</concept>
<concept id="IMPALA-2535-570">
<title>PAGG hits mem_limit when switching to I/O buffers</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2535">IMPALA-2535</xref></p>
<p>
A join query could fail with an out-of-memory error despite the apparent presence of sufficient memory.
The cause was the internal ordering of operations that could cause a later phase of the query to
allocate memory required by an earlier phase of the query. The workaround was to either increase
or decrease the <codeph>MEM_LIMIT</codeph> query option, because the issue would only occur for a specific
combination of memory limit and data volume.
</p>
</conbody>
</concept>
<concept id="IMPALA-2643-570">
<title>Prevent migrating incorrectly inferred identity predicates into inline views</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2643">IMPALA-2643</xref></p>
<p>
Referring to the same column twice in a view definition could cause the view to omit
rows where that column contained a <codeph>NULL</codeph> value. This could cause
incorrect results due to an inaccurate <codeph>COUNT(*)</codeph> value or rows missing
from the result set.
</p>
</conbody>
</concept>
<concept id="IMPALA-1459-570">
<title>Fix migration/assignment of On-clause predicates inside inline views</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-1459">IMPALA-1459</xref></p>
<p>
Some combinations of <codeph>ON</codeph> clauses in join queries could result in comparisons
being applied at the wrong stage of query processing, leading to incorrect results.
Wrong predicate assignment could happen under the following conditions:
</p>
<ul>
<li>
The query includes an inline view that contains an outer join.
</li>
<li>
That inline view is joined with another table in the enclosing query block.
</li>
<li>
That join has an <codeph>ON</codeph> clause containing a predicate that
only references columns originating from the outer-joined tables inside the inline view.
</li>
</ul>
</conbody>
</concept>
<concept id="IMPALA-2093">
<title>Wrong plan of NOT IN aggregate subquery when a constant is used in subquery predicate</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2093">IMPALA-2093</xref></p>
<p>
<codeph>IN</codeph> subqueries might return wrong results if the left-hand side of the <codeph>IN</codeph> is a constant.
For example:
</p>
<codeblock>
select * from alltypestiny t1
where 10 not in (select sum(int_col) from alltypestiny);
</codeblock>
</conbody>
</concept>
<concept id="IMPALA-2940">
<title>Parquet DictDecoders accumulate throughout query</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2940">IMPALA-2940</xref></p>
<p>
Parquet dictionary decoders can accumulate throughout query execution, leading to excessive memory usage. One decoder is created per-column per-split.
</p>
</conbody>
</concept>
<concept id="IMPALA-3056">
<title>Planner doesn't set the has_local_target field correctly</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-3056">IMPALA-3056</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2742">
<title>MemPool allocation growth behavior</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2742">IMPALA-2742</xref></p>
<p>
Currently, the MemPool would always double the size of the last allocation.
This can lead to bad behavior if the MemPool transferred the ownership of all its data
except the last chunk. In the next allocation, the next allocated chunk would double
the size of this large chunk, which can be undesirable.
</p>
</conbody>
</concept>
<concept id="IMPALA-3035">
<title>Drop partition operations don't follow the catalog's locking protocol</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-3035">IMPALA-3035</xref></p>
<p>
The <codeph>CatalogOpExecutor.alterTableDropPartition()</codeph> function violates
the locking protocol used in the catalog that requires <codeph>catalogLock_</codeph>
to be acquired before any table-level lock. That may cause deadlocks when <codeph>ALTER TABLE DROP PARTITION</codeph>
is executed concurrently with other DDL operations.
</p>
</conbody>
</concept>
<concept id="IMPALA-2215">
<title>HAVING clause without aggregation not applied properly</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2215">IMPALA-2215</xref></p>
<p>
A query with a <codeph>HAVING</codeph> clause but no <codeph>GROUP BY</codeph> clause was not being rejected,
despite being invalid syntax. For example:
</p>
<codeblock>
select case when 1=1 then 'didit' end as c1 from (select 1 as one) a having 1!=1;
</codeblock>
</conbody>
</concept>
<concept id="IMPALA-2914">
<title>Hit DCHECK Check failed: HasDateOrTime()</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2914">IMPALA-2914</xref></p>
<p>
<codeph>TimestampValue::ToTimestampVal()</codeph> requires a valid <codeph>TimestampValue</codeph> as input.
This requirement was not enforced in some places, leading to serious errors.
</p>
</conbody>
</concept>
<concept id="IMPALA-2986">
<title>Aggregation spill loop gives up too early leading to mem limit exceeded errors</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2986">IMPALA-2986</xref></p>
<p>
An aggregation query could fail with an out-of-memory error, despite sufficient memory being reported as available.
</p>
</conbody>
</concept>
<concept id="IMPALA-2592">
<title>DataStreamSender::Channel::CloseInternal() does not close the channel on an error.</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2592">IMPALA-2592</xref></p>
<p>
Some queries do not close an internal communication channel on an error.
This will cause the node on the other side of the channel to wait indefinitely, causing the query to hang.
For example, this issue could happen on a Kerberos-enabled system if the credential cache was outdated.
Although the affected query hangs, the <cmdname>impalad</cmdname> daemons continue processing other queries.
</p>
</conbody>
</concept>
<concept id="IMPALA-2184">
<title>Codegen does not catch exceptions in FROM_UNIXTIME()</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2184">IMPALA-2184</xref></p>
<p>
Querying for the min or max value of a timestamp cast from a bigint via <codeph>from_unixtime()</codeph>
fails silently and crashes instances of <cmdname>impalad</cmdname> when the input includes a value outside of the valid range.
</p>
<p><b>Workaround:</b> Disable native code generation with:</p>
<codeblock>
SET disable_codegen=true;
</codeblock>
</conbody>
</concept>
<concept id="IMPALA-2788">
<title>Impala returns wrong result for function 'conv(bigint, from_base, to_base)'</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-2788">IMPALA-2788</xref></p>
<p>
Impala returns wrong result for function <codeph>conv()</codeph>.
Function <codeph>conv(bigint, from_base, to_base)</codeph> returns an correct result,
while <codeph>conv(string, from_base, to_base)</codeph> returns the correct value.
For example:
</p>
<codeblock>
<![CDATA[
select 2061013007, conv(2061013007, 16, 10), conv('2061013007', 16, 10);
+------------+--------------------------+----------------------------+
| 2061013007 | conv(2061013007, 16, 10) | conv('2061013007', 16, 10) |
+------------+--------------------------+----------------------------+
| 2061013007 | 1627467783 | 139066421255 |
+------------+--------------------------+----------------------------+
Fetched 1 row(s) in 0.65s
select 2061013007, conv(cast(2061013007 as bigint), 16, 10), conv('2061013007', 16, 10);
+------------+------------------------------------------+----------------------------+
| 2061013007 | conv(cast(2061013007 as bigint), 16, 10) | conv('2061013007', 16, 10) |
+------------+------------------------------------------+----------------------------+
| 2061013007 | 1627467783 | 139066421255 |
+------------+------------------------------------------+----------------------------+
select 2061013007, conv(cast(2061013007 as string), 16, 10), conv('2061013007', 16, 10);
+------------+------------------------------------------+----------------------------+
| 2061013007 | conv(cast(2061013007 as string), 16, 10) | conv('2061013007', 16, 10) |
+------------+------------------------------------------+----------------------------+
| 2061013007 | 139066421255 | 139066421255 |
+------------+------------------------------------------+----------------------------+
select 2061013007, conv(cast(cast(2061013007 as decimal(20,0)) as bigint), 16, 10), conv('2061013007', 16, 10);
+------------+-----------------------------------------------------------------+----------------------------+
| 2061013007 | conv(cast(cast(2061013007 as decimal(20,0)) as bigint), 16, 10) | conv('2061013007', 16, 10) |
+------------+-----------------------------------------------------------------+----------------------------+
| 2061013007 | 1627467783 | 139066421255 |
+------------+-----------------------------------------------------------------+----------------------------+
]]>
</codeblock>
<p><b>Workaround:</b>
Cast the value to string and use <codeph>conv(string, from_base, to_base)</codeph> for conversion.
</p>
</conbody>
</concept>
<!-- I think this issue is marked incorrectly in JIRA. It arose during the 5.7 development cycle, it's not a
customer-facing issue.
<concept id="IMPALA-3039">
<title>Restrict the number of runtime filters generated</title>
<conbody>
<p><b>Bug:</b> <xref keyref="IMPALA-3039">IMPALA-3039</xref></p>
<p>
Large queries with many runtime filters might fail for various reasons, such as memory for Thrift data structures
not being accounted for.
Having to disable all runtime filters to make a query run is not desirable.
The new <codeph>MAX_NUM_RUNTIME_FILTERS</codeph> query option specifies an upper bound
on the number of runtime filters generated for a query.
</p>
</conbody>
</concept>
-->
</concept>
<!-- All 2.4.x subsections go under here -->
<concept rev="2.4.1" id="fixed_issues_241">
<title>Issues Fixed in <keyword keyref="impala241"/></title>
<conbody>
<p>
</p>
</conbody>
</concept>
<concept rev="2.4.0" id="fixed_issues_240">
<title>Issues Fixed in <keyword keyref="impala240"/></title>
<conbody>
<p>
The set of fixes for Impala in <keyword keyref="impala240"/> is the same as
in <keyword keyref="impala232"/>.
<!-- See <xref href="impala_fixed_issues.xml#fixed_issues_232"/> for details. -->
</p>
</conbody>
</concept>
<!-- All 2.3.x subsections go under here -->
<concept rev="2.3.4" id="fixed_issues_234">
<title>Issues Fixed in <keyword keyref="impala234"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.3.2" id="fixed_issues_232">
<title>Issues Fixed in <keyword keyref="impala232"/></title>
<conbody>
<p>
This section lists the most serious or frequently encountered customer
issues fixed in <keyword keyref="impala232"/>.
</p>
</conbody>
<concept id="IMPALA-2829">
<title>SEGV in AnalyticEvalNode touching NULL input_stream_</title>
<conbody>
<p>
A query involving an analytic function could encounter a serious error.
This issue was encountered infrequently, depending upon specific combinations
of queries and data.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2829">IMPALA-2829</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2722">
<title>Free local allocations per row batch in non-partitioned AGG and HJ</title>
<conbody>
<p>
An outer join query could fail unexpectedly with an out-of-memory error
when the <q>spill to disk</q> mechanism was turned off.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2722">IMPALA-2722</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2612">
<!-- In this case, the title from the spreadsheet is clearer than the original JIRA title. -->
<title>Free local allocations once for every row batch when building hash tables</title>
<conbody>
<p>
A join query could encounter a serious error due to an internal failure to allocate memory, which
resulted in dereferencing a <codeph>NULL</codeph> pointer.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2612">IMPALA-2612</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2643">
<title>Prevent migrating incorrectly inferred identity predicates into inline views</title>
<conbody>
<p>
Referring to the same column twice in a view definition could cause the view to omit
rows where that column contained a <codeph>NULL</codeph> value. This could cause
incorrect results due to an inaccurate <codeph>COUNT(*)</codeph> value or rows missing
from the result set.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2643">IMPALA-2643</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2695">
<title>Fix GRANTs on URIs with uppercase letters</title>
<conbody>
<p>
A <codeph>GRANT</codeph> statement for a URI could be ineffective if the URI
contained uppercase letters, for example in an uppercase directory name.
Subsequent statements, such as <codeph>CREATE EXTERNAL TABLE</codeph>
with a <codeph>LOCATION</codeph> clause, could fail with an authorization exception.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2695">IMPALA-2695</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2664-552">
<title id="IMPALA-2648-552">Avoid sending large partition stats objects over thrift</title>
<conbody>
<p>
The <cmdname>catalogd</cmdname> daemon could encounter a serious error
when loading the incremental statistics metadata for tables with large
numbers of partitions and columns. The problem occurred when the
internal representation of metadata for the table exceeded 2
GB, for example in a table with 20K partitions and 77 columns. The fix causes a
<codeph>COMPUTE INCREMENTAL STATS</codeph> operation to fail if it
would produce metadata that exceeded the maximum size.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2664">IMPALA-2664</xref>,
<xref keyref="IMPALA-2648">IMPALA-2648</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2226">
<title>Throw AnalysisError if table properties are too large (for the Hive metastore)</title>
<conbody>
<p>
<codeph>CREATE TABLE</codeph> or <codeph>ALTER TABLE</codeph> statements could fail with
metastore database errors due to length limits on the <codeph>SERDEPROPERTIES</codeph> and <codeph>TBLPROPERTIES</codeph> clauses.
(The limit on key size is 256, while the limit on value size is 4000.) The fix makes Impala handle these error conditions
more cleanly, by detecting too-long values rather than passing them to the metastore database.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2226">IMPALA-2226</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2273-552">
<title>Make MAX_PAGE_HEADER_SIZE configurable</title>
<conbody>
<p>
Impala could fail to access Parquet data files with page headers larger than 8 MB, which could
occur, for example, if the minimum or maximum values for a column were long strings. The
fix adds a configuration setting <codeph>--max_page_header_size</codeph>, which you can use to
increase the Impala size limit to a value higher than 8 MB.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2273">IMPALA-2273</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2473">
<title>reduce scanner memory usage</title>
<conbody>
<p>
Queries on Parquet tables could consume excessive memory (potentially multiple gigabytes) due to producing
large intermediate data values while evaluating groups of rows. The workaround was to reduce the size of
the <codeph>NUM_SCANNER_THREADS</codeph> query option, the <codeph>BATCH_SIZE</codeph> query option,
or both.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2473">IMPALA-2473</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2113">
<title>Handle error when distinct and aggregates are used with a having clause</title>
<conbody>
<p>
A query that included a <codeph>DISTINCT</codeph> operator and a <codeph>HAVING</codeph> clause, but no
aggregate functions or <codeph>GROUP BY</codeph>, would fail with an uninformative error message.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2113">IMPALA-2113</xref></p>
<!-- Don't think this is really a 'major' issue. Left a comment in the IMPALA JIRA. -->
</conbody>
</concept>
<concept id="IMPALA-2225">
<title>Handle error when star based select item and aggregate are incorrectly used</title>
<conbody>
<p>
A query that included <codeph>*</codeph> in the <codeph>SELECT</codeph> list, in addition to an
aggregate function call, would fail with an uninformative message if the query had no
<codeph>GROUP BY</codeph> clause.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2225">IMPALA-2225</xref></p>
<!-- Don't think this is really a 'major' issue. Left a comment in the IMPALA JIRA. -->
</conbody>
</concept>
<concept id="IMPALA-2731-552">
<title>Refactor MemPool usage in HBase scan node</title>
<conbody>
<p>
Queries involving HBase tables used substantially more memory than in earlier Impala versions.
The problem occurred starting in Impala 2.2.8, as a result of the changes for IMPALA-2284.
The fix for this issue involves removing a separate memory work area for HBase queries
and reusing other memory that was already allocated.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2731">IMPALA-2731</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1459-552">
<title>Fix migration/assignment of On-clause predicates inside inline views</title>
<conbody>
<p>
Some combinations of <codeph>ON</codeph> clauses in join queries could result in comparisons
being applied at the wrong stage of query processing, leading to incorrect results.
Wrong predicate assignment could happen under the following conditions:
</p>
<ul>
<li>
The query includes an inline view that contains an outer join.
</li>
<li>
That inline view is joined with another table in the enclosing query block.
</li>
<li>
That join has an <codeph>ON</codeph> clause containing a predicate that
only references columns originating from the outer-joined tables inside the inline view.
</li>
</ul>
<p><b>Bug:</b> <xref keyref="IMPALA-1459">IMPALA-1459</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2558">
<title>DCHECK in parquet scanner after block read error</title>
<conbody>
<p>
A debug build of Impala could encounter a serious error after encountering some kinds of I/O
errors for Parquet files. This issue only occurred in debug builds, not release builds.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2558">IMPALA-2558</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2535">
<title>PAGG hits mem_limit when switching to I/O buffers</title>
<conbody>
<p>
A join query could fail with an out-of-memory error despite the apparent presence of sufficient memory.
The cause was the internal ordering of operations that could cause a later phase of the query to
allocate memory required by an earlier phase of the query. The workaround was to either increase
or decrease the <codeph>MEM_LIMIT</codeph> query option, because the issue would only occur for a specific
combination of memory limit and data volume.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2535">IMPALA-2535</xref></p>
</conbody>
</concept>
<!-- This is a pretty incomprehensible JIRA title but there isn't any clearer title in the spreadsheet. -->
<!-- Merged with the following JIRA entry (which has a more understandable title) because it's part of the same root cause. -->
<concept id="IMPALA-2559">
<title>Fix check failed: sorter_runs_.back()->is_pinned_</title>
<conbody>
<p>
A query could fail with an internal error while calculating the memory limit.
This was an infrequent condition uncovered during stress testing.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2559">IMPALA-2559</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2614">
<title>Don't ignore Status returned by DataStreamRecvr::CreateMerger()</title>
<conbody>
<p>
A query could fail with an internal error while calculating the memory limit.
This was an infrequent condition uncovered during stress testing.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2614">IMPALA-2614</xref>,
<xref keyref="IMPALA-2559">IMPALA-2559</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2591">
<title>DataStreamSender::Send() does not return an error status if SendBatch() failed</title>
<conbody>
<!-- Symptoms listed in the JIRA are very vague. Left a note asking Sailesh for more detail. -->
<p>
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2591">IMPALA-2591</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2598">
<title>Re-enable SSL and Kerberos on server-server</title>
<conbody>
<p>
These fixes lift the restriction on using SSL encryption and Kerberos authentication together
for internal communication between Impala components.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2598">IMPALA-2598</xref>,
<xref keyref="IMPALA-2747">IMPALA-2747</xref></p>
</conbody>
</concept>
<!--
<concept id="IMPALA-2747">
<title>Thrift-client cleans openSSL state before using it in the case of the catalog</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-2747">IMPALA-2747</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
</concept>
<concept rev="2.3.1" id="fixed_issues_231">
<title>Issues Fixed in <keyword keyref="impala231"/></title>
<conbody>
<p conref="../shared/impala_common.xml#common/impala231_noop"/>
</conbody>
</concept>
<concept rev="2.3.0" id="fixed_issues_230">
<title>Issues Fixed in <keyword keyref="impala230"/></title>
<conbody>
<p> This section lists the most serious or frequently encountered customer
issues fixed in <keyword keyref="impala23_full"/>. Any issues already fixed in
<keyword keyref="impala22"/> maintenance releases (up through <keyword keyref="impala228"/>) are also included.
Those issues are listed under the respective <keyword keyref="impala22"/> sections and are
not repeated here.
</p>
<!-- Raw "Fixed Issue" info from Silvius' working doc: https://docs.google.com/document/d/1PCboHo2Em-fySAHr3YF1ZZxMEfK8_vFFpP1rkWzyRZM/edit#
Bug
IMPALA-2168
SEGV in BufferedTupleStream::num_rows() in a query with very large, spilling ROJ
crash, resource-management
Bug
IMPALA-2213
Parquet read can fail if file metadata is stale
Bug
IMPALA-2192
Wrong results on TPCH-Q11 during nightly data load
broken-build, correctness
Bug
IMPALA-2330
SwitchToIoBuffers may leave stream to wrong state
resource-management
Bug
IMPALA-2440
Full outer join using non-partitioned HJ can incorrectly produce extra row of nulls
correctness
Bug
IMPALA-2435
Sorter::AddBatch does not check the Status of unsorted_run_->Init()
Bug
IMPALA-2378
Impalad exceeded its mem limit
crash, resource-management
Bug
IMPALA-2369
Crash: impala::Sorter::Run::Init
crash, nested_types, query_generator
Bug
IMPALA-2366
DiskIoMgr error handling with fread()
Bug
IMPALA-2357
Crash: impala::BufferedBlockMgr::Block::BytesRemaining
crash, nested_types, query_generator
Bug
IMPALA-2348
The Catalog does not close the connection to the HMS after table invalidation
catalog-server, hive
Bug
IMPALA-2319
Crash with nested loop join + limit
Bug
IMPALA-2314
Crash in PHJ::PrepareNextPartition() in call to LargestSpilledPartition()
Bug
IMPALA-2165
Avoid estimating cardinality 0 in SCAN node
performance, planner, resource-management
Improvement
IMPALA-2143
Avoid impala-shell sending password in plain text with ssl enabled
Bug
IMPALA-2133
HBase filter doesn't unescape string values correctly
Bug
IMPALA-2090
Incorrect handling of leap years when adding 1 month interval to date
correctness, query_generator
Bug
IMPALA-2086
Incorrect handling of leap years when adding 1 year interval to date
correctness, query_generator
New Feature
IMPALA-2084
SPLIT_PART and REGEXP_LIKE functions for Tableau pushdown
New Feature
IMPALA-2081
Add PERCENT_RANK, NTILE, CUME_DIST analytic window functions
planner, ramp-up-planner
Bug
IMPALA-2016
Cancelling query with group_concat causes crash
crash, query-lifecycle
Improvement
IMPALA-1975
Automatically reconnect to Impala in the shell if the connection is lost
ramp-up-task, shell
Improvement - perf
IMPALA-1968
Bad plan choices due to incorrect number of estimated hosts.
performance
Bug
IMPALA-1947
Avro cols may load incorrectly if schema inconsistent with StorageDescriptor
catalog-server, correctness
Bug
IMPALA-1917
Query return empty result if it contains NullLiteral in inlineview
correctness, regression
(Possible new feature entry?)
Improvement - perf
IMPALA-1881
Maximize data locality when scanning Parquet files with multiple row groups.
parquet, performance
(Possible new feature entry?)
Improvement
IMPALA-1870
Support users containing commas in authorized_proxy_user_config
ramp-up-introductory, ramp-up-task
Bug
IMPALA-1859
INSERT OVERWRITE with empty result set leaves existing records in partitioned table
impala, insert, overwrite, partitions
Bug
IMPALA-1813
CREATE TABLE LIKE ... STORED AS AVRO does not work.
usability
Improvement
IMPALA-1136
Impala is unable to read hive tables created with the "STORED AS AVRO" clause
ramp-up-planner, ramp-up-task, usability
(Possible new feature entry?)
Improvement - perf
IMPALA-1588
Cache HDFS file handle to avoid repeated hdfs fopen call
Bug
IMPALA-1675
Timestamp: Adding/subtracting very large time intervals to timestamps produces incorrect result
Improvement
IMPALA-1982
parquet.hive.serde.ParquetHiveSerDe is deprecated
Skye Wanderman-Milne
Critical
supportability
Bug
IMPALA-1906
PARQUET_FILE_SIZE query option not always honored due to an internal miscalculation.
Vlad Berindei
Critical
parquet, ramp-up-introductory, ramp-up-task
-->
</conbody>
<concept id="serious_230">
<title>Fixes for Serious Errors</title>
<conbody>
<p>
A number of issues were resolved that could result in serious errors
when encountered. The most critical or commonly encountered are
listed here.
</p>
<p><b>Bugs:</b>
<!-- Bugs marked as 'crash'.
IMPALA-2168
IMPALA-2378
IMPALA-2369
IMPALA-2357
IMPALA-2319
IMPALA-2314
IMPALA-2016
-->
<xref keyref="IMPALA-2168">IMPALA-2168</xref>,
<xref keyref="IMPALA-2378">IMPALA-2378</xref>,
<xref keyref="IMPALA-2369">IMPALA-2369</xref>,
<xref keyref="IMPALA-2357">IMPALA-2357</xref>,
<xref keyref="IMPALA-2319">IMPALA-2319</xref>,
<xref keyref="IMPALA-2314">IMPALA-2314</xref>,
<xref keyref="IMPALA-2016">IMPALA-2016</xref>
</p>
</conbody>
</concept>
<concept id="correctness_230">
<title>Fixes for Correctness Errors</title>
<conbody>
<p>
A number of issues were resolved that could result in wrong results
when encountered. The most critical or commonly encountered are
listed here.
</p>
<p><b>Bugs:</b>
<!-- Bugs marked as 'correctness'.
IMPALA-2192
IMPALA-2440
IMPALA-2090
IMPALA-2086
IMPALA-1947
IMPALA-1917
-->
<xref keyref="IMPALA-2192">IMPALA-2192</xref>,
<xref keyref="IMPALA-2440">IMPALA-2440</xref>,
<xref keyref="IMPALA-2090">IMPALA-2090</xref>,
<xref keyref="IMPALA-2086">IMPALA-2086</xref>,
<xref keyref="IMPALA-1947">IMPALA-1947</xref>,
<xref keyref="IMPALA-1917">IMPALA-1917</xref>
</p>
</conbody>
</concept>
</concept>
<!-- All 2.2.x subsections go under here -->
<concept rev="2.2.10" id="fixed_issues_2210">
<title>Issues Fixed in <keyword keyref="impala2210"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.2.9" id="fixed_issues_229">
<title>Issues Fixed in <keyword keyref="impala229"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala229"/>.
</p>
</conbody>
<concept id="IMPALA-1917">
<!-- Title in Juan's spreadsheet. Actual JIRA title more useful for readers IMO. <title>Do not register aux equivalence predicates with NULL on either side.</title> -->
<title>Query return empty result if it contains NullLiteral in inlineview</title>
<conbody>
<p>
If an inline view in a <codeph>FROM</codeph> clause contained a <codeph>NULL</codeph> literal,
the result set was empty.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1917">IMPALA-1917</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2731">
<!-- Title in Juan's spreadsheet. Actual JIRA title more useful for readers IMO. <title>Refactor MemPool usage in HBase scan node.</title> -->
<title>HBase scan node uses 2-4x memory after upgrade to Impala 2.2.8</title>
<conbody>
<p>
Queries involving HBase tables used substantially more memory than in earlier Impala versions.
The problem occurred starting in Impala 2.2.8, as a result of the changes for IMPALA-2284.
The fix for this issue involves removing a separate memory work area for HBase queries
and reusing other memory that was already allocated.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2731">IMPALA-2731</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1459">
<title>Fix migration/assignment of On-clause predicates inside inline views</title>
<conbody>
<!-- Explanation comes from IMPALA-2665. -->
<p>
Some combinations of <codeph>ON</codeph> clauses in join queries could result in comparisons
being applied at the wrong stage of query processing, leading to incorrect results.
Wrong predicate assignment could happen under the following conditions:
</p>
<ul>
<li>
The query includes an inline view that contains an outer join.
</li>
<li>
That inline view is joined with another table in the enclosing query block.
</li>
<li>
That join has an <codeph>ON</codeph> clause containing a predicate that
only references columns originating from the outer-joined tables inside the inline view.
</li>
</ul>
<p><b>Bug:</b> <xref keyref="IMPALA-1459">IMPALA-1459</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2446">
<title>Fix wrong predicate assignment in outer joins</title>
<conbody>
<p>
The join predicate for an <codeph>OUTER JOIN</codeph> clause could be applied at the wrong stage
of query processing, leading to incorrect results.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2446">IMPALA-2446</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2648"><!-- Also IMPALA-2664 -->
<title>Avoid sending large partition stats objects over thrift</title>
<conbody>
<p> The <cmdname>catalogd</cmdname> daemon could encounter a serious error when loading the
incremental statistics metadata for tables with large numbers of partitions and columns.
The problem occurred when the internal representation of metadata for the table exceeded 2
GB, for example in a table with 20K partitions and 77 columns. The fix causes a
<codeph>COMPUTE INCREMENTAL STATS</codeph> operation to fail if it would produce
metadata that exceeded the maximum size. </p>
<p><b>Bug:</b> <xref keyref="IMPALA-2648">IMPALA-2648</xref>,
<xref keyref="IMPALA-2664">IMPALA-2664</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1675">
<title>Avoid overflow when adding large intervals to TIMESTAMPs</title>
<conbody>
<p> Adding or subtracting a large <codeph>INTERVAL</codeph> value to a
<codeph>TIMESTAMP</codeph> value could produce an incorrect result, with the value
wrapping instead of returning an out-of-range error. </p>
<p><b>Bug:</b> <xref keyref="IMPALA-1675">IMPALA-1675</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1949">
<title>Analysis exception when a binary operator contains an IN operator with values</title>
<conbody>
<p>
An <codeph>IN</codeph> operator with literal values could cause a statement to fail if used
as the argument to a binary operator, such as an equality test for a <codeph>BOOLEAN</codeph> value.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1949">IMPALA-1949</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2273">
<!-- To do: this detail would be useful to capture on the Impala + Parquet page too. -->
<title>Make MAX_PAGE_HEADER_SIZE configurable</title>
<conbody>
<p> Impala could fail to access Parquet data files with page headers larger than 8 MB, which
could occur, for example, if the minimum or maximum values for a column were long strings.
The fix adds a configuration setting <codeph>--max_page_header_size</codeph>, which you
can use to increase the Impala size limit to a value higher than 8 MB. </p>
<p><b>Bug:</b> <xref keyref="IMPALA-2273">IMPALA-2273</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2357">
<title>Fix spilling sorts with var-len slots that are NULL or empty.</title>
<conbody>
<p>
A query that activated the spill-to-disk mechanism could fail if it contained a sort expression
involving certain combinations of fixed-length or variable-length types.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2357">IMPALA-2357</xref></p>
</conbody>
</concept>
<concept id="block_pin_oom">
<title>Work-around IMPALA-2344: Fail query with OOM in case block->Pin() fails</title>
<conbody>
<p>
Some queries that activated the spill-to-disk mechanism could produce a serious error
if there was insufficient memory to set up internal work areas. Now those queries
produce normal out-of-memory errors instead.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2344">IMPALA-2344</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2252">
<title>Crash (likely race) tearing down BufferedBlockMgr on query failure</title>
<conbody>
<p>
A serious error could occur under rare circumstances, due to a race condition while freeing memory during heavily concurrent workloads.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2252">IMPALA-2252</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1746">
<title>QueryExecState doesn't check for query cancellation or errors</title>
<conbody>
<p>
A call to <codeph>SetError()</codeph> in a user-defined function (UDF) would not cause the query to fail as expected.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1746">IMPALA-1746</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2533">
<title>Impala throws IllegalStateException when inserting data into a partition while select
subquery group by partition columns</title>
<conbody>
<p>
An <codeph>INSERT ... SELECT</codeph> operation into a partitioned table could fail if the <codeph>SELECT</codeph> query
included a <codeph>GROUP BY</codeph> clause referring to the partition key columns.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2533">IMPALA-2533</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.2.8" id="fixed_issues_228">
<title>Issues Fixed in <keyword keyref="impala228"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala228"/>.
</p>
</conbody>
<!--
3e0fee5 IMPALA-2369, IMPALA-2435: Impala crashes when the sorter hits an OOM error
ef498c2 IMPALA-1136, IMPALA-2161: Skip \u0000 characters when dealing Avro schemas
8f97d4b IMPALA-2168: Do not try to access streams of repartitioned spilled partition in right-joins
* 294ac14 Additional checks to catch IMPALA-2168 earlier
b9b10ec IMPALA-2514: DCHECK on destroying an ExprContext
96206af IMPALA-2440: Fix old HJ full outer join with no rows
5e1a79a IMPALA-2366: check fread return code correctly
02f3e36 IMPALA-2477: Parquet metadata randomly 'appears stale'
76c1548 IMPALA-2213: make Parquet scanner fail query if the file size metadata is stale
10ba8ed IMPALA-2249: Avoid allocating StringBuffer > 1GB in ScannerContext::Stream::GetBytesInternal()
a87eaa0 IMPALA-2270: avoid FnvHash64to32 with empty inputs
7f6a521 IMPALA-2284: Disallow long (1<<30) strings in group_concat()
* 9aea5d7 Mistake in schema_constraints by the IMPALA-2130 patch (7c7e69b)
f8d32a4 IMPALA-2130: Wrong verification of Parquet file version
9ec5944 IMPALA-2348: The catalog does not close the connection to HMS during table invalidation
a78c303 IMPALA-2364: Wrong DCHECK in PHJ::ProcessProbeBatch
e6dec36 IMPALA-2314: LargestSpilledPartition was not checking if partition is closed
* 56d8bbd Checks for IMPALA-2314 and more accurate calculation of PHJ::LargestSpillPartition
3ad4e71 IMPALA-2256: Handle joins with right side of high cardinality and zero materialized slots
4422462 IMPALA-2165: Avoid cardinality 0 in scan nodes of small tables and low selectivity
1f199ec IMPALA-2292: Change the type of timestamp_col to string in the table no_avro_schema.
f6b4480 IMPALA-1136: Support loading Avro tables without an explicit Avro schema
d93fb5a IMPALA-1899: Cleanup handling of Hive's field schema
* = no JIRA assigned with it so it definitely is an internal-only modification.
-->
<concept id="IMPALA-1136">
<title>Impala is unable to read hive tables created with the "STORED AS AVRO" clause</title>
<conbody>
<p>Impala could not read Avro tables created in Hive with the <codeph>STORED AS AVRO</codeph> clause.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1136">IMPALA-1136</xref>,
<xref keyref="IMPALA-2161">IMPALA-2161</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2213">
<title>make Parquet scanner fail query if the file size metadata is stale</title>
<conbody>
<p>If a Parquet file in HDFS was overwritten by a smaller file, Impala could encounter a serious error.
Issuing a <codeph>INVALIDATE METADATA</codeph> statement before a subsequent query would avoid the error.
The fix allows Impala to handle such inconsistencies in Parquet file length cleanly regardless of whether the
table metadata is up-to-date.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2213">IMPALA-2213</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2249">
<title>Avoid allocating StringBuffer &gt; 1GB in ScannerContext::Stream::GetBytesInternal()</title>
<conbody>
<p>Impala could encounter a serious error when reading compressed text files larger than 1 GB. The fix causes Impala
to issue an error message instead in this case.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2249">IMPALA-2249</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2284">
<title>Disallow long (1&lt;&lt;30) strings in group_concat()</title>
<conbody>
<p>A query using the <codeph>group_concat()</codeph> function could encounter a serious error if the returned string value was larger than 1 GB.
Now the query fails with an error message in this case.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2284">IMPALA-2284</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2270">
<title>avoid FnvHash64to32 with empty inputs</title>
<conbody>
<p>An edge case in the algorithm used to distribute data among nodes could result in uneven distribution of work for some queries,
with all data sent to the same node.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2270">IMPALA-2270</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2348">
<title>The catalog does not close the connection to HMS during table invalidation</title>
<conbody>
<p>A communication error could occur between Impala and the Hive metastore database, causing Impala operations that update
table metadata to fail.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2348">IMPALA-2348</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2364-548">
<title>Wrong DCHECK in PHJ::ProcessProbeBatch</title>
<conbody>
<p>Certain queries could encounter a serious error if the spill-to-disk mechanism was activated.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2364">IMPALA-2364</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2165-548">
<title>Avoid cardinality 0 in scan nodes of small tables and low selectivity</title>
<conbody>
<p>Impala could generate a suboptimal query plan for some queries involving small tables.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2165">IMPALA-2165</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.2.7" id="fixed_issues_227">
<title>Issues Fixed in <keyword keyref="impala227"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala227"/>.
</p>
</conbody>
<concept id="IMPALA-1983">
<title>Warn if table stats are potentially corrupt.</title>
<conbody>
<p>
Impala warns if it detects a discrepancy in table statistics: a table considered to have zero rows even though there are data files present.
In this case, Impala also skips query optimizations that are normally applied to very small tables.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1983">IMPALA-1983:</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2266">
<title>Pass correct child node in 2nd phase merge aggregation.</title>
<conbody>
<p>A query could encounter a serious error if it included a particular combination of aggregate functions and inline views.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2266">IMPALA-2266</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2216">
<title>Set the output smap of an EmptySetNode produced from an empty inline view.</title>
<conbody>
<p>A query could encounter a serious error if it included an inline view whose subquery had no <codeph>FROM</codeph> clause.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2216">IMPALA-2216</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2203">
<title>Set an InsertStmt's result exprs from the source statement's result exprs.</title>
<conbody>
<p>
A <codeph>CREATE TABLE AS SELECT</codeph> or <codeph>INSERT ... SELECT</codeph> statement could produce
different results than a <codeph>SELECT</codeph> statement, for queries including a <codeph>FULL JOIN</codeph> clause
and including literal values in the select list.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2203">IMPALA-2203</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2088">
<title>Fix planning of empty union operands with analytics.</title>
<conbody>
<p>
A query could return incorrect results if it contained a <codeph>UNION</codeph> clause,
calls to analytic functions, and a constant expression that evaluated to <codeph>FALSE</codeph>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2088">IMPALA-2088</xref></p>
</conbody>
</concept>
<!--
<concept id="IMPALA-1756">
<title>Constant filter expressions are not checked for errors and state cleanup is not done before throwing exception.</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-1756">IMPALA-1756</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<!--
<concept id="IMPALA-2239">
<title>update misc.test to match the new .test file format</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-2239">IMPALA-2239</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-2089">
<title>Retain eq predicates bound by grouping slots with complex grouping exprs.</title>
<conbody>
<p>
A query containing an <codeph>INNER JOIN</codeph> clause could return undesired rows.
Some predicate specified in the <codeph>ON</codeph> clause could be omitted from the filtering operation.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2089">IMPALA-2089</xref></p>
</conbody>
</concept>
<!--
<concept id="IMPALA-2201">
<title>Unconditionally update the partition stats and row count.</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-2201">IMPALA-2201</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-2199">
<title>Row count not set for empty partition when spec is used with compute incremental stats</title>
<conbody>
<p>
A <codeph>COMPUTE INCREMENTAL STATS</codeph> statement could leave the row count for an emptyp partition as -1,
rather than initializing the row count to 0. The missing statistic value could result in reduced query performance.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2199">IMPALA-2199</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1898">
<title>Explicit aliases + ordinals analysis bug</title>
<conbody>
<p>
A query could encounter a serious error if it included column aliases with the same names as table columns, and used
ordinal numbers in an <codeph>ORDER BY</codeph> or <codeph>GROUP BY</codeph> clause.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1898">IMPALA-1898</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1987">
<title>Fix TupleIsNullPredicate to return false if no tuples are nullable.</title>
<conbody>
<p>
A query could return incorrect results if it included an outer join clause, inline views, and calls to functions such as <codeph>coalesce()</codeph>
that can generate <codeph>NULL</codeph> values.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1987">IMPALA-1987</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2178">
<title>fix Expr::ComputeResultsLayout() logic</title>
<conbody>
<p>
A query could return incorrect results if the table contained multiple <codeph>CHAR</codeph> columns with length of 2 or less,
and the query included a <codeph>GROUP BY</codeph> clause that referred to multiple such columns.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2178">IMPALA-2178</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1737">
<title>Substitute an InsertStmt's partition key exprs with the root node's smap.</title>
<conbody>
<p>
An <codeph>INSERT</codeph> statement could encounter a serious error if the <codeph>SELECT</codeph>
portion called an analytic function.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1737">IMPALA-1737</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.2.5" id="fixed_issues_225">
<title>Issues Fixed in Impala <keyword keyref="impala225"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala225"/>.
</p>
</conbody>
<concept id="IMPALA-2048">
<title>Impala DML/DDL operations corrupt table metadata leading to Hive query failures</title>
<conbody>
<p>
When the Impala <codeph>COMPUTE STATS</codeph> statement was run on a partitioned Parquet table that was created in Hive, the table subsequently became inaccessible in Hive.
The table was still accessible to Impala. Regaining access in Hive required a workaround of creating a new table. The error displayed in Hive was:
</p>
<codeblock>Error: Error while compiling statement: FAILED: SemanticException Class not found: org.apache.impala.hive.serde.ParquetInputFormat (state=42000,code=40000)</codeblock>
<p><b>Bug:</b> <xref keyref="IMPALA-2048">IMPALA-2048</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1929">
<title>Avoiding a DCHECK of NULL hash table in spilled right joins</title>
<!-- Real JIRA title: Crash because PHJ::NextSpilledProbeRowBatch() tries to use a NULL hash_tbl -->
<conbody>
<p>
A query could encounter a serious error if it contained a <codeph>RIGHT OUTER</codeph>, <codeph>RIGHT ANTI</codeph>, or <codeph>FULL OUTER</codeph> join clause
and approached the memory limit on a host so that the <q>spill to disk</q> mechanism was activated.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1929">IMPALA-1929</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2136">
<title>Bug in PrintTColumnValue caused wrong stats for TINYINT partition cols</title>
<!-- Real JIRA title: Partitions with TINYINT partition columns will always have 0 estimated rows after compute stats -->
<conbody>
<p>
Declaring a partition key column as a <codeph>TINYINT</codeph> caused problems with the <codeph>COMPUTE STATS</codeph> statement.
The associated partitions would always have zero estimated rows, leading to potential inefficient query plans.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2136">IMPALA-2136</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2018">
<title>Where clause does not propagate to joins inside nested views</title>
<!-- Real JIRA title: Where clause does not propagate to joins inside nested views -->
<conbody>
<p>
A query that referred to a view whose query referred to another view containing a join, could return incorrect results.
<codeph>WHERE</codeph> clauses for the outermost query were not always applied, causing the result
set to include additional rows that should have been filtered out.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2018">IMPALA-2018</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2064">
<title>Add effective_user() builtin</title>
<!-- Real JIRA title: Add effective_user() builtin -->
<conbody>
<p>
The <codeph>user()</codeph> function returned the name of the logged-in user, which might not be the
same as the user name being checked for authorization if, for example, delegation was enabled.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2064">IMPALA-2064</xref></p>
<p><b>Resolution:</b> Rather than change the behavior of the <codeph>user()</codeph> function,
the fix introduces an additional function <codeph>effective_user()</codeph> that returns the user name that is checked during authorization.</p>
</conbody>
</concept>
<concept id="IMPALA-2125">
<title>Make UTC to local TimestampValue conversion faster.</title>
<!-- Real JIRA title: Improve perf when reading timestamps from parquet files written by hive -->
<conbody>
<p>
Query performance was improved substantially for Parquet files containing <codeph>TIMESTAMP</codeph>
data written by Hive, when the <codeph>-convert_legacy_hive_parquet_utc_timestamps=true</codeph> setting
is in effect.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2125">IMPALA-2125</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2065">
<title>Workaround IMPALA-1619 in BufferedBlockMgr::ConsumeMemory()</title>
<!-- Real JIRA title: Crash: impala::BufferedBlockMgr::ConsumeMemory (PartitionedHashJoinNode) -->
<conbody>
<p>
A join query could encounter a serious error if the query
approached the memory limit on a host so that the <q>spill to disk</q> mechanism was activated,
and data volume in the join was large enough that an internal memory buffer exceeded 1 GB in size on a particular host.
(Exceeding this limit would only happen for huge join queries, because Impala could split this intermediate data
into 16 parts during the join query, and the buffer only contains compact bookkeeping data rather than the actual
join column data.)
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2065">IMPALA-2065</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.2.3" id="fixed_issues_223">
<title>Issues Fixed in <keyword keyref="impala223"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala223"/>.
</p>
</conbody>
<concept id="isilon_support">
<title>Enable using Isilon as the underlying filesystem.</title>
<conbody>
<p>
Enabling Impala to work with the Isilon filesystem involves a number of
fixes to performance and flexibility for dealing with I/O using remote reads.
See <xref href="impala_isilon.xml#impala_isilon"/> for details on using Impala and Isilon together.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1968">IMPALA-1968</xref>,
<xref keyref="IMPALA-1730">IMPALA-1730</xref></p>
</conbody>
</concept>
<!-- Covered under the initial Isilon umbrella issue.
<concept id="IMPALA-1968">
<title>Part 1: Improve planner numNodes estimate for remote scans</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-1968">IMPALA-1968</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<!-- Covered under the initial Isilon umbrella issue.
<concept id="IMPALA-1730">
<title>reduce scanner thread spinning windows</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-1730">IMPALA-1730</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-1381">
<title>Expand set of supported timezones.</title>
<conbody>
<p>
The set of timezones recognized by Impala was expanded.
You can always find the latest list of supported timezones in the
Impala source code, in the file
<xref keyref="timezone_db.cc">timezone_db.cc</xref>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1381">IMPALA-1381</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1963">
<title>Impala Timestamp ISO-8601 Support.</title>
<conbody>
<p>
Impala can now process <codeph>TIMESTAMP</codeph> literals including a trailing <codeph>z</codeph>,
signifying <q>Zulu</q> time, a synonym for UTC.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1963">IMPALA-1963</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2008">
<title>Fix wrong warning when insert overwrite to empty table</title>
<conbody>
<p>
An <codeph>INSERT OVERWRITE</codeph> operation would encounter an error
if the <codeph>SELECT</codeph> portion of the statement returned zero
rows, such as with a <codeph>LIMIT 0</codeph> clause.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2008">IMPALA-2008</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1952">
<!-- Fixed in first in earlier release and 'frontported' to this one. -->
<!-- Identical issue farther down in this page, just with a slightly mangled ID. -->
<title>Expand parsing of decimals to include scientific notation</title>
<conbody>
<p>
<codeph>DECIMAL</codeph> literals can now include <codeph>e</codeph> scientific notation.
For example, now <codeph>CAST(1e3 AS DECIMAL(5,3))</codeph> is a valid expression.
Formerly it returned <codeph>NULL</codeph>.
Some scientific expressions might have worked before in <codeph>DECIMAL</codeph> context, but only when the scale was 0.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1952">IMPALA-1952</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.2.1" id="fixed_issues_221">
<title>Issues Fixed in <keyword keyref="impala221"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala221"/>.
</p>
</conbody>
</concept>
<concept rev="2.2.0" id="fixed_issues_220">
<title>Issues Fixed in <keyword keyref="impala220"/></title>
<conbody>
<p>
This section lists the most frequently encountered customer issues fixed in <keyword keyref="impala220"/>.
</p>
<p>
For the full list of fixed issues in <keyword keyref="impala220"/>, including over 40 critical issues, see
<xref keyref="jira_list_220"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
My proposed list to Silvius:
IMPALA-1854 Impala may leak or use too many file descriptors
IMPALA-1712 Spurious stale block locality messages
IMPALA-1711 DROP TABLE fails after COMPUTE STATS and ALTER TABLE RENAME to a different database.
IMPALA-1674 IMPALA-1556 causes memory leak with secure connections
IMPALA-1623 unix_timestamp() does not return correct time
IMPALA-1476 Impala incorrectly handles text data missing a newline on the last line
IMPALA-1194 Memory leak using zlib on CentOS6 (and possibly other platforms)
IMPALA-1805 Impala's ACLs check do not consider all group ACLs, only checked first one.
IMPALA-1794 IoMgr infinite loop opening/closing file when shorter than cached metadata size
IMPALA-1705 Cannot write Parquet files when values are larger than 64KB
IMPALA-1646 Impala Will Not Run on Certain Intel CPUs
Plus one or more transferred over from known issues:
IMPALA-1607
-->
<concept id="IMPALA-1607">
<title>Altering a column's type causes column stats to stop sticking for that column</title>
<conbody>
<p>
When the type of a column was changed in either Hive or Impala through <codeph>ALTER TABLE CHANGE COLUMN</codeph>, the metastore database did not correctly propagate
that change to the table that contains the column statistics. The statistics (particularly the <codeph>NDV</codeph>) for that column were permanently reset
and could not be changed by Impala's <codeph>COMPUTE STATS</codeph> command. The underlying cause is a Hive bug (HIVE-9866).
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1607">IMPALA-1607</xref></p>
<p><b>Resolution:</b> Resolved by incorporating the fix for <xref href="https://issues.apache.org/jira/browse/HIVE-9866" scope="external" format="html">HIVE-9866</xref>.</p>
<p><b>Workaround:</b> On systems without the corresponding Hive fix, change the column back to its original type. The stats reappear and you can recompute or drop them.</p>
</conbody>
</concept>
<concept id="IMPALA-1854">
<title>Impala may leak or use too many file descriptors</title>
<conbody>
<p>If a file was truncated in HDFS without a corresponding <codeph>REFRESH</codeph> in Impala, Impala could allocate memory for file descriptors and not free that memory.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1854">IMPALA-1854</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1712">
<title>Spurious stale block locality messages</title>
<conbody>
<p>
Impala could issue messages stating the block locality metadata was stale,
when the metadata was actually fine.
The internal <q>remote bytes read</q> counter was not being reset properly.
This issue did not cause an actual slowdown in query execution,
but the spurious error could result in unnecessary debugging work
and unnecessary use of the <codeph>INVALIDATE METADATA</codeph> statement.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1712">IMPALA-1712</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1711">
<title>DROP TABLE fails after COMPUTE STATS and ALTER TABLE RENAME to a different database.</title>
<conbody>
<p>
When a table was moved from one database to another, the column statistics were not pointed to the new database.i
This could result in lower performance for queries due to unavailable statistics, and also an inability
to drop the table.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1711">IMPALA-1711</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1674">
<title>IMPALA-1556 causes memory leak with secure connections</title>
<conbody>
<p>
<cmdname>impalad</cmdname> daemons could experience a memory leak on clusters using Kerberos
authentication, with memory usage growing as more data is transferred across the secure channel, either
to the client program or between Impala nodes. The same issue affected LDAP-secured clusters to a lesser
degree, because the LDAP security only covers data transferred back to client programs.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1674">IMPALA-1674</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1623">
<title>unix_timestamp() does not return correct time</title>
<conbody>
<p>
The <codeph>unix_timestamp()</codeph> function could return an incorrect value (a constant value of 1).
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1623">IMPALA-1623</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1476">
<title>Impala incorrectly handles text data missing a newline on the last line</title>
<conbody>
<p>
Some queries did not recognize the final line of a text data file if the line did not end with a newline character.
This could lead to inconsistent results, such as a different number of rows for <codeph>SELECT COUNT(*)</codeph>
as opposed to <codeph>SELECT *</codeph>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1476">IMPALA-1476</xref></p>
</conbody>
</concept>
<!--
<concept id="IMPALA-1194">
<title>Memory leak using zlib on CentOS6 (and possibly other platforms)</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-1194">IMPALA-1194</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-1805">
<title>Impala's ACLs check do not consider all group ACLs, only checked first one.</title>
<conbody>
<p>
If the HDFS user ID associated with the <cmdname>impalad</cmdname> process had read or write access in HDFS based on group membership,
Impala statements could still fail with HDFS permission errors if that group was not the first listed group for that user ID.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1805">IMPALA-1805</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1794">
<title>Fix infinite loop opening or closing file with invalid metadata</title>
<conbody>
<p>
Truncating a file in HDFS, after Impala had cached the file metadata, could produce a hang when Impala
queried a table containing that file.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1794">IMPALA-1794</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1705">
<title>Cannot write Parquet files when values are larger than 64KB</title>
<conbody>
<p>
Impala could sometimes fail to <codeph>INSERT</codeph> into a Parquet table if a column value such as a <codeph>STRING</codeph>
was larger than 64 KB.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1705">IMPALA-1705</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1646">
<title>Impala Will Not Run on Certain Intel CPUs</title>
<conbody>
<p>
This fix relaxes the CPU requirement for Impala. Now only the SSSE3 instruction set is required. Formerly, SSE4.1
instructions were generated, making Impala refuse to start on some older CPUs.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1646">IMPALA-1646</xref></p>
</conbody>
</concept>
</concept>
<!-- All 2.1.x subsections go under here -->
<concept rev="2.1.10" id="fixed_issues_2110">
<title>Issues Fixed in <keyword keyref="impala2110"/></title>
<conbody>
<p></p>
</conbody>
</concept>
<concept rev="2.1.7" id="fixed_issues_217">
<title>Issues Fixed in <keyword keyref="impala217"/></title>
<conbody>
<p>
This section lists the most significant Impala issues fixed in <keyword keyref="impala217"/>.
</p>
</conbody>
<concept id="IMPALA-1917-539">
<!-- Title in Juan's spreadsheet. Actual JIRA title more useful for readers IMO. <title>Do not register aux equivalence predicates with NULL on either side.</title> -->
<title>Query return empty result if it contains NullLiteral in inlineview</title>
<conbody>
<p>
If an inline view in a <codeph>FROM</codeph> clause contained a <codeph>NULL</codeph> literal,
the result set was empty.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1917">IMPALA-1917</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2264">
<title>Fix edge cases for decimal/integer cast</title>
<conbody>
<p>
A value of type <codeph>DECIMAL(3,0)</codeph> could be incorrectly cast to <codeph>TINYINT</codeph>.
The resulting out-of-range value could be incorrect. After the fix, the smallest type that is allowed
for this cast is <codeph>INT</codeph>, and attempting to use <codeph>DECIMAL(3,0)</codeph> in a
<codeph>TINYINT</codeph> context produces a <q>loss of precision</q> error.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2264">IMPALA-2264</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1756">
<title>Constant filter expressions are not checked for errors and state cleanup on exception / DCHECK on destroying an ExprContext</title>
<conbody>
<p>
An invalid constant expression in a <codeph>WHERE</codeph> clause (for example, an invalid
regular expression pattern) could fail to clean up internal state after raising a query error.
Therefore, certain combinations of invalid expressions in a query could cause a crash, or cause a query to continue
when it should halt with an error.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1756">IMPALA-1756</xref>,
<xref keyref="IMPALA-2514">IMPALA-2514</xref></p>
</conbody>
</concept>
<!-- Combined with IMPALA-1756 above.
<concept id="IMPALA-2514">
<title>DCHECK on destroying an ExprContext</title>
<conbody>
<p>
Some internal state was not cleaned up after evaluating an invalid expression.
Therefore, certain combinations of invalid expressions in a query could cause a crash, or cause a query to continue
when it should halt with an error.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2514">IMPALA-2514</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-1746-539">
<title>QueryExecState does not check for query cancellation or
errors</title>
<conbody>
<p>
A call to <codeph>SetError()</codeph> in a user-defined function (UDF) would not cause the query to fail as expected.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1746">IMPALA-1746</xref>,
<xref keyref="IMPALA-2141">IMPALA-2141</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.1.6" id="fixed_issues_216">
<title>Issues Fixed in Impala 2.1.6</title>
<conbody>
<p>
This section lists the most significant Impala issues fixed in Impala 2.1.6.
</p>
</conbody>
<!--
9f2a54f IMPALA-2364: Wrong DCHECK in PHJ::ProcessProbeBatch
7789e19 IMPALA-2165: Avoid cardinality 0 in scan nodes of small tables and low selectivity
902c88b IMPALA-2314: LargestSpilledPartition was not checking if partition is closed
1be8617 IMPALA-2178: fix Expr::ComputeResultsLayout() logic
* afc2cf6 IMPALA-2133: Properly unescape string value for HBase filters
25210af IMPALA-1929: Avoiding a DCHECK of NULL hash table in spilled right joins
* Designated as non-critical when previously published in a different 5.x.y maintenance release.
-->
<concept id="IMPALA-2364">
<title>Wrong DCHECK in PHJ::ProcessProbeBatch</title>
<conbody>
<p>Certain queries could encounter a serious error if the spill-to-disk mechanism was activated.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2364">IMPALA-2364</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2314">
<title>LargestSpilledPartition was not checking if partition is closed</title>
<conbody>
<p>Certain queries could encounter a serious error if the spill-to-disk mechanism was activated.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2314">IMPALA-2314</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2165">
<title>Avoid cardinality 0 in scan nodes of small tables and low selectivity</title>
<conbody>
<p>Impala could generate a suboptimal query plan for some queries involving small tables.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2165">IMPALA-2165</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2178-238">
<title>fix Expr::ComputeResultsLayout() logic</title>
<conbody>
<p>Queries using the <codeph>GROUP BY</codeph> operator on multiple <codeph>CHAR</codeph> columns with length less than or equal to 2 characters
could return incorrect results for some columns.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2178">IMPALA-2178</xref></p>
</conbody>
</concept>
<concept id="IMPALA-2133">
<title>Properly unescape string value for HBase filters</title>
<conbody>
<p>Queries against HBase tables could return incomplete results if the <codeph>WHERE</codeph> clause included string comparisons using literals
containing escaped quotation marks.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-2133">IMPALA-2133</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1929-238">
<title>Avoiding a DCHECK of NULL hash table in spilled right joins</title>
<!-- Real JIRA title: Crash because PHJ::NextSpilledProbeRowBatch() tries to use a NULL hash_tbl -->
<conbody>
<p>
A query could encounter a serious error if it contained a <codeph>RIGHT OUTER</codeph>, <codeph>RIGHT ANTI</codeph>, or <codeph>FULL OUTER</codeph> join clause
and approached the memory limit on a host so that the <q>spill to disk</q> mechanism was activated.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1929">IMPALA-1929</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.1.5" id="fixed_issues_215">
<title>Issues Fixed in Impala 2.1.5</title>
<conbody>
<p>
This section lists the most significant Impala issues fixed in Impala 2.1.5.
</p>
</conbody>
<!--
3a8716c Parquet: Fix value def level when max def level is 0
856ee01 IMPALA-1774 Allow querying Parquet tables with complex-typed columns as long as those columns are not selected.
82b8ee4 IMPALA-1919: Avoid calling ProcessBatch with out_batch->AtCapacity in right joins
11c852c IMPALA-2002: Provide way to cache ext data source classes
2c4f716 IMPALA-1726: Move JNI / Thrift utilities to separate header
-->
<concept id="IMPALA-1919">
<title>Avoid calling ProcessBatch with out_batch-&gt;AtCapacity in right joins</title>
<conbody>
<p>
Queries including <codeph>RIGHT OUTER JOIN</codeph>, <codeph>RIGHT ANTI JOIN</codeph>, or <codeph>FULL OUTER JOIN</codeph>
clauses and involving a high volume of data could encounter a serious error.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1919">IMPALA-1919</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.1.4" id="fixed_issues_214">
<title>Issues Fixed in Impala 2.1.4</title>
<conbody>
<p>
This section lists the most significant Impala issues fixed in Impala 2.1.4.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
d8bce5d IMPALA-1519: Fix wrapping of exprs via a TupleIsNullPredicate with analytics.
42e4b8d IMPALA-1952: Expand parsing of decimals to include scientific notation
d4cdb61 IMPALA-1860: INSERT/CTAS evaluates and applies constant predicates.
b97920d IMPALA-1900: Assign predicates below analytic functions with a compatible partition by clause
cdf547a IMPALA-1376: Split up Planner into multiple classes.
47d87ea IMPALA-1888: FIRST_VALUE may produce incorrect results with preceding windows
16725e5 IMPALA-1559: FIRST_VALUE rewrite fn type might not match slot type
c132c75 IMPALA-1808: AnalyticEvalNode cannot handle partition/order by exprs with NaN
082b806 IMPALA-1562: AnalyticEvalNode not properly handling nullable tuples
-->
<concept id="IMPALA-1519">
<title>Crash: impala::TupleIsNullPredicate::Prepare</title>
<conbody>
<p>
When expressions that tested for <codeph>NULL</codeph> were used in combination with analytic functions, an error could occur.
(The original crash issue was fixed by an earlier patch.)
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1519">IMPALA-1519</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1952-214">
<title>Expand parsing of decimals to include scientific notation</title>
<conbody>
<p>
<codeph>DECIMAL</codeph> literals could include <codeph>e</codeph> scientific notation.
For example, now <codeph>CAST(1e3 AS DECIMAL(5,3))</codeph> is a valid expression.
Formerly it returned <codeph>NULL</codeph>.
Some scientific expressions might have worked before in <codeph>DECIMAL</codeph> context, but only when the scale was 0.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1952">IMPALA-1952</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1860">
<title>INSERT/CTAS evaluates and applies constant predicates.</title>
<conbody>
<p>
An <codeph>INSERT OVERWRITE</codeph> statement would write new data, even if
a constant clause such as <codeph>WHERE 1 = 0</codeph> should have
prevented it from writing any rows.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1860">IMPALA-1860</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1900">
<title>Assign predicates below analytic functions with a compatible partition by clause</title>
<conbody>
<p>
If the <codeph>PARTITION BY</codeph> clause in an analytic function refers to partition key columns in a partitioned table,
now Impala can perform partition pruning during the analytic query.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1900">IMPALA-1900</xref></p>
</conbody>
</concept>
<!-- This is just code refactoring that should have no user-visible aspects.
(Although it did introduce some bugs that were the subject of other fixes.)
<concept id="IMPALA-1376">
<title>Split up Planner into multiple classes.</title>
<conbody>
<p>
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1376">IMPALA-1376</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-1888">
<title>FIRST_VALUE may produce incorrect results with preceding windows</title>
<conbody>
<p>
A query using the <codeph>FIRST_VALUE</codeph> analytic function
and a window defined with the <codeph>PRECEDING</codeph> keyword
could produce wrong results.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1888">IMPALA-1888</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1559">
<title>FIRST_VALUE rewrite fn type might not match slot type</title>
<conbody>
<p>
A query referencing a <codeph>DECIMAL</codeph> column with the <codeph>FIRST_VALUE</codeph> analytic function
could encounter an error.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1559">IMPALA-1559</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1808">
<title>AnalyticEvalNode cannot handle partition/order by exprs with NaN</title>
<conbody>
<p>
A query using an analytic function
could encounter an error if the
evaluation of an analytic <codeph>ORDER BY</codeph> or <codeph>PARTITION</codeph> expression
resulted in a NaN value, for example if the <codeph>ORDER BY</codeph> or <codeph>PARTITION</codeph>
contained a division operation where both operands were zero.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1808">IMPALA-1808</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1562">
<title>AnalyticEvalNode not properly handling nullable tuples</title>
<conbody>
<p>
An analytic function containing only an <codeph>OVER</codeph> clause could
encounter an error if another part of the query (specifically an outer join)
produced all-<codeph>NULL</codeph> tuples.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1562">IMPALA-1562</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.1.3" id="fixed_issues_213">
<title>Issues Fixed in Impala 2.1.3</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.1.3.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-1658">
<title>Add compatibility flag for Hive-Parquet-Timestamps</title>
<conbody>
<p>
When Hive writes <codeph>TIMESTAMP</codeph> values, it represents them
in the local time zone of the server. Impala expects <codeph>TIMESTAMP</codeph>
values to always be in the UTC time zone, possibly leading to inconsistent
results depending on which component created the data files.
This patch introduces a new startup flag,
<codeph>-convert_legacy_hive_parquet_utc_timestamps</codeph>
for the <cmdname>impalad</cmdname> daemon.
Specify <codeph>-convert_legacy_hive_parquet_utc_timestamps=true</codeph>
to make Impala recognize Parquet data files written by Hive
and automatically adjust <codeph>TIMESTAMP</codeph>
values read from those files into the UTC time zone for
compatibility with other Impala <codeph>TIMESTAMP</codeph> processing.
Although this setting is currently turned off by default,
consider enabling it if practical in your environment,
for maximum interoperability with Hive-created Parquet files.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1658">IMPALA-1658</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1738">
<title>Use snprintf() instead of lexical_cast() in float-to-string casts</title>
<conbody>
<p>
Converting a floating-point value to a <codeph>STRING</codeph> could be slower than necessary.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1738">IMPALA-1738</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1865">
<title>Fix partition spilling cleanup when new stream OOMs</title>
<conbody>
<p>
Certain calls to aggregate functions with <codeph>STRING</codeph> arguments could encounter a serious error
when the system ran low on memory and attempted to activate the spill-to-disk mechanism.
The error message referenced the function <codeph>impala::AggregateFunctions::StringValGetValue</codeph>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1865">IMPALA-1865</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1805-213">
<title>Impala's ACLs check do not consider all group ACLs, only checked first one.</title>
<conbody>
<p>
If the HDFS user ID associated with the <cmdname>impalad</cmdname> process had read or write access in HDFS based on group membership,
Impala statements could still fail with HDFS permission errors if that group was not the first listed group for that user ID.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1805">IMPALA-1805</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1794-213">
<title>Fix infinite loop opening or closing file with invalid metadata</title>
<conbody>
<p>
Truncating a file in HDFS, after Impala had cached the file metadata, could produce a hang when Impala
queried a table containing that file.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1794">IMPALA-1794</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1801">
<title>external-data-source-executor leaking global jni refs</title>
<conbody>
<p>
Successive calls to the data source API could result in excessive memory consumption,
with memory allocated but never freed.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1801">IMPALA-1801</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1712-213">
<title>Spurious stale block locality messages</title>
<conbody>
<p>
Impala could issue messages stating the block locality metadata was stale,
when the metadata was actually fine.
The internal <q>remote bytes read</q> counter was not being reset properly.
This issue did not cause an actual slowdown in query execution,
but the spurious error could result in unnecessary debugging work
and unnecessary use of the <codeph>INVALIDATE METADATA</codeph> statement.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1712">IMPALA-1712</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.1.2" id="fixed_issues_212">
<title>Issues Fixed in Impala 2.1.2</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.1.2.
</p>
<p>
For the full list of fixed issues in Impala 2.1.2, see
<xref keyref="jira_list_212"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
IMPALA-1622: fix overflow in StringParser::StringToFloatInternal()
IMPALA-1623: unix_timestamp() does not return correct time
IMPALA-1535: Partition pruning with NULL - also in 5.2.4 / 2.0.3 release notes
IMPALA-1120: Fetch column statistics using Hive 0.13 bulk API - also in 5.2.4 / 2.0.3 release notes
-->
<concept id="IMPALA-1622">
<title>Impala incorrectly handles double numbers with more than 19 significant decimal digits</title>
<conbody>
<p>
When a floating-point value was read from a text file and interpreted as a <codeph>FLOAT</codeph>
or <codeph>DOUBLE</codeph> value, it could be incorrectly interpreted if it included more than
19 significant digits.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1622">IMPALA-1622</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1623-213">
<title>unix_timestamp() does not return correct time</title>
<conbody>
<p>
The <codeph>unix_timestamp()</codeph> function could return an incorrect value (a constant value of 1).
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1623">IMPALA-1623</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1535">
<title>Row Count Mismatch: Partition pruning with NULL</title>
<conbody>
<p>
A query against a partitioned table could return incorrect results if the <codeph>WHERE</codeph> clause
compared the partition key to <codeph>NULL</codeph> using operators such as <codeph>=</codeph> or <codeph>!=</codeph>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1535">IMPALA-1535</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1120">
<title>Fetch column stats in bulk using new (Hive .13) HMS APIs</title>
<conbody>
<p>The performance of the <codeph>COMPUTE STATS</codeph> statement and queries was improved, particularly for wide tables.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1120">IMPALA-1120</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.1.1" id="fixed_issues_211">
<title>Issues Fixed in Impala 2.1.1</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.1.1.
</p>
<p>
For the full list of fixed issues in Impala 2.1.1, see
<xref keyref="jira_list_211"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept rev="2.1.1" id="IMPALA-1674-211">
<title>IMPALA-1556 causes memory leak with secure connections</title>
<conbody>
<p>
<cmdname>impalad</cmdname> daemons could experience a memory leak on clusters using Kerberos
authentication, with memory usage growing as more data is transferred across the secure channel, either
to the client program or between Impala nodes. The same issue affected LDAP-secured clusters to a lesser
degree, because the LDAP security only covers data transferred back to client programs.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1674"/> IMPALA-1674
</p>
<!-- <p><b>Resolution:</b> Contact <keyword keyref="support_org"/> for a patch.</p> -->
</conbody>
</concept>
<concept rev="2.1.1" id="IMPALA-1668">
<title>TSaslServerTransport::Factory::getTransport() leaks transport map entries</title>
<conbody>
<p>
<cmdname>impalad</cmdname> daemons in clusters secured by Kerberos or LDAP could experience a slight
memory leak on each connection. The accumulation of unreleased memory could cause problems on
long-running clusters.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1668">IMPALA-1668</xref>
</p>
<!-- <p><b>Resolution:</b> Contact <keyword keyref="support_org"/> for a patch.</p> -->
</conbody>
</concept>
</concept>
<concept rev="2.1.0" id="fixed_issues_210">
<title>Issues Fixed in Impala 2.1.0</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.1.0.
</p>
<p>
For the full list of fixed issues in Impala 2.1.0, see
<xref keyref="jira_list_210"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-1455">
<title>Kerberos fetches 3x slower</title>
<conbody>
<p>
Transferring large result sets back to the client application on Kerberos
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1455">IMPALA-1455</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1556">
<title>Compressed file needs to be hold on entirely in Memory</title>
<conbody>
<p>
Queries on gzipped text files required holding the entire data file and its uncompressed representation
in memory at the same time. <codeph>SELECT</codeph> and <codeph>COMPUTE STATS</codeph> statements could
fail or perform inefficiently as a result. The fix enables streaming reads for gzipped text, so that the
data is uncompressed as it is read.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1556">IMPALA-1556</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1611">
<title>Cannot read hbase metadata with NullPointerException: null</title>
<conbody>
<p>
Impala might not be able to access HBase tables, depending on the associated levels of Impala and HBase
on the system.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1611">IMPALA-1611</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-serious-201">
<title>Serious errors / crashes</title>
<conbody>
<p>
Improved code coverage in Impala testing uncovered a number of potentially serious errors that could
occur with specific query syntax. These errors are resolved in Impala 2.1.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1553">IMPALA-1553</xref>,
<xref keyref="IMPALA-1528">IMPALA-1528</xref>,
<xref keyref="IMPALA-1526">IMPALA-1526</xref>,
<xref keyref="IMPALA-1524">IMPALA-1524</xref>,
<xref keyref="IMPALA-1508">IMPALA-1508</xref>,
<xref keyref="IMPALA-1493">IMPALA-1493</xref>,
<xref keyref="IMPALA-1501">IMPALA-1501</xref>,
<xref keyref="IMPALA-1483">IMPALA-1483</xref>
</p>
</conbody>
</concept>
</concept>
<!-- All 2.0.x subsections go under here -->
<concept rev="2.0.5" id="fixed_issues_205">
<title>Issues Fixed in Impala 2.0.5</title>
<conbody>
<p>
For the full list of fixed issues in Impala 2.0.5, see
<xref keyref="jira_list_205"/>.
</p>
</conbody>
</concept>
<concept rev="2.0.4" id="fixed_issues_204">
<title>Issues Fixed in Impala 2.0.4</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.0.4.
</p>
<p>
For the full list of fixed issues in Impala 2.0.4, see
<xref keyref="jira_list_204"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
2c87782 IMPALA-1658: Add compatibility flag for Hive-Parquet-Timestamps
9c5d858 IMPALA-1794: Fix infinite loop opening/closing file w/ invalid metadata
Not going to list this one, 'external data source' feature is not documented or supported:
db3362f IMPALA-1801: external-data-source-executor leaking global jni refs
-->
<concept id="IMPALA-1658-526">
<title>Add compatibility flag for Hive-Parquet-Timestamps</title>
<conbody>
<p>
When Hive writes <codeph>TIMESTAMP</codeph> values, it represents them
in the local time zone of the server. Impala expects <codeph>TIMESTAMP</codeph>
values to always be in the UTC time zone, possibly leading to inconsistent
results depending on which component created the data files.
This patch introduces a new startup flag,
<codeph>-convert_legacy_hive_parquet_utc_timestamps</codeph>
for the <cmdname>impalad</cmdname> daemon.
Specify <codeph>-convert_legacy_hive_parquet_utc_timestamps=true</codeph>
to make Impala recognize Parquet data files written by Hive
and automatically adjust <codeph>TIMESTAMP</codeph>
values read from those files into the UTC time zone for
compatibility with other Impala <codeph>TIMESTAMP</codeph> processing.
Although this setting is currently turned off by default,
consider enabling it if practical in your environment,
for maximum interoperability with Hive-created Parquet files.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1658">IMPALA-1658</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1794-526">
<title>IoMgr infinite loop opening/closing file when shorter than cached metadata size</title>
<conbody>
<p>
If a table data file was replaced by a shorter file outside of Impala,
such as with <codeph>INSERT OVERWRITE</codeph> in Hive producing an empty
output file, subsequent Impala queries could hang.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1794">IMPALA-1794</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.0.3" id="fixed_issues_203">
<title>Issues Fixed in Impala 2.0.3</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.0.3.
</p>
<p>
For the full list of fixed issues in Impala 2.0.3, see
<xref keyref="jira_list_203"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-1471">
<title>Anti join could produce incorrect results when spilling</title>
<conbody>
<p>
An anti-join query (or a <codeph>NOT EXISTS</codeph> operation that was rewritten internally into an anti-join) could produce incorrect results
if Impala reached its memory limit, causing the query to write temporary results to disk.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1471">IMPALA-1471</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1535-52x">
<title>Row Count Mismatch: Partition pruning with NULL</title>
<conbody>
<p>
A query against a partitioned table could return incorrect results if the <codeph>WHERE</codeph> clause
compared the partition key to <codeph>NULL</codeph> using operators such as <codeph>=</codeph> or <codeph>!=</codeph>.
</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1535">IMPALA-1535</xref></p>
</conbody>
</concept>
<concept id="IMPALA-1120-52x">
<title>Fetch column stats in bulk using new (Hive .13) HMS APIs</title>
<conbody>
<p>The performance of the <codeph>COMPUTE STATS</codeph> statement and queries was improved, particularly for wide tables.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1120">IMPALA-1120</xref></p>
</conbody>
</concept>
</concept>
<concept rev="2.0.2" id="fixed_issues_202">
<title>Issues Fixed in Impala 2.0.2</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.0.2.
</p>
<p>
For the full list of fixed issues in Impala 2.0.2, see
<xref keyref="jira_list_202"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-1453">
<title>GROUP BY on STRING column produces inconsistent results</title>
<conbody>
<p>
Some operations in queries submitted through Hue or other HiveServer2 clients could produce inconsistent
results.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1453">IMPALA-1453</xref>
</p>
</conbody>
</concept>
<concept id="IoMgr_522">
<title>Fix leaked file descriptor and excessive file descriptor use</title>
<conbody>
<p>
Impala could encounter an error from running out of file descriptors. The fix reduces the amount of time
file descriptors are kept open, and avoids leaking file descriptors when read operations encounter
errors.
</p>
</conbody>
</concept>
<concept id="IMPALA-1623-52x">
<title>unix_timestamp() does not return correct time</title>
<conbody>
<p>
The <codeph>unix_timestamp()</codeph> function could return a constant value <codeph>1</codeph> instead
of a representation of the time.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1623">IMPALA-1623</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1586">
<title>Impala should randomly select cached replica</title>
<conbody>
<p>
To avoid putting too heavy a load on any one node, Impala now randomizes which scan node processes each
HDFS data block rather than choosing the first cached block replica.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1586">IMPALA-1586</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1606">
<title>Impala does not always give short name to Llama.</title>
<conbody>
<p>
In clusters secured by Kerberos or LDAP, a discrepancy in internal transmission of user names could cause
a communication error with Llama.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1606">IMPALA-1606</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1475">
<title>accept unmangled native UDF symbols</title>
<conbody>
<p>
The <codeph>CREATE FUNCTION</codeph> statement could report that it could not find a function entry point
within the <codeph>.so</codeph> file for a UDF written in C++, even if the corresponding function was
present.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1475">IMPALA-1475</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="2.0.1" id="fixed_issues_201">
<title>Issues Fixed in Impala 2.0.1</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.0.1.
</p>
<p>
For the full list of fixed issues in Impala 2.0.1, see
<xref keyref="jira_list_201"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-1416">
<title>Queries fail with metastore exception after upgrade and compute stats</title>
<conbody>
<p>
After running the <codeph>COMPUTE STATS</codeph> statement on an Impala table, subsequent queries on that
table could fail with the exception message <codeph>Failed to load metadata for table:
default.stats_test</codeph>.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1416"/> IMPALA-1416
</p>
<p>
<b>Workaround:</b> Upgrading to a level of <keyword keyref="distro"/> that includes the fix for HIVE-8627,
prevents the problem from affecting future <codeph>COMPUTE STATS</codeph> statements. On affected levels
of <keyword keyref="distro"/>, or for Impala tables that have become inaccessible, the workaround is to disable the
<codeph>hive.metastore.try.direct.sql</codeph> setting in the Hive metastore
<filepath>hive-site.xml</filepath> file and issue the <codeph>INVALIDATE METADATA</codeph> statement for
the affected table. You do not need to rerun the <codeph>COMPUTE STATS</codeph> statement for the table.
</p>
</conbody>
</concept>
</concept>
<concept rev="2.0.0" id="fixed_issues_200">
<title>Issues Fixed in Impala 2.0.0</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 2.0.0.
</p>
<p>
For the full list of fixed issues in Impala 2.0.0, see
<xref keyref="jira_list_200"/>.
</p>
<p outputclass="toc inpage"/>
<!-- Preliminary list from Alex:
[IMPALA-89] - OVERWRITE behaviour is different from Hive for statically partitioned inserts
[IMPALA-642] - Conjunctive predicates on HBase table not working in some scenarios.
[IMPALA-648] - Timestamp Parser Does Not like "T"
[IMPALA-677] - The columns of the rhs or a LEFT SEMI JOIN should not be visible outside the ON clause.
[IMPALA-755] - Escaped quote within quotes hangs the shell
[IMPALA-757] - Like predicate with "%%" pattern returns empty result set.
[IMPALA-995] - Join Hint is dropped when used inside a view
[IMPALA-1072] - Parquet writer is miscounting the byte estimate of the current file.
[IMPALA-1087] - Loading UDF/UDA should return with the correct message.
[IMPALA-1100] - AnalysisException: duplicated inline view column alias, when definition has "with" and inline view
[IMPALA-1101] - WHERE condition ignored in simple query with RIGHT JOIN
[IMPALA-1102] - Query with self joined table may produce incorrect results
[IMPALA-1105] - Usage of TRUNC with string timestamp reliably crashes node
[IMPALA-1109] - Timestamp Cast Returns invalid TIMESTAMP
[IMPALA-1110] - group_concat agg function does not work with optional separator
[IMPALA-1118] - Incorrect plan after reordering predicates (inner join following outer join)
[IMPALA-1119] - Analysis Exception: CTAS, query runs fine on its own
[IMPALA-1121] - IllegalStateException upon JOIN of DECIMAL columns with different precision
[IMPALA-1123] - Combining fragments with compatible data partitions can lead to incorrect results due to type incompatibilities (missing casts).
[IMPALA-1126] - Unable to disable strict unicode mode in the shell
[IMPALA-1128] - IllegalArgumentException with UNION and BIGINT and DECIMAL(19, 0)
[IMPALA-1129] - Queries with NOT IN predicates do not handle nulls correctly and return wrong results when codegen is enabled.
[IMPALA-1133] - Ensure all webserver output is escaped
[IMPALA-1138] - Compute Stats does not report proper error
[IMPALA-1164] - NDV Aggregate Function returns a STRING not a BIGINT
[IMPALA-1165] - Predicate dropped: Inline view + DISTINCT aggregate in outer query
[IMPALA-1187] - Optionally auto transform multiple count distincts as NDV
[IMPALA-1224] - 'illegal state exception' on using scientific notation in where condition in the query for bigint data type
[IMPALA-1235] - impala-shell prompt gets out of synch with connected host
[IMPALA-1236] - Queries with union in inline view have empty resource requests
[IMPALA-1252] - Parquet writer double counts when computing the file size estimate leading to smaller than expected files
[IMPALA-1272] - setting compression codec that parquet can't handle crashes impalad
[IMPALA-1279] - Impala does not employ ACLs when checking path permissions for LOAD and INSERT
[IMPALA-1334] - Impala does not map principals to lowercase, affecting Sentry authorisation
[IMPALA-1336] - Set the shell's unix environment's locale settings to allow for UTF-8 compatibility.
[IMPALA-1353] - Reuse of a column in JOIN predicate may lead to incorrect results
[IMPALA-491] - Improve error message when queries fail due to BE nodes dying
[IMPALA-526] - Impala should report expression evaluation error instead of always returning null
[IMPALA-601] - Shell should optionally read its configuration from a file
[IMPALA-603] - Impala should be more robust against metastore connection failures and issue user-friendly error message if Hive metastore connection fails
[IMPALA-1058] - Don't throw away SUMMARY until next successful statement
[IMPALA-1104] - Allow creating Avro tables without column definitions. Allow COMPUTE STATS to always work on Impala-created Avro tables.
[IMPALA-700] - Show functions should also list built-in functions
[IMPALA-731] - DECODE function
[IMPALA-1080] - Implement "SET <query_option>" as SQL statement
[IMPALA-52] - Add support for compressed text
-->
</conbody>
<concept id="IMPALA-995">
<title>Join Hint is dropped when used inside a view</title>
<conbody>
<p>
Hints specified within a view query did not take effect when the view was queried, leading to slow
performance. As part of this fix, Impala now supports hints embedded within comments.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-995">IMPALA-995"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1101">
<title>WHERE condition ignored in simple query with RIGHT JOIN</title>
<conbody>
<p>
Potential wrong results for some types of queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1101">IMPALA-1101"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1102">
<title>Query with self joined table may produce incorrect results</title>
<conbody>
<p>
Potential wrong results for some types of queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1102">IMPALA-1102"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1118">
<title>Incorrect plan after reordering predicates (inner join following outer join)</title>
<conbody>
<p>
Potential wrong results for some types of queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1118">IMPALA-1118"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1123">
<title>Combining fragments with compatible data partitions can lead to incorrect results due to type incompatibilities (missing casts).</title>
<conbody>
<p>
Potential wrong results for some types of queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1123">IMPALA-1123"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1165">
<title>Predicate dropped: Inline view + DISTINCT aggregate in outer query</title>
<conbody>
<p>
Potential wrong results for some types of queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1165">IMPALA-1165"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1353">
<title>Reuse of a column in JOIN predicate may lead to incorrect results</title>
<conbody>
<p>
Potential wrong results for some types of queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1353">IMPALA-1353"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1105">
<title>Usage of TRUNC with string timestamp reliably crashes node</title>
<conbody>
<p>
Serious error for certain combinations of function calls and data types.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1105">IMPALA-1105"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1109">
<title>Timestamp Cast Returns invalid TIMESTAMP</title>
<conbody>
<p>
Serious error for certain combinations of function calls and data types.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1109">IMPALA-1109"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1121">
<title>IllegalStateException upon JOIN of DECIMAL columns with different precision</title>
<conbody>
<p>
<codeph>DECIMAL</codeph> columns with different precision could not be compared in join predicates.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1121">IMPALA-1121"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1104">
<title>Allow creating Avro tables without column definitions. Allow COMPUTE STATS to always work on Impala-created Avro tables.</title>
<conbody>
<p>
Hive-created Avro tables with columns specified by a JSON file or literal could produce errors when
queried in Impala, and could not be used with the <codeph>COMPUTE STATS</codeph> statement. Now you can
create such tables in Impala to avoid such errors.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1104">IMPALA-1104"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1133">
<title>Ensure all webserver output is escaped</title>
<conbody>
<p>
The Impala debug web UI did not properly encode all output.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1133">IMPALA-1133"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1236">
<title>Queries with union in inline view have empty resource requests</title>
<conbody>
<p>
Certain queries could run without obeying the limits imposed by resource management.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1236">IMPALA-1236"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1279">
<title>Impala does not employ ACLs when checking path permissions for LOAD and INSERT</title>
<conbody>
<p>
Certain <codeph>INSERT</codeph> and <codeph>LOAD DATA</codeph> statements could fail unnecessarily, if
the target directories in HDFS had restrictive HDFS permissions, but those permissions were overridden by
HDFS extended ACLs.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1279">IMPALA-1279"</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1334">
<title>Impala does not map principals to lowercase, affecting Sentry authorisation</title>
<conbody>
<p>
In a Kerberos environment, the principal name was not mapped to lowercase, causing issues when a user
logged in with an uppercase principal name and Sentry authorization was enabled.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1334">IMPALA-1334"</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="1.4.4" id="fixed_issues_144">
<title>Issues Fixed in Impala 1.4.4</title>
<conbody>
<p>
</p>
</conbody>
</concept>
<concept rev="1.4.3" id="fixed_issues_143">
<title>Issues Fixed in Impala 1.4.3</title>
<conbody>
<p>
Impala 1.4.3 includes fixes to address what is known as the POODLE vulnerability in SSLv3. SSLv3 access is
disabled in the Impala debug web UI.
</p>
</conbody>
</concept>
<concept rev="1.4.2" id="fixed_issues_142">
<title>Issues Fixed in Impala 1.4.2</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.4.2.
</p>
<p>
For the full list of fixed issues in Impala 1.4.2, see
<xref keyref="jira_list_142"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
</concept>
<concept rev="1.4.1" id="fixed_issues_141">
<title>Issues Fixed in Impala 1.4.1</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.4.1.
</p>
<p>
For the full list of fixed issues in Impala 1.4.1, see
<xref keyref="jira_list_141"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="impalad_boost_exception">
<title>impalad terminating with Boost exception</title>
<conbody>
<p>
Occasionally, a non-trivial query run through Llama could encounter a serious error. The detailed error
in the log was:
</p>
<codeblock>boost::exception_detail::clone_impl
&lt;boost::exception_detail::error_info_injector&lt;boost::lock_error&gt; &gt;
</codeblock>
<p>
<b>Severity:</b> High
</p>
</conbody>
</concept>
<concept id="string_format_logs">
<title>Impalad uses wrong string format when writing logs</title>
<conbody>
<p>
Impala log files could contain internal error messages due to a problem formatting certain strings. The
messages consisted of a Java call stack starting with:
</p>
<codeblock>jni-util.cc:177] java.util.MissingFormatArgumentException: Format specifier 's'
</codeblock>
</conbody>
</concept>
<concept id="IMPALA-1107">
<title>Update HS2 client API.</title>
<conbody>
<p>
A downlevel version of the HiveServer2 API could cause difficulty retrieving the precision and scale of a
<codeph>DECIMAL</codeph> value.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1107">IMPALA-1107</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1093">
<title>Impalad catalog updates can fail with error: "IllegalArgumentException: fromKey out of range"</title>
<conbody>
<p>
The error in the title could occur following a DDL statement. This issue was discovered during internal
testing and has not been reported in customer environments.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1093">IMPALA-1093</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1131">
<title>"Total" time counter does not capture all the network transmit time</title>
<conbody>
<p>
The time for some network operations was not counted in the report of total time for a query, making it
difficult to diagnose network-related performance issues.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1131">IMPALA-1131</xref>
</p>
</conbody>
</concept>
<!--
<concept id="IMPALA-1130">
<title>Multi-line query with non UTF-8 compatible input throws UnicodeEncodeError</title>
<conbody>
<p>Although <cmdname>impala-shell</cmdname> added Unicode support in Impala 1.4.0, queries entered across multiple lines could still encounter errors related to Unicode processing.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-1130">IMPALA-1130</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-1149">
<title>Impala will crash when reading certain Avro files containing bytes data</title>
<conbody>
<p>
Certain Avro fields for byte data could cause Impala to be unable to read an Avro data file, even if the
field was not part of the Impala table definition. With this fix, Impala can now read these Avro data
files, although Impala queries cannot refer to the <q>bytes</q> fields.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1149">IMPALA-1149</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1142">
<title>Support specifying a custom AuthorizationProvider in Impala</title>
<conbody>
<p>
The <codeph>--authorization_policy_provider_class</codeph> option for <cmdname>impalad</cmdname> was
added back. This option specifies a custom <codeph>AuthorizationProvider</codeph> class rather than the
default <codeph>HadoopGroupAuthorizationProvider</codeph>. It had been used for internal testing, then
removed in Impala 1.4.0, but it was considered useful by some customers.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1142">IMPALA-1142</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="1.4.0" id="fixed_issues_140">
<title>Issues Fixed in Impala 1.4.0</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.4.0.
</p>
<p>
For the full list of fixed issues in Impala 1.4.0, see
<xref keyref="jira_list_140"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
[IMPALA-489] - impala-shell only works with ascii characters
[IMPALA-962] - The extended view definition SQL text in Views created by Impala should always have fully-qualified table names.
[IMPALA-741] - Impala forgets about partitions with non-existant locations
[IMPALA-834] - CREATE TABLE LIKE fails if source is a view
[IMPALA-864] - Inserting into table with many cols takes a long time.
[IMPALA-887] - Improve partition pruning time
[IMPALA-1003] - Improve compute stats performance
[IMPALA-185] - When I run CREATE TABLE new_table LIKE avro_table, the schema does not get mapped properly from an avro schema to a hive schema
[IMPALA-1046] - Race condition in IoMgr. Blocked ranges enqueued after cancel.
[IMPALA-1083] - Deadlock in scan node
-->
<!-- Use as a template for new issues.
<concept id="">
<title></title>
<conbody>
<p>
</p>
<p><b>Bug:</b> <xref keyref=""></xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-1019">
<!-- This issue gets propagated to some older release notes too because it was backported as the only bug fix for Impala 1.3.2. -->
<title>Failed DCHECK in disk-io-mgr-reader-context.cc:174</title>
<conbody>
<p>
The serious error in the title could occur, with the supplemental message:
</p>
<codeblock>num_used_buffers_ &lt; 0: #used=-1 during cancellation HDFS cached data</codeblock>
<p>
The issue was due to the use of HDFS caching with data files accessed by Impala. Support for HDFS caching
in Impala was introduced in <keyword keyref="impala140"/>. The fix for this issue was backported to Impala
1.3.x, and is the only change in Impala 1.3.2.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1019">IMPALA-1019</xref>
</p>
<p>
<b>Resolution:</b> This issue is fixed in Impala 1.3.2. The addition of HDFS caching
support in Impala 1.4 means that this issue does not apply to any new level of Impala.
</p>
</conbody>
</concept>
<concept id="IMPALA-489">
<title>impala-shell only works with ASCII characters</title>
<conbody>
<p>
The <cmdname>impala-shell</cmdname> interpreter could encounter errors processing SQL statements
containing non-ASCII characters.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-489">IMPALA-489</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-962">
<title>The extended view definition SQL text in Views created by Impala should always have fully-qualified table names</title>
<conbody>
<p>
When a view was accessed while inside a different database, references to tables were not resolved unless
the names were fully qualified when the view was created.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-962">IMPALA-962</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-741">
<title>Impala forgets about partitions with non-existant locations</title>
<conbody>
<p>
If an <codeph>ALTER TABLE</codeph> specified a non-existent HDFS location for a partition, afterwards
Impala would not be able to access the partition at all.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-741">IMPALA-741</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-834">
<title>CREATE TABLE LIKE fails if source is a view</title>
<conbody>
<p>
The <codeph>CREATE TABLE LIKE</codeph> clause was enhanced to be able to create a table with the same
column definitions as a view. The resulting table is a text table unless the <codeph>STORED AS</codeph>
clause is specified, because a view does not have an associated file format to inherit.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-834">IMPALA-834</xref>
</p>
</conbody>
</concept>
<!-- Not really fixed yet. Dupe of IMPALA-428 which is unresolved.
<concept id="IMPALA-864">
<title>Inserting into table with many cols takes a long time.</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-864">IMPALA-864</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-887">
<title>Improve partition pruning time</title>
<conbody>
<p>
Operations on tables with many partitions could be slow due to the time to evaluate which partitions were
affected. The partition pruning code was speeded up substantially.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-887">IMPALA-887</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1003">
<title>Improve compute stats performance</title>
<conbody>
<p>
The performance of the <codeph>COMPUTE STATS</codeph> statement was improved substantially. The
efficiency of its internal operations was improved, and some statistics are no longer gathered because
they are not currently used for planning Impala queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1003">IMPALA-1003</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-185">
<title>When I run CREATE TABLE new_table LIKE avro_table, the schema does not get mapped properly from an avro schema to a hive schema</title>
<conbody>
<p>
After a <codeph>CREATE TABLE LIKE</codeph> statement using an Avro table as the source, the new table
could have incorrect metadata and be inaccessible, depending on how the original Avro table was created.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-185">IMPALA-185</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1046">
<title>Race condition in IoMgr. Blocked ranges enqueued after cancel.</title>
<conbody>
<p>
Impala could encounter a serious error after a query was cancelled.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1046">IMPALA-1046</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-1083">
<title>Deadlock in scan node</title>
<conbody>
<p>
A deadlock condition could make all <cmdname>impalad</cmdname> daemons hang, making the cluster
unresponsive for Impala queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1083">IMPALA-1083</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="1.3.3" id="fixed_issues_133">
<title>Issues Fixed in Impala 1.3.3</title>
<conbody>
<p>
Impala 1.3.3 includes fixes to address what is known as the POODLE vulnerability in SSLv3. SSLv3 access is
disabled in the Impala debug web UI.
</p>
<p outputclass="toc inpage"/>
</conbody>
</concept>
<concept rev="1.3.2" id="fixed_issues_132">
<title>Issues Fixed in Impala 1.3.2</title>
<conbody>
<p>
This backported bug fix is the only change between Impala 1.3.1 and Impala 1.3.2.
</p>
</conbody>
<concept id="IMPALA-1019-132">
<!-- This issue gets propagated to some older release notes too because it was backported as the only bug fix for Impala 1.3.2. -->
<title>Failed DCHECK in disk-io-mgr-reader-context.cc:174</title>
<conbody>
<p>
The serious error in the title could occur, with the supplemental message:
</p>
<codeblock>num_used_buffers_ &lt; 0: #used=-1 during cancellation HDFS cached data</codeblock>
<p>
The issue was due to the use of HDFS caching with data files accessed by Impala. Support for HDFS caching
in Impala was introduced in <keyword keyref="impala140"/>. The fix for this issue was backported to Impala
1.3.x, and is the only change in Impala 1.3.2.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-1019">IMPALA-1019</xref>
</p>
<p>
<b>Resolution:</b> This issue is fixed in Impala 1.3.2. The addition of HDFS caching
support in Impala 1.4 means that this issue does not apply to any new level of Impala.
</p>
</conbody>
</concept>
</concept>
<concept rev="1.3.1" id="fixed_issues_131">
<title>Issues Fixed in Impala 1.3.1</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.3.1.
</p>
<p>
For the full list of fixed issues in Impala 1.3.1, see
<xref keyref="jira_list_131"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
[IMPALA-13] - Text data with carriage returns generates wrong results for count(*)
[IMPALA-488] - IO Mgr should take instance memory limit into account when creating io buffers
[IMPALA-827] - Impala should provide an option for new sub directories to automatically inherit the permissions of the parent directory
[IMPALA-888] - Illegal state exception (or crash) in query with UNION in inline view
[IMPALA-945] - INSERT column reordering doesn't work with SELECT clause
-->
<concept id="IMPALA-904">
<title>Impalad crashes when left joining inline view that has aggregate using distinct</title>
<conbody>
<p>
Impala could encounter a severe error in a query combining a left outer join with an inline view
containing a <codeph>COUNT(DISTINCT)</codeph> operation.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-904">IMPALA-904</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-901">
<title>Incorrect result with group by query with null value in group by data</title>
<conbody>
<p>
If the result of a <codeph>GROUP BY</codeph> operation is <codeph>NULL</codeph>, the resulting row might
be omitted from the result set. This issue depends on the data values and data types in the table.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-901">IMPALA-901</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-786">
<title>Drop Function does not clear local library cache</title>
<conbody>
<p>
When a UDF is dropped through the <codeph>DROP FUNCTION</codeph> statement, and then the UDF is
re-created with a new <codeph>.so</codeph> library or JAR file, the original version of the UDF is still
used when the UDF is called from queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-786">IMPALA-786</xref>
</p>
<p>
<b>Workaround:</b> Restart the <cmdname>impalad</cmdname> daemon on all nodes.
</p>
</conbody>
</concept>
<concept id="IMPALA-762">
<title>Compute stats doesn't propagate underlying error correctly</title>
<conbody>
<p>
If a <codeph>COMPUTE STATS</codeph> statement encountered an error, the error message is <q>Query
aborted</q> with no further detail. Common reasons why a <codeph>COMPUTE STATS</codeph> statement might
fail include network errors causing the coordinator node to lose contact with other
<cmdname>impalad</cmdname> instances, and column names that match Impala
<xref href="impala_reserved_words.xml#reserved_words">reserved words</xref>. (Currently, if a column name
is an Impala reserved word, <codeph>COMPUTE STATS</codeph> always returns an error.)
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-762">IMPALA-762</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-624">
<title>Inserts should respect changes in partition location</title>
<conbody>
<p>
After an <codeph>ALTER TABLE</codeph> statement that changes the <codeph>LOCATION</codeph> property of a
partition, a subsequent <codeph>INSERT</codeph> statement would always use a path derived from the base
data directory for the table.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-624">IMPALA-624</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-13">
<title>Text data with carriage returns generates wrong results for count(*)</title>
<conbody>
<p>
A <codeph>COUNT(*)</codeph> operation could return the wrong result for text tables using nul characters
(ASCII value 0) as delimiters.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-13">IMPALA-13</xref>
</p>
<p>
<b>Workaround:</b> Impala adds support for ASCII 0 characters as delimiters through the clause
<codeph>FIELDS TERMINATED BY '\0'</codeph>.
</p>
</conbody>
</concept>
<concept id="IMPALA-488">
<title>IO Mgr should take instance memory limit into account when creating io buffers</title>
<conbody>
<p>
Impala could allocate more memory than necessary during certain operations.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-488">IMPALA-488</xref>
</p>
<p>
<b>Workaround:</b> Before issuing a <codeph>COMPUTE STATS</codeph> statement for a Parquet table, reduce
the number of threads used in that operation by issuing <codeph>SET NUM_SCANNER_THREADS=2</codeph> in
<cmdname>impala-shell</cmdname>. Then issue <codeph>UNSET NUM_SCANNER_THREADS</codeph> before continuing
with queries.
</p>
</conbody>
</concept>
<concept id="IMPALA-827">
<title>Impala should provide an option for new sub directories to automatically inherit the permissions of the parent directory</title>
<conbody>
<p>
When new subdirectories are created underneath a partitioned table by an <codeph>INSERT</codeph>
statement, previously the new subdirectories always used the default HDFS permissions for the
<codeph>impala</codeph> user, which might not be suitable for directories intended to be read and written
by other components also.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-827">IMPALA-827</xref>
</p>
<p>
<b>Resolution:</b> In Impala 1.3.1 and higher, you can specify the
<codeph>--insert_inherit_permissions</codeph> configuration when starting the <cmdname>impalad</cmdname>
daemon.
</p>
</conbody>
</concept>
<concept id="IMPALA-888">
<title>Illegal state exception (or crash) in query with UNION in inline view</title>
<conbody>
<p>
Impala could encounter a severe error in a query where the <codeph>FROM</codeph> list contains an inline
view that includes a <codeph>UNION</codeph>. The exact type of the error varies.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-888">IMPALA-888</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-945">
<title>INSERT column reordering doesn't work with SELECT clause</title>
<conbody>
<p>
The ability to specify a subset of columns in an <codeph>INSERT</codeph> statement, with order different
than in the target table, was not working as intended.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-945">IMPALA-945</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="1.3.0" id="fixed_issues_130">
<title>Issues Fixed in Impala 1.3.0</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.3.0, primarily issues that could cause
wrong results, or cause problems running the <codeph>COMPUTE STATS</codeph> statement, which is very
important for performance and scalability.
</p>
<p>
For the full list of fixed issues, see
<xref keyref="jira_list_130"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
My first cut at the important issues:
Wrong results:
860
850
845
831
817
765
723
729
Bad stats:
777
903
880
867
-->
<concept id="IMPALA-860">
<title>Inner join after right join may produce wrong results</title>
<conbody>
<p>
The automatic join reordering optimization could incorrectly reorder queries with an outer join or semi
join followed by an inner join, producing incorrect results.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-860">IMPALA-860</xref>
</p>
<p>
<b>Workaround:</b> Including the <codeph>STRAIGHT_JOIN</codeph> keyword in the query prevented the issue
from occurring.
</p>
</conbody>
</concept>
<concept id="IMPALA-850">
<title>Incorrect results with codegen on multi-column group by with NULLs.</title>
<conbody>
<p>
A query with a <codeph>GROUP BY</codeph> clause referencing multiple columns could introduce incorrect
<codeph>NULL</codeph> values in some columns of the result set. The incorrect <codeph>NULL</codeph>
values could appear in rows where a different <codeph>GROUP BY</codeph> column actually did return
<codeph>NULL</codeph>.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-850">IMPALA-850</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-845">
<title>Using distinct inside aggregate function may cause incorrect result when using having clause</title>
<conbody>
<p>
A query could return incorrect results if it combined an aggregate function call, a
<codeph>DISTINCT</codeph> operator, and a <codeph>HAVING</codeph> clause, without a <codeph>GROUP
BY</codeph> clause.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-845">IMPALA-845</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-831">
<title>Aggregation on union inside (inline) view not distributed properly.</title>
<conbody>
<p>
An aggregation query or a query with <codeph>ORDER BY</codeph> and <codeph>LIMIT</codeph> could be
executed on a single node in some cases, rather than distributed across the cluster. This issue affected
queries whose <codeph>FROM</codeph> clause referenced an inline view containing a <codeph>UNION</codeph>.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-831">IMPALA-831</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-817">
<title>Wrong expression may be used in aggregate query if there are multiple similar expressions</title>
<conbody>
<p>
If a <codeph>GROUP BY</codeph> query referenced the same columns multiple times using different
operators, result rows could contain multiple copies of the same expression.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-817">IMPALA-817</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-765">
<title>Incorrect results when changing the order of aggregates in the select list with codegen enabled</title>
<conbody>
<p>
Referencing the same columns in both a <codeph>COUNT()</codeph> and a <codeph>SUM()</codeph> call in the
same query, or some other combinations of aggregate function calls, could incorrectly return a result of
0 from one of the aggregate functions. This issue affected references to <codeph>TINYINT</codeph> and
<codeph>SMALLINT</codeph> columns, but not <codeph>INT</codeph> or <codeph>BIGINT</codeph> columns.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-765">IMPALA-765</xref>
</p>
<p>
<b>Workaround:</b> Setting the query option <codeph>DISABLE_CODEGEN=TRUE</codeph> prevented the incorrect
results. Switching the order of the function calls could also prevent the issue from occurring.
</p>
</conbody>
</concept>
<concept id="IMPALA-723">
<title>Union queries give Wrong result in a UNION followed by SIGSEGV in another union</title>
<conbody>
<p>
A <codeph>UNION</codeph> query could produce a wrong result, followed by a serious error for a subsequent
<codeph>UNION</codeph> query.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-723">IMPALA-723</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-729">
<title>String data in MR-produced parquet files may be read incorrectly</title>
<conbody>
<p>
Impala could return incorrect string results when reading uncompressed Parquet data files containing
multiple row groups. This issue only affected Parquet data files produced by MapReduce jobs.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-729">IMPALA-729</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-777">
<title>Compute stats need to use quotes with identifiers that are Impala keywords</title>
<conbody>
<p>
Using a column or table name that conflicted with Impala keywords could prevent running the
<codeph>COMPUTE STATS</codeph> statement for the table.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-777">IMPALA-777</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-903">
<title>COMPUTE STATS child queries do not inherit parent query options.</title>
<conbody>
<p>
The <codeph>COMPUTE STATS</codeph> statement did not use the setting of the <codeph>MEM_LIMIT</codeph>
query option in <cmdname>impala-shell</cmdname>, potentially causing problems gathering statistics for
wide Parquet tables.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-903">IMPALA-903</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-880">
<title>COMPUTE STATS should update partitions in batches</title>
<conbody>
<p>
The <codeph>COMPUTE STATS</codeph> statement could be slow or encounter a timeout while analyzing a table
with many partitions.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-880">IMPALA-880</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-867">
<title>Fail early (in analysis) when COMPUTE STATS is run against Avro table with no columns</title>
<conbody>
<p>
If the columns for an Avro table were all defined in the <codeph>TBLPROPERTIES</codeph> or
<codeph>SERDEPROPERTIES</codeph> clauses, the <codeph>COMPUTE STATS</codeph> statement would fail after
completely analyzing the table, potentially causing a long delay. Although the <codeph>COMPUTE
STATS</codeph> statement still does not work for such tables, now the problem is detected and reported
immediately.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-867">IMPALA-867</xref>
</p>
<p>
<b>Workaround:</b> Re-create the Avro table with columns defined in SQL style, using the output of
<codeph>SHOW CREATE TABLE</codeph>. (See the JIRA page for detailed steps.)
</p>
</conbody>
</concept>
</concept>
<concept rev="1.2.4" id="fixed_issues_124">
<title>Issues Fixed in the 1.2.4 Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.2.4. For the full list of fixed issues,
see
<xref keyref="jira_list_124"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-818">
<title>The Catalog Server exits with an OOM error after a certain number of CREATE statements</title>
<conbody>
<p>
A large number of concurrent <codeph>CREATE TABLE</codeph> statements can cause the
<cmdname>catalogd</cmdname> process to consume excessive memory, and potentially be killed due to an
out-of-memory condition.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-818">IMPALA-818</xref>
</p>
<p>
<b>Workaround:</b> Restart the <cmdname>catalogd</cmdname> service and re-try the DDL operations that
failed.
</p>
</conbody>
</concept>
<concept id="IMPALA-821">
<title>Catalog Server consumes excessive cpu cycle</title>
<conbody>
<p>
A large number of tables and partitions could result in unnecessary CPU overhead during Impala idle time
and background operations.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-821">IMPALA-821</xref>
</p>
<p>
<b>Resolution:</b> Catalog server processing was optimized in several ways.
</p>
</conbody>
</concept>
<concept id="IMPALA-828">
<title>Query against Avro table crashes Impala with codegen enabled</title>
<conbody>
<p>
A query against a <codeph>TIMESTAMP</codeph> column in an Avro table could encounter a serious issue.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-828">IMPALA-828</xref>
</p>
<p>
<b>Workaround:</b> Set the query option <codeph>DISABLE_CODEGEN=TRUE</codeph>
</p>
</conbody>
</concept>
<concept id="IMPALA-809">
<title>Statestore seems to send concurrent heartbeats to the same subscriber leading to repeated "Subscriber '<varname>hostname</varname>' is registering with statestore, ignoring update" messages</title>
<conbody>
<p>
Impala nodes could produce repeated error messages after recovering from a communication error with the
statestore service.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-809">IMPALA-809</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-805">
<title>Join predicate incorrectly ignored</title>
<conbody>
<p>
A join query could produce wrong results if multiple equality comparisons between the same tables
referred to the same column.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-805">IMPALA-805</xref>
</p>
</conbody>
</concept>
<concept id="IMP-1258">
<title>Query result differing between Impala and Hive</title>
<conbody>
<p>
Certain outer join queries could return wrong results. If one of the tables involved in the join was an
inline view, some tests from the <codeph>WHERE</codeph> clauses could be applied to the wrong phase of
the query.
</p>
</conbody>
</concept>
<concept id="IMPALA-715">
<title>ArrayIndexOutOfBoundsException / Invalid query handle when reading large HBase cell</title>
<conbody>
<p>
An HBase cell could contain a value larger than 32 KB, leading to a serious error when Impala queries
that table. The error could occur even if the applicable row is not part of the result set.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-715">IMPALA-715</xref>
</p>
<p>
<b>Workaround:</b> Use smaller values in the HBase table, or exclude the column containing the large
value from the result set.
</p>
</conbody>
</concept>
<concept id="IMPALA-735">
<title>select with distinct and full outer join, impalad coredump</title>
<conbody>
<p>
A query involving a <codeph>DISTINCT</codeph> operator combined with a <codeph>FULL OUTER JOIN</codeph>
could encounter a serious error.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-735">IMPALA-735</xref>
</p>
<p>
<b>Workaround:</b> Set the query option <codeph>DISABLE_CODEGEN=TRUE</codeph>
</p>
</conbody>
</concept>
<!-- Actually a new feature, so removing from list of fixed issues.
<concept id="IMPALA-736">
<title>INVALIDATE METADATA <varname>table_name</varname> should add the table to the catalog if it doesn't already exist</title>
<conbody>
<p/>
<p><b>Bug:</b> <xref keyref="IMPALA-736">IMPALA-736</xref></p>
<p><b>Severity:</b> High</p>
</conbody>
</concept>
-->
<concept id="IMPALA-749">
<title>Impala cannot load tables with more than Short.MAX_VALUE number of partitions</title>
<conbody>
<p>
If a table had more than 32,767 partitions, Impala would not recognize the partitions above the 32K limit
and query results could be incomplete.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-749">IMPALA-749</xref>
</p>
</conbody>
</concept>
<concept id="IMP-1188">
<title>Various issues with HBase row key specification</title>
<conbody>
<p>
Queries against HBase tables could fail with an error if the row key was compared to a function return
value rather than a string constant. Also, queries against HBase tables could fail if the
<codeph>WHERE</codeph> clause contained combinations of comparisons that could not possibly match any row
key.
</p>
<p>
<b>Resolution:</b> Queries now return appropriate results when function calls are used in the row key
comparison. For queries involving non-existent row keys, such as <codeph>WHERE <varname>row_key</varname>
IS NULL</codeph> or where the lower bound is greater than the upper bound, the query succeeds and returns
an empty result set.
</p>
</conbody>
</concept>
</concept>
<concept rev="1.2.3" id="fixed_issues_123">
<title>Issues Fixed in the 1.2.3 Release</title>
<conbody>
<p>
This release is a fix release that supercedes Impala 1.2.2, with the same features and fixes as 1.2.2 plus
one additional fix for compatibility with Parquet files generated outside of Impala by components such as
Hive, Pig, or MapReduce.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-720">
<title>Impala cannot read Parquet files with multiple row groups</title>
<conbody>
<p>
An early version of the <codeph>parquet-mr</codeph> library writes files that are not readable by
Impala, due to the presence of multiple row groups. Queries involving these data files might result in a
crash or a failure with an error such as <q>Column chunk should not contain two dictionary pages</q>.
</p>
<p>
This issue does not occur for Parquet files produced by Impala <codeph>INSERT</codeph> statements,
because Impala only produces files with a single row group.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-720">IMPALA-720</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="1.2.2" id="fixed_issues_122">
<title>Issues Fixed in the 1.2.2 Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.2.2. For the full list of fixed issues,
see <xref keyref="jira_list_122"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="join_order">
<title>Order of table references in FROM clause is critical for optimal performance</title>
<conbody>
<p>
Impala does not currently optimize the join order of queries; instead, it joins tables in the order in
which they are listed in the FROM clause. Queries that contain one or more large tables on the right hand
side of joins (either an explicit join expressed as a JOIN statement or a join implicit in the list of
table references in the FROM clause) may run slowly or crash Impala due to out-of-memory errors. For
example:
</p>
<codeblock>SELECT ... FROM small_table JOIN large_table</codeblock>
<p>
<b>Anticipated Resolution</b>: Fixed in Impala 1.2.2.
</p>
<p>
<b>Workaround</b>: In Impala 1.2.2 and higher, use the <codeph>COMPUTE STATS</codeph> statement to gather
statistics for each table involved in the join query, after data is loaded. Prior to Impala 1.2.2, modify
the query, if possible, to join the largest table first. For example:
</p>
<codeblock>SELECT ... FROM small_table JOIN large_table</codeblock>
<p>
should be modified to:
</p>
<codeblock>SELECT ... FROM large_table JOIN small_table</codeblock>
</conbody>
</concept>
<concept id="IMPALA-694">
<title>Parquet in CDH4.5 writes data files that are sometimes unreadable by Impala</title>
<conbody>
<p>
Some Parquet files could be generated by other components that Impala could not read.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-694">IMPALA-694</xref>
</p>
<p>
<b>Resolution:</b> The underlying issue is being addressed by a fix in the Parquet libraries. Impala
1.2.2 works around the problem and reads the existing data files.
</p>
</conbody>
</concept>
<concept id="IMPALA-699">
<title>Deadlock in statestore when unregistering a subscriber and building a topic update</title>
<conbody>
<p>
The statestore service cound experience an internal error leading to a hang.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-699">IMPALA-699</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-687">
<title>IllegalStateException when doing a union involving a group by</title>
<conbody>
<p>
A <codeph>UNION</codeph> query where one side involved a <codeph>GROUP BY</codeph> operation could cause
a serious error.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-687">IMPALA-687</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-689">
<title>Impala Parquet Writer hit DCHECK in RleEncoder</title>
<conbody>
<p>
A serious error could occur when doing an <codeph>INSERT</codeph> into a Parquet table.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-689">IMPALA-689</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-695">
<title>Hive UDF jars cannot be loaded by the FE</title>
<conbody>
<p>
If the JAR file for a Java-based Hive UDF was not in the <codeph>CLASSPATH</codeph>, the UDF could not be
called during a query.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-695">IMPALA-695</xref>
</p>
</conbody>
</concept>
</concept>
<concept rev="1.2.1" id="fixed_issues_121">
<title>Issues Fixed in the 1.2.1 Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.2.1. For the full list of fixed issues,
see <xref keyref="jira_list_121"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-525">
<title>Scanners use too much memory when reading past scan range</title>
<conbody>
<p>
While querying a table with long column values, Impala could over-allocate memory leading to an
out-of-memory error. This problem was observed most frequently with tables using uncompressed RCFile or
text data files.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-525">IMPALA-525</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 1.2.1
</p>
</conbody>
</concept>
<concept id="IMPALA-657">
<title>Join node consumes memory way beyond mem-limit</title>
<conbody>
<p>
A join query could allocate a temporary work area that was larger than needed, leading to an
out-of-memory error. The fix makes Impala return unused memory to the system when the memory limit is
reached, avoiding unnecessary memory errors.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-657">IMPALA-657</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 1.2.1
</p>
</conbody>
</concept>
<concept id="IMPALA-652">
<title>Excessive memory consumption when query tables with 1k columns (Parquet file)</title>
<conbody>
<p>
Impala could encounter an out-of-memory condition setting up work areas for Parquet tables with many
columns. The fix reduces the size of the allocated memory when not actually needed to hold table data.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-652">IMPALA-652</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 1.2.1
</p>
</conbody>
</concept>
<!--
<concept id="IMPALA-520">
<title>Fail early (in analysis) when COMPUTE STATS is run against Avro table with no columns</title>
<conbody>
<p></p>
<p><b>Bug:</b> <xref keyref="IMPALA-520">IMPALA-520</xref></p>
<p><b>Severity:</b> </p>
<p><b>Resolution:</b> </p>
</conbody>
</concept>
-->
</concept>
<concept rev="1.2" id="fixed_issues_120">
<title>Issues Fixed in the 1.2.0 Beta Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.2 (beta). For the full list of fixed
issues, see <xref keyref="jira_list_120"/>.
</p>
</conbody>
</concept>
<concept id="fixed_issues_111">
<title>Issues Fixed in the 1.1.1 Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.1.1. For the full list of fixed issues,
see <xref keyref="jira_list_111"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-477">
<title>Unexpected LLVM Crash When Querying Doubles on CentOS 5.x</title>
<conbody>
<p>
Certain queries involving <codeph>DOUBLE</codeph> columns could fail with a serious error. The fix
improves the generation of native machine instructions for certain chipsets.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-477">IMPALA-477</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-482">
<title>"block size is too big" error with Snappy-compressed RCFile containing null</title>
<conbody>
<p>
Queries could fail with a <q>block size is too big</q> error, due to <codeph>NULL</codeph> values in
RCFile tables using Snappy compression.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-482">IMPALA-482</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-510">
<title>Cannot query RC file for table that has more columns than the data file</title>
<conbody>
<p>
Queries could fail if an Impala RCFile table was defined with more columns than in the corresponding
RCFile data files.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-510">IMPALA-510</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-495">
<title>Views Sometimes Not Utilizing Partition Pruning</title>
<conbody>
<p>
Certain combinations of clauses in a view definition for a partitioned table could result in inefficient
performance and incorrect results.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-495">IMPALA-495</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-485">
<title>Update the serde name we write into the metastore for Parquet tables</title>
<conbody>
<p>
The SerDes class string written into Parquet data files created by Impala was updated for compatibility
with Parquet support in Hive. See <xref href="impala_incompatible_changes.xml#incompatible_changes_111"/>
for the steps to update older Parquet data files for Hive compatibility.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-485">IMPALA-485</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-534">
<title>Selective queries over large tables produce unnecessary memory consumption</title>
<conbody>
<p>
A query returning a small result sets from a large table could tie up memory unnecessarily for the
duration of the query.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-534">IMPALA-534</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-538">
<title>Impala stopped to query AVRO tables</title>
<conbody>
<p>
Queries against Avro tables could fail depending on whether the Avro schema URL was specified in the
<codeph>TBLPROPERTIES</codeph> or <codeph>SERDEPROPERTIES</codeph> field. The fix causes Impala to check
both fields for the schema URL.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-538">IMPALA-538</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-520">
<title>Impala continues to allocate more memory even though it has exceed its mem-limit</title>
<conbody>
<p>
Queries could allocate substantially more memory than specified in the <cmdname>impalad</cmdname>
<codeph>-mem_limit</codeph> startup option. The fix causes more frequent checking of the limit during
query execution.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-520">IMPALA-520</xref>
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_110">
<title>Issues Fixed in the 1.1.0 Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.1. For the full list of fixed issues, see
<xref keyref="jira_list_110"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-335">
<title>10-20% perf regression for most queries across all table formats</title>
<conbody>
<p>
This issue is due to a performance tradeoff between systems running many queries concurrently, and
systems running a single query. Systems running only a single query could experience lower performance
than in early beta releases. Systems running many queries simultaneously should experience higher
performance than in the beta releases.
</p>
<!-- Bug was actually deleted from JIRA system.
<p>
<b>Bug:</b> <xref keyref="IMPALA-335">IMPALA-335</xref>
</p>
-->
</conbody>
</concept>
<concept id="IMPALA-85">
<title>planner fails with "Join requires at least one equality predicate between the two tables" when "from" table order does not match "where" join order</title>
<conbody>
<p>
A query could fail if it involved 3 or more tables and the last join table was specified as a subquery.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-85">IMPALA-85</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-257">
<title>Parquet writer uses excessive memory with partitions</title>
<conbody>
<p>
<codeph>INSERT</codeph> statements against partitioned tables using the Parquet format could use
excessive amounts of memory as the number of partitions grew large.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-257">IMPALA-257</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-192">
<title>Comments in impala-shell in interactive mode are not handled properly causing syntax errors or wrong results</title>
<conbody>
<p>
The <cmdname>impala-shell</cmdname> interpreter did not accept comment entered at the command line,
making it problematic to copy and paste from scripts or other code examples.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-192">IMPALA-192</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-364">
<title>Cancelled queries sometimes aren't removed from the inflight query list</title>
<conbody>
<p>
The Impala web UI would sometimes display a query as if it were still running, after the query was
cancelled.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-364">IMPALA-364</xref>
</p>
</conbody>
</concept>
<concept id="IMPALA-396">
<title>Impala's 1.0.1 Shell Broke Python 2.4 Compatibility (AttributeError: 'module' object has no attribute 'field_size_limit)</title>
<conbody>
<p>
The <codeph>impala-shell</codeph> command in Impala 1.0.1 does not work with Python 2.4, which is the
default on Red Hat 5.
</p>
<p>
For the <codeph>impala-shell</codeph> command in Impala 1.0, the <codeph>-o</codeph> option (pipe output
to a file) does not work with Python 2.4.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-396">IMPALA-396</xref>
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_101">
<title>Issues Fixed in the 1.0.1 Release</title>
<conbody>
<p>
This section lists the most significant issues fixed in Impala 1.0.1. For the full list of fixed issues,
see <xref keyref="jira_list_101"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<!--
<concept id="IMPALA-325">
<title>Impala may crash when running large number of concurrent queries against a single coordinator</title>
<conbody>
<p>This issue occurs when a large number of queries are submitted to the same instance of <codeph>impalad</codeph> and are running simultaneously.</p>
<p><b>Bug:</b> <xref keyref="IMPALA-325">IMPALA-325</xref></p>
<p><b>Severity:</b> High</p>
<p><b>Resolution:</b> To be fixed in a future release</p>
<p><b>Workaround:</b> Use round-robin scheduling to submit queries to different Impala nodes.</p>
</conbody>
</concept>
-->
<concept id="IMPALA-333">
<title>Impala parquet scanner cannot read all data files generated by
other frameworks</title>
<conbody>
<p>
Impala might issue an erroneous error message when processing a Parquet data file produced by a
non-Impala Hadoop component.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-333">IMPALA-333</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-293">
<title>Impala is unable to query RCFile tables which describe fewer columns than the file's header.</title>
<conbody>
<p>
If an RCFile table definition had fewer columns than the fields actually in the data files, queries would
fail.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-293">IMPALA-293</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-351">
<title>Impala does not correctly substitute _HOST with hostname in --principal</title>
<conbody>
<p>
The <codeph>_HOST</codeph> placeholder in the <codeph>--principal</codeph> startup option was not
substituted with the correct hostname, potentially leading to a startup error in setups using Kerberos
authentication.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-351">IMPALA-351</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-356">
<title>HBase query missed the last region</title>
<conbody>
<p>
A query for an HBase table could omit data from the last region.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-356">IMPALA-356</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-300">
<title>Hbase region changes are not handled correctly</title>
<conbody>
<p>
After a region in an HBase table was split or moved, an Impala query might return incomplete or
out-of-date results.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-300">IMPALA-300</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-349">
<title>Query state for successful create table is EXCEPTION</title>
<conbody>
<p>
After a successful <codeph>CREATE TABLE</codeph> statement, the corresponding query state would be
incorrectly reported as <codeph>EXCEPTION</codeph>.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-349">IMPALA-349</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-358">
<title>Double check release of JNI-allocated byte-strings</title>
<conbody>
<p>
Operations involving calls to the Java JNI subsystem (for example, queries on HBase tables) could
allocate memory but not release it.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-358">IMPALA-358</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="unix_timestamp">
<title>Impala returns 0 for bad time values in UNIX_TIMESTAMP, Hive returns NULL</title>
<conbody>
<p>
Impala returns 0 for bad time values in UNIX_TIMESTAMP, Hive returns NULL.
</p>
<p>
<b>Impala:</b>
</p>
<codeblock>impala&gt; select UNIX_TIMESTAMP('10:02:01') ;
impala&gt; 0</codeblock>
<p>
<b>Hive:</b>
</p>
<codeblock>hive&gt; select UNIX_TIMESTAMP('10:02:01') FROM tmp;
hive&gt; NULL</codeblock>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-16">IMPALA-16</xref>
</p>
<p>
<b>Anticipated Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMP-231">
<title>INSERT INTO TABLE SELECT &lt;constant&gt; does not work.</title>
<conbody>
<p>
Insert INTO TABLE SELECT &lt;constant&gt; will not insert any data and may return an error.
</p>
<p>
<b>Anticipated Resolution</b>: Fixed
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_10">
<title>Issues Fixed in the 1.0 GA Release</title>
<conbody>
<p>
Here are the major user-visible issues fixed in Impala 1.0. For a full list of fixed issues, see
<xref keyref="jira_list_100"/>.
</p>
<p outputclass="toc inpage"/>
</conbody>
<concept id="IMPALA-183">
<title>Undeterministically receive "ERROR: unknown row bach destination..." and "ERROR: Invalid query handle" from impala shell when running union query</title>
<conbody>
<p>
A query containing both <codeph>UNION</codeph> and <codeph>LIMIT</codeph> clauses could intermittently
cause the <codeph>impalad</codeph> process to halt with a segmentation fault.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-183">IMPALA-183</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-190">
<title>Insert with NULL partition keys results in SIGSEGV.</title>
<conbody>
<p>
An <codeph>INSERT</codeph> statement specifying a <codeph>NULL</codeph> value for one of the partitioning
columns could cause the <codeph>impalad</codeph> process to halt with a segmentation fault.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-190">IMPALA-190</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-217">
<title>INSERT queries don't show completed profiles on the debug webpage</title>
<conbody>
<p>
In the Impala web user interface, the profile page for an <codeph>INSERT</codeph> statement showed
obsolete information for the statement once it was complete.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-217">IMPALA-217</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-231">
<title>Impala HBase scan is very slow</title>
<conbody>
<p>
Queries involving an HBase table could be slower than expected, due to excessive memory usage on the
Impala nodes.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-231">IMPALA-231</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-234">
<title>Add some library version validation logic to impalad when loading impala-lzo shared library</title>
<conbody>
<p>
No validation was done to check that the <codeph>impala-lzo</codeph> shared library was compatible with
the version of Impala, possibly leading to a crash when using LZO-compressed text files.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-234">IMPALA-234</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
<p>
<b>Workaround:</b> Always upgrade the <codeph>impala-lzo</codeph> library at the same time as you upgrade
Impala itself.
</p>
</conbody>
</concept>
<concept id="IMPALA-238">
<title>Problems inserting into tables with TIMESTAMP partition columns leading table metadata loading failures and failed dchecks</title>
<conbody>
<p>
<codeph>INSERT</codeph> statements for tables partitioned on columns involving datetime types could
appear to succeed, but cause errors for subsequent queries on those tables. The problem was especially
serious if an improperly formatted timestamp value was specified for the partition key.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-238">IMPALA-238</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-243">
<title>Ctrl-C sometimes interrupts shell in system call, rather than cancelling query</title>
<conbody>
<p>
Pressing Ctrl-C in the <codeph>impala-shell</codeph> interpreter could sometimes display an error and
return control to the shell, making it impossible to cancel the query.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-243">IMPALA-243</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-252">
<title>Empty string partition value causes metastore update failure</title>
<conbody>
<p>
Specifying an empty string or <codeph>NULL</codeph> for a partition key in an <codeph>INSERT</codeph>
statement would fail.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-252">IMPALA-252</xref>
</p>
<p>
<b>Resolution:</b> Fixed. The behavior for empty partition keys was made more compatible with the
corresponding Hive behavior.
</p>
</conbody>
</concept>
<concept id="IMPALA-266">
<title>Round() does not output the right precision</title>
<conbody>
<p>
The <codeph>round()</codeph> function did not always return the correct number of significant digits.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-266">IMPALA-266</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-267">
<title>Cannot cast string literal to string</title>
<conbody>
<p>
Casting from a string literal back to the same type would cause an <q>invalid type cast</q> error rather
than leaving the original value unchanged.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-267">IMPALA-267</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-288">
<title>Excessive mem usage for certain queries which are very selective</title>
<conbody>
<p>
Some queries that returned very few rows experienced unnecessary memory usage.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-288">IMPALA-288</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-289">
<title>HdfsScanNode crashes in UpdateCounters</title>
<conbody>
<p>
A serious error could occur for relatively small and inexpensive queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-289">IMPALA-289</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-292">
<title>Parquet performance issues on large dataset</title>
<conbody>
<p>
Certain aggregation queries against Parquet tables were inefficient due to lower than required thread
utilization.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-292">IMPALA-292</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-295">
<title>impala not populating hive metadata correctly for create table</title>
<conbody>
<p>
The Impala <codeph>CREATE TABLE</codeph> command did not fill in the <codeph>owner</codeph> and
<codeph>tbl_type</codeph> columns in the Hive metastore database.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-295">IMPALA-295</xref>
</p>
<p>
<b>Resolution:</b> Fixed. The metadata was made more Hive-compatible.
</p>
</conbody>
</concept>
<concept id="IMPALA-312">
<title>impala daemons die if statestore goes down</title>
<conbody>
<p>
The <codeph>impalad</codeph> instances in a cluster could halt when the <codeph>statestored</codeph>
process became unavailable.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-312">IMPALA-312</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-67">
<title>Constant SELECT clauses do not work in subqueries</title>
<conbody>
<p>
A subquery would fail if the <codeph>SELECT</codeph> statement inside it returned a constant value rather
than querying a table.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-67">IMPALA-67</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-90">
<title>Right outer Join includes NULLs as well and hence wrong result count</title>
<conbody>
<p>
The result set from a right outer join query could include erroneous rows containing
<codeph>NULL</codeph> values.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-90">IMPALA-90</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
<concept id="IMPALA-204">
<title>Parquet scanner hangs for some queries</title>
<conbody>
<p>
The Parquet scanner non-deterministically hangs when executing some queries.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-204">IMPALA-204</xref>
</p>
<p>
<b>Resolution:</b> Fixed
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_07">
<title>Issues Fixed in Version 0.7 of the Beta Release</title>
<conbody/>
<concept id="IMPALA-167">
<title>Impala does not gracefully handle unsupported Hive table types (INDEX and VIEW tables)</title>
<conbody>
<p>
When attempting to load metadata from an unsupported Hive table type (INDEX and VIEW tables), Impala
fails with an unclear error message.
</p>
<p>
Bug:
<xref keyref="IMPALA-167">IMPALA-167</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 0.7
</p>
</conbody>
</concept>
<concept id="IMP-474">
<title>DDL statements (CREATE/ALTER/DROP TABLE) are not supported in the Impala Beta Release</title>
<conbody>
<p>
<b>Resolution:</b> Fixed in 0.7
</p>
</conbody>
</concept>
<concept id="avro_support">
<title>Avro is not supported in the Impala Beta Release</title>
<conbody>
<p>
<b>Resolution:</b> Fixed in 0.7
</p>
<p>
<b>Workaround:</b> None
</p>
</conbody>
</concept>
<concept id="mem_limit_query">
<title>Impala does not currently allow limiting the memory consumption of a single query</title>
<conbody>
<p>
It is currently not possible to limit the memory consumption of a single query. All tables on the right
hand side of JOIN statements need to be able to fit in memory. If they do not, Impala may crash due to
out of memory errors.
</p>
<p>
<b>Resolution:</b> Fixed in 0.7
</p>
</conbody>
</concept>
<concept id="IMPALA-20">
<title>Aggregate of a subquery result set returns wrong results if the subquery contains a 'limit' and data is distributed across multiple nodes</title>
<conbody>
<p>
Aggregate of a subquery result set returns wrong results if the subquery contains a 'limit' clause and
data is distributed across multiple nodes. From the query plan, it looks like we are just summing the
results from each worker node.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-20">IMPALA-20</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 0.7
</p>
</conbody>
</concept>
<concept id="IMPALA-144">
<title>Partition pruning for arbitrary predicates that are fully bound by a particular partition column</title>
<conbody>
<p> We currently cannot utilize a predicate like "country_code in ('DE',
'FR', 'US')" to do partitioning pruning, because that requires an
equality predicate or a binary comparison. </p>
<p>
We should create a superclass of planner.ValueRange, ValueSet, that can be constructed with an arbitrary
predicate, and whose isInRange(analyzer, valueExpr) constructs a literal predicate by substitution of the
valueExpr into the predicate.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-144">IMPALA-144</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 0.7
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_06">
<title>Issues Fixed in Version 0.6 of the Beta Release</title>
<conbody/>
<concept id="IMP-56">
<title>Impala reads the NameNode address and port as command line parameters</title>
<conbody>
<p>
Impala reads the NameNode address and port as command line parameters rather than reading them from
<codeph>core-site.xml</codeph>. Updating the NameNode address in the <codeph>core-site.xml</codeph> file
does not propagate to Impala.
</p>
<p>
<b>Severity:</b> Low
</p>
<p>
<b>Resolution:</b> Fixed in 0.6 - Impala reads the namenode location and port from the Hadoop
configuration files, though setting <codeph>-nn</codeph> and <codeph>-nn_port</codeph> overrides this.
Users are advised not to set <codeph>-nn</codeph> or <codeph>-nn_port</codeph>.
</p>
</conbody>
</concept>
<concept id="IMPALA-64">
<title>Queries may fail on secure environment due to impalad Kerberos ticket expiration</title>
<conbody>
<p>
Queries may fail on secure environment due to <codeph>impalad</codeph> Kerberos tickets expiring. This
can happen if the Impala <codeph>-kerberos_reinit_interval</codeph> flag is set to a value ten minutes or
less. This may lead to an <codeph>impalad</codeph> requesting a ticket with a lifetime that is less than
the time to the next ticket renewal.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-64">IMPALA-64</xref>
</p>
<p>
<b>Resolution</b>: Fixed in 0.6
</p>
</conbody>
</concept>
<concept id="IMPALA-48">
<title>Concurrent queries may fail when Impala uses Thrift to communicate with the Hive Metastore</title>
<conbody>
<p>
Concurrent queries may fail when Impala is using Thrift to communicate with part of the Hive Metastore
such as the Hive Metastore Service. In such a case, the error <codeph>get_fields failed: out of sequence
response"</codeph> may occur because Impala shared a single Hive Metastore Client connection across
threads. With Impala 0.6, a separate connection is used for each metadata request.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-48">IMPALA-48</xref>
</p>
<p>
<b>Resolution</b>: Fixed in 0.6
</p>
</conbody>
</concept>
<concept id="IMPALA-58">
<title>impalad fails to start if unable to connect to the Hive Metastore</title>
<conbody>
<p>
Impala fails to start if it is unable to establish a connection with the Hive Metastore. This behavior
was fixed, allowing Impala to start, even when no Metastore is available.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-58">IMPALA-58</xref>
</p>
<p>
<b>Resolution</b>: Fixed in 0.6
</p>
</conbody>
</concept>
<concept id="IMPALA-44">
<title>Impala treats database names as case-sensitive in some contexts</title>
<conbody>
<p>
In some queries (including "USE database" statements), database names are treated as case-sensitive. This
may lead queries to fail with an IllegalStateException.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-44">IMPALA-44</xref>
</p>
<p>
<b>Resolution</b>: Fixed in 0.6
</p>
</conbody>
</concept>
<concept id="IMPALA-18">
<title>Impala does not ignore hidden HDFS files</title>
<conbody>
<p>
Impala does not ignore hidden HDFS files, meaning those files prefixed with a period '.' or underscore
'_'. This diverges from Hive/MapReduce, which skips these files.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-18">IMPALA-18</xref>
</p>
<p id="p_7">
<b>Resolution</b>: Fixed in 0.6
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_05">
<title>Issues Fixed in Version 0.5 of the Beta Release</title>
<conbody/>
<concept id="many_partitions">
<title>Impala may have reduced performance on tables that contain a large number of partitions</title>
<conbody>
<p>
Impala may have reduced performance on tables that contain a large number of partitions. This is due to
extra overhead reading/parsing the partition metadata.
</p>
<p>
<b>Resolution</b>: Fixed in 0.5
</p>
</conbody>
</concept>
<concept id="IMPALA-38">
<title>Backend client connections not getting cached causes an observable latency in secure clusters</title>
<conbody>
<p>
Backend impalads do not cache connections to the coordinator. On a secure cluster, this introduces a
latency proportional to the number of backend clients involved in query execution, as the cost of
establishing a secure connection is much higher than in the non-secure case.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-38">IMPALA-38</xref>
</p>
<p>
<b>Resolution</b>: Fixed in 0.5
</p>
</conbody>
</concept>
<concept id="IMPALA-30">
<title>Concurrent queries may fail with error: "Table object has not been been initialised : `PARTITIONS`"</title>
<conbody>
<p>
Concurrent queries may fail with error: <codeph>"Table object has not been been initialised :
`PARTITIONS`"</codeph>. This was due to a lack of locking in the Impala table/database metadata cache.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-30">IMPALA-30</xref>
</p>
<p>
<b>Resolution</b>: Fixed in 0.5
</p>
</conbody>
</concept>
<concept id="IMPALA-15">
<title>UNIX_TIMESTAMP format behaviour deviates from Hive when format matches a prefix of the time value</title>
<conbody>
<p>
The Impala UNIX_TIMESTAMP(val, format) operation compares the length of format and val and returns NULL
if they do not match. Hive instead effectively truncates val to the length of the format parameter.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-15">IMPALA-15</xref>
</p>
<p id="p_10">
<b>Resolution:</b> Fixed in 0.5
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_04">
<title>Issues Fixed in Version 0.4 of the Beta Release</title>
<conbody/>
<concept id="HIVE-3596">
<title>Impala fails to refresh the Hive metastore if a Hive temporary configuration file is removed</title>
<conbody>
<p>
Impala is impacted by Hive bug
<xref href="https://issues.apache.org/jira/browse/HIVE-3596" scope="external" format="html">HIVE-3596</xref>
which may cause metastore refreshes to fail if a Hive temporary configuration file is deleted (normally
located at <codeph>/tmp/hive-&lt;user&gt;-&lt;tmp_number&gt;.xml</codeph>). Additionally, the
impala-shell will incorrectly report that the failed metadata refresh completed successfully.
</p>
<p>
<b>Anticipated Resolution:</b> To be fixed in a future release
</p>
<p>
<b>Workaround:</b> Restart the <codeph>impalad</codeph> service. Use the <codeph>impalad</codeph> log to
check for metadata refresh errors.
</p>
</conbody>
</concept>
<concept id="lpad_rpad">
<title>lpad/rpad builtin functions is not correct.</title>
<conbody>
<p>
The lpad/rpad builtin functions generate the wrong results.
</p>
<p>
<b>Resolution:</b> Fixed in 0.4
</p>
</conbody>
</concept>
<concept id="IMPALA-14">
<title>Files with .gz extension reported as 'not supported'</title>
<conbody>
<p>
Compressed files with extensions incorrectly generate an exception.
</p>
<p>
<b>Bug:</b>
<xref keyref="IMPALA-14">IMPALA-14</xref>
</p>
<p>
<b>Resolution:</b> Fixed in 0.4
</p>
</conbody>
</concept>
<concept id="large_limit_hang">
<title>Queries with large limits would hang.</title>
<conbody>
<p>
Some queries with large limits were hanging.
</p>
<p>
<b>Resolution:</b> Fixed in 0.4
</p>
</conbody>
</concept>
<concept id="IMP-601">
<title>Order by on a string column produces incorrect results if there are empty strings</title>
<conbody>
<p>
<b>Resolution:</b> Fixed in 0.4
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_03">
<title>Issues Fixed in Version 0.3 of the Beta Release</title>
<conbody/>
<concept id="IMP-298">
<title>All table loading errors show as unknown table</title>
<conbody>
<p>
If Impala is unable to load the metadata for a table for any reason, a subsequent query referring to that
table will return an <codeph>unknown table</codeph> error message, even if the table is known.
</p>
<p>
<b>Resolution:</b> Fixed in 0.3
</p>
</conbody>
</concept>
<concept id="IMP-298-2">
<title>A table that cannot be loaded will disappear from SHOW TABLES</title>
<conbody>
<p>
After failing to load metadata for a table, Impala removes that table from the list of known tables
returned in <codeph>SHOW TABLES</codeph>. Subsequent attempts to query the table returns 'unknown table',
even if the metadata for that table is fixed.
</p>
<p>
<b>Resolution:</b> Fixed in 0.3
</p>
</conbody>
</concept>
<concept id="IMP-581">
<title>Impala cannot read from HBase tables that are not created as external tables in the hive metastore.</title>
<conbody>
<p>
Attempting to select from these tables fails.
</p>
<p>
<b>Resolution:</b> Fixed in 0.3
</p>
</conbody>
</concept>
<concept id="IMP-137">
<title>Certain queries that contain OUTER JOINs may return incorrect results</title>
<conbody>
<p>
Queries that contain OUTER JOINs may not return the correct results if there are predicates referencing
any of the joined tables in the WHERE clause.
</p>
<p>
<b>Resolution:</b> Fixed in 0.3.
</p>
</conbody>
</concept>
</concept>
<concept id="fixed_issues_02">
<title>Issues Fixed in Version 0.2 of the Beta Release</title>
<conbody/>
<concept id="IMP-491">
<title>Subqueries which contain aggregates cannot be joined with other tables or Impala may crash</title>
<conbody>
<p>
Subqueries that contain an aggregate cannot be joined with another table or Impala may crash. For
example:
</p>
<codeblock>SELECT * FROM (SELECT sum(col1) FROM some_table GROUP BY col1) t1 JOIN other_table ON (...);</codeblock>
<p>
<b>Resolution:</b> Fixed in 0.2
</p>
</conbody>
</concept>
<concept id="IMP-497">
<title>An insert with a limit that runs as more than one query fragment inserts more rows than the limit.</title>
<conbody>
<p>
For example:
</p>
<codeblock>INSERT OVERWRITE TABLE test SELECT * FROM test2 LIMIT 1;</codeblock>
<p>
<b>Resolution:</b> Fixed in 0.2
</p>
</conbody>
</concept>
<concept id="IMP-535">
<title>Query with limit clause might fail.</title>
<conbody>
<p>
For example:
</p>
<codeblock>SELECT * FROM test2 LIMIT 1;</codeblock>
<p>
<b>Resolution:</b> Fixed in 0.2
</p>
</conbody>
</concept>
<concept id="IMP-270">
<title>Files in unsupported compression formats are read as plain text.</title>
<conbody>
<p>
Attempting to read such files does not generate a diagnostic.
</p>
<p>
<b>Resolution:</b> Fixed in 0.2
</p>
</conbody>
</concept>
<concept id="IMP-522">
<title>Impala server raises a null pointer exception when running an HBase query.</title>
<conbody>
<p>
When querying an HBase table whose row-key is string type, the Impala server may raise a null pointer
exception.
</p>
<p>
<b>Resolution:</b> Fixed in 0.2
</p>
</conbody>
</concept>
</concept>
</concept>