[ https://issues.apache.org/jira/browse/HIVE-24162?focusedWorklogId=484964&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-484964 ]
ASF GitHub Bot logged work on HIVE-24162: ----------------------------------------- Author: ASF GitHub Bot Created on: 16/Sep/20 06:53 Start Date: 16/Sep/20 06:53 Worklog Time Spent: 10m Work Description: pvargacl commented on a change in pull request #1498: URL: https://github.com/apache/hive/pull/1498#discussion_r489203951 ########## File path: ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/CompactionQueryBuilder.java ########## @@ -543,18 +543,26 @@ private void addTblProperties(StringBuilder query, int bucketingVersion) { if (crud && minor && isBucketed) { tblProperties.put("bucketing_version", String.valueOf(bucketingVersion)); } - if (insertOnly && sourceTab != null) { // to avoid NPEs, skip this part if sourceTab is null - // Exclude all standard table properties. - Set<String> excludes = getHiveMetastoreConstants(); - excludes.addAll(StatsSetupConst.TABLE_PARAMS_STATS_KEYS); - for (Map.Entry<String, String> e : sourceTab.getParameters().entrySet()) { - if (e.getValue() == null) { - continue; + if (sourceTab != null) { // to avoid NPEs, skip this part if sourceTab is null + if (insertOnly) { + // Exclude all standard table properties. + Set<String> excludes = getHiveMetastoreConstants(); + excludes.addAll(StatsSetupConst.TABLE_PARAMS_STATS_KEYS); + for (Map.Entry<String, String> e : sourceTab.getParameters().entrySet()) { + if (e.getValue() == null) { + continue; + } + if (excludes.contains(e.getKey())) { + continue; + } + tblProperties.put(e.getKey(), HiveStringUtils.escapeHiveCommand(e.getValue())); } - if (excludes.contains(e.getKey())) { - continue; + } else if (crud) { + for (Map.Entry<String, String> e : sourceTab.getParameters().entrySet()) { + if (e.getKey().startsWith("orc.")) { Review comment: Well the tblproperties will not get overwritten in the original table, so only the properties matter, that influence the compacted file itself. I think orc properties should cover those. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 484964) Time Spent: 40m (was: 0.5h) > Query based compaction looses bloom filter > ------------------------------------------ > > Key: HIVE-24162 > URL: https://issues.apache.org/jira/browse/HIVE-24162 > Project: Hive > Issue Type: Bug > Reporter: Peter Varga > Assignee: Peter Varga > Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > *Steps to reproduce:* > > {noformat} > +----------------------------------------------------+ > | createtab_stmt | > +----------------------------------------------------+ > | CREATE TABLE `bloomTest`( | > | `msisdn` string, | > | `imsi` varchar(20), | > | `imei` bigint, | > | `cell_id` bigint) | > | ROW FORMAT SERDE | > | 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' | > | STORED AS INPUTFORMAT | > | 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' | > | OUTPUTFORMAT | > | 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' | > | LOCATION | > | > 's3a://dwxtpcds30-wwgq-dwx-managed/clusters/env-6cwwgq/warehouse-1580338415-7dph/warehouse/tablespace/managed/hive/del_db.db/bloomtest' > | > | TBLPROPERTIES ( | > | 'bucketing_version'='2', | > | 'orc.bloom.filter.columns'='msisdn,cell_id,imsi', | > | 'orc.bloom.filter.fpp'='0.02', | > | 'transactional'='true', | > | 'transactional_properties'='default', | > | 'transient_lastDdlTime'='1597222946') | > +----------------------------------------------------+ > insert into bloomTest values ("a", "b", 10, 20); > insert into bloomTest values ("aa", "bb", 100, 200); > insert into bloomTest values ("aaa", "bbb", 1000, 2000); > select * from bloomTest; > +-------------------+-----------------+-----------------+--------------------+ > | bloomtest.msisdn | bloomtest.imsi | bloomtest.imei | bloomtest.cell_id | > +-------------------+-----------------+-----------------+--------------------+ > | a | b | 10 | 20 | > | aa | bb | 100 | 200 | > | aaa | bbb | 1000 | 2000 | > +-------------------+-----------------+-----------------+--------------------+ > {noformat} > - Compact the table > {code:java} > alter table bloomTest compact 'MAJOR'; > {code} > - Wait for the compaction to be over and check for bloom filters in dataset. > > - delta would have it, but not in the base dataset. -- This message was sent by Atlassian Jira (v8.3.4#803005)