[
https://issues.apache.org/jira/browse/HIVE-24481?focusedWorklogId=521039&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-521039
]
ASF GitHub Bot logged work on HIVE-24481:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 07/Dec/20 08:51
Start Date: 07/Dec/20 08:51
Worklog Time Spent: 10m
Work Description: pvargacl commented on a change in pull request #1738:
URL: https://github.com/apache/hive/pull/1738#discussion_r537329142
##########
File path: ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
##########
@@ -566,20 +567,20 @@ else if (filename.startsWith(BUCKET_PREFIX)) {
public static final class DirectoryImpl implements Directory {
private final List<Path> abortedDirectories;
private final Set<Long> abortedWriteIds;
+ private final boolean uncompactedAborts;
private final boolean isBaseInRawFormat;
private final List<HdfsFileStatusWithId> original;
private final List<Path> obsolete;
private final List<ParsedDelta> deltas;
private final Path base;
private List<HdfsFileStatusWithId> baseFiles;
- public DirectoryImpl(List<Path> abortedDirectories, Set<Long>
abortedWriteIds,
- boolean isBaseInRawFormat, List<HdfsFileStatusWithId> original,
- List<Path> obsolete, List<ParsedDelta> deltas, Path base) {
- this.abortedDirectories = abortedDirectories == null ?
- Collections.emptyList() : abortedDirectories;
- this.abortedWriteIds = abortedWriteIds == null ?
- Collections.emptySet() : abortedWriteIds;
+ public DirectoryImpl(List<Path> abortedDirectories, Set<Long>
abortedWriteIds, boolean uncompactedAborts,
Review comment:
Yes, I plan to do that. I think I will make DirectoryImpl mutable, and
pass it down the getAcidState calls, to gather all the info in it along the way.
----------------------------------------------------------------
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: 521039)
Time Spent: 50m (was: 40m)
> Skipped compaction can cause data corruption with streaming
> -----------------------------------------------------------
>
> Key: HIVE-24481
> URL: https://issues.apache.org/jira/browse/HIVE-24481
> Project: Hive
> Issue Type: Bug
> Reporter: Peter Varga
> Assignee: Peter Varga
> Priority: Major
> Labels: Compaction, pull-request-available
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Timeline:
> 1. create a partitioned table, add one static partition
> 2. transaction 1 writes delta_1, and aborts
> 3. create streaming connection, with batch 3, withStaticPartitionValues with
> the existing partition
> 4. beginTransaction, write, commitTransaction
> 5. beginTransaction, write, abortTransaction
> 6. beingTransaction, write, commitTransaction
> 7. close connection, count of the table is 2
> 8. run manual minor compaction on the partition. it will skip compaction,
> because deltacount =1 but clean, because there is aborted txn1
> 9. cleaner will remove both aborted record from txn_components
> 10. wait for acidhousekeeper to remove empty aborted txns
> 11. select * from table return *3* records, reading the aborted record
--
This message was sent by Atlassian Jira
(v8.3.4#803005)