[
https://issues.apache.org/jira/browse/HIVE-24168?focusedWorklogId=485831&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-485831
]
ASF GitHub Bot logged work on HIVE-24168:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 17/Sep/20 16:16
Start Date: 17/Sep/20 16:16
Worklog Time Spent: 10m
Work Description: klcopp commented on pull request #1501:
URL: https://github.com/apache/hive/pull/1501#issuecomment-694340954
@szlta What you say makes sense. The only issue being that if we have one
session-level config controlling the cache, and we use it to always turn off
the cache during compaction, we'll never allow turning it back on during
compaction – this fix wouldn't be behind a feature flag. I'm tentatively okay
with this – @zchovan are you ok with this?
----------------------------------------------------------------
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:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 485831)
Time Spent: 1h 10m (was: 1h)
> Disable hdfsEncryptionShims cache during query-based compaction
> ---------------------------------------------------------------
>
> Key: HIVE-24168
> URL: https://issues.apache.org/jira/browse/HIVE-24168
> Project: Hive
> Issue Type: Bug
> Reporter: Karen Coppage
> Assignee: Karen Coppage
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Hive keeps a cache of encryption shims in SessionState (Map<URI,
> HadoopShims.HdfsEncryptionShim> hdfsEncryptionShims). Each encryption shim in
> the cache stores a FileSystem object.
> After compaction where the session user is not the same user as the owner of
> the partition/table directory, we close all FileSystem objects associated
> with the user running the compaction, possibly closing an FS stored in the
> encryption shim cache. The next time query-based compaction is run on a
> table/partition owned by the same user, compaction will fail in MoveTask[1]
> since the FileSystem stored in the cache was closed.
> This change disables the cache during query-based compaction (optionally;
> default: disabled).
> [1] Error:
> {code:java}
> 2020-09-08 11:23:50,170 ERROR org.apache.hadoop.hive.ql.Driver:
> [rncdpdev-2.fyre.ibm.com-27]: FAILED: Execution Error, return code 1 from
> org.apache.hadoop.hive.ql.exec.MoveTask. java.io.IOException: Filesystem
> closed. org.apache.hadoop.hive.ql.metadata.HiveException:
> java.io.IOException: Filesystem closed
> at org.apache.hadoop.hive.ql.metadata.Hive.needToCopy(Hive.java:4637)
> at org.apache.hadoop.hive.ql.metadata.Hive.copyFiles(Hive.java:4147)
> at org.apache.hadoop.hive.ql.metadata.Hive.copyFiles(Hive.java:4694)
> at org.apache.hadoop.hive.ql.metadata.Hive.loadTable(Hive.java:3120)
> at org.apache.hadoop.hive.ql.exec.MoveTask.execute(MoveTask.java:423)
> at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:213)
> at
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105)
> at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:359)
> at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:330)
> at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:246)
> at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:109)
> at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:721)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:488)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:477)
> at
> org.apache.hadoop.hive.ql.DriverUtils.runOnDriver(DriverUtils.java:70)
> at
> org.apache.hadoop.hive.ql.txn.compactor.QueryCompactor.runCompactionQueries(QueryCompactor.java:116)
> at
> org.apache.hadoop.hive.ql.txn.compactor.MmMajorQueryCompactor.runCompaction(MmMajorQueryCompactor.java:72)
> at
> org.apache.hadoop.hive.ql.txn.compactor.CompactorMR.run(CompactorMR.java:232)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker$1.run(Worker.java:221)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1876)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:218)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)