Quanlong Huang has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/22388


Change subject: IMPALA-13691: Partition values from HMS events don't need URL 
decoding
......................................................................

IMPALA-13691: Partition values from HMS events don't need URL decoding

Hive uses URL encoding to format the partition strings when creating the
partition folders, e.g. "00:00:00" will be encoded into "00%3A00%3A00".
When you create a partition of string type partition column "p" and
using "00:00:00" as the partition value, the underlying partition folder
is "p=00%3A00%3A00".

When parsing the partition folders, Impala will URL-decode the partition
folder names to get the correct partition values. This is correct in
ALTER TABLE RECOVER PARTITIONS command that gets the partition strings
from the file paths. However, for partition strings come from HMS
events, Impala shouldn't URL-decode them since they are not URL encoded
and are the original partition values. This causes HMS events on
partitions that have percent signs in the value strings being matched to
wrong partitions.

This patch fixes the issue by only URL-decoding the partition strings
that come from file paths.

Tests:
 - Ran tests/metadata/test_recover_partitions.py
 - Added custom-cluster test.

Change-Id: I7ba7fbbed47d39b02fa0b1b86d27dcda5468e344
---
M fe/src/main/java/org/apache/impala/catalog/HdfsTable.java
M tests/custom_cluster/test_events_custom_configs.py
2 files changed, 40 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/88/22388/1
--
To view, visit http://gerrit.cloudera.org:8080/22388
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7ba7fbbed47d39b02fa0b1b86d27dcda5468e344
Gerrit-Change-Number: 22388
Gerrit-PatchSet: 1
Gerrit-Owner: Quanlong Huang <huangquanl...@gmail.com>

Reply via email to