For asking questions on MR3, please visit MR3 Google Group.

1. Invalid cache of DynamicValue

If the user switches to another database and executes the same query again that has been executed previously, a wrong result may be returned because Hive internally uses the cache of DynamicValue populated with the previous database. A practical workaround is to delete all running ContainerWorkers, if the user intends to execute the same query again, after switching to another database. Alternatively the user can set the configuration key hive.io.sarg.cache.max.weight.mb to 0 in hive-site.xml (which is not recommended).

2. GroupByOperator estimating memory usage

When multiple TaskAttempts run inside a DAGAppMaster, GroupByOperator conservatively estimates the size of memory used by a TaskAttempt. As a result, GroupByOperator flushes hash tables more often than necessary. The user can mitigate this issue by increasing the value for the configuration key hive.map.aggr.hash.force.flush.memory.threshold in hive-site.xml.

3. Memory leak in Hive 2 on MR3

HiveServer2 shows memory leak because of its use of an old version of Calcite (1.2.0-incubating and 1.10). See CALCITE-1808 which is fixed in Calcite 1.15.