[
https://issues.apache.org/jira/browse/HIVE-17547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eugene Koifman resolved HIVE-17547.
-----------------------------------
Resolution: Not A Problem
since commit() of the txn happens after all tasks are complete, no one will
read contents of this delta until it has all the files
> MoveTask for Acid tables race condition
> ---------------------------------------
>
> Key: HIVE-17547
> URL: https://issues.apache.org/jira/browse/HIVE-17547
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 1.0.0
> Reporter: Eugene Koifman
> Assignee: Eugene Koifman
> Priority: Major
>
> Consider Hive.moveAcidFiles()
> it starts out with something like
> {noformat}
> └── -ext-10000
> │ └── 000000_0
> │ ├── _orc_acid_version
> │ └── delta_0000019_0000019
> │ └── bucket_00000
> │ └── 000000_1
> │ ├── _orc_acid_version
> │ └── delta_0000019_0000019
> │ └── bucket_00001
> {noformat}
> for a write to a bucketed table.
> The "move" handles each 000000_N separately. The first on creates
> delta_0000019_0000019 under the table/partition dir, the others just add
> bucket_0000N there.
> That means there is a small window where someone may "ls
> table/part/delta_0000019_0000019" and not see all the buckets.
> Once Acid writes directly to the final location (a la MM tables) this issue
> resolves automatically since txn 19 is uncommitted until everything is
> written.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)