Comments (9)
otherwise is there a chance of mistakenly releasing the lock of other operations and causing problems?
That's reasonable, we should ensure the lock been acquired in the first place.
from hudi.
archive itself holds an transaction lock, so we need to release it in any case, what is the wrong case you have ecountered?
from hudi.
@danny0405 Sorry, I don't remember the details of the problem (I will confirm with my colleagues and provide the results later), but based on the logic here, wouldn't it be better to attempt to release the lock only when acquiring it, otherwise is there a chance of mistakenly releasing the lock of other operations and causing problems?
from hudi.
@danny0405 @Ytimetravel The behavior of method TransactionManager#endTransaction
itself is correct, it would check whether the current lock is hold by itself before it unlock. However, there is a bug in HoodieTimelineArchiver
because archiving itself is not a transaction and does not correspond to any instant in timeline. When an exception occurs, it might mistakenly deletes locks held by others.
@Ytimetravel Would you like to fix this issue?
from hudi.
@beyond1920 Yes, I am very willing to fix this issue.
This fix has already been tested and verified~
from hudi.
What is the general reason that the trasanction start of archival is failing?
from hudi.
@danny0405 Failed to acquire lock.
from hudi.
![image](https://private-user-images.githubusercontent.com/112808605/326344658-16348f67-4899-45bc-acb0-ca2ba3e51912.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgyODY0NjAsIm5iZiI6MTcxODI4NjE2MCwicGF0aCI6Ii8xMTI4MDg2MDUvMzI2MzQ0NjU4LTE2MzQ4ZjY3LTQ4OTktNDViYy1hY2IwLWNhMmJhM2U1MTkxMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYxM1QxMzQyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YjUyNThiZmE0OWFmYzg4NWMxNGYyMGNkNGI5ODc4YWFkNGMyYjNjNjY0MTIzNDA1YjZhMDliMGRmYzNhZDYwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.3l30aAEwZ2ag6MOTQEWEPWiA3ZQxsqqGCiMM6kHyD0A)
from hudi.
Okay, it would be great if you can fire a fix for it.
from hudi.
Related Issues (20)
- [SUPPORT] Failed to upsert for commit time xxxx ,HUDI 0.14.1 & Glue 4.0 HOT 4
- [SUPPORT] - Partial update of the MOR table after compaction with Hudi Streamer HOT 7
- [SUPPORT] Spark-Hudi: Unable to perform Hard delete using Pyspark on HUDI table from AWS Glue HOT 7
- [SUPPORT] Issue with RECORD_INDEX Initialization Falling Back to GLOBAL_SIMPLE HOT 1
- duplicated records when use insert overwrite HOT 4
- [SUPPORT] CVE problems in latest 0.14.1
- [SUPPORT] using spark's observe feature on dataframes saved by hudi is stuck HOT 3
- Corrupted parquet file in hudi partition | Deletion of partition in Hudi HOT 6
- [SUPPORT] Multi Writer Jobs with OCC (U1 and U2) with Async Cleaner
- [SUPPORT] how to migrate exist bloom index table to bucket table HOT 2
- [SUPPORT] Unable to Use DynamoDB Based Lock with Hudi PySpark Job Locally HOT 8
- [SUPPORT] Serde properties missing after migrate from hivesync to gluesync HOT 4
- [SUPPORT] HOT 1
- [SUPPORT] The clean service can't clean historical version files after the savepoint instant when i set `hoodie.archive.beyond.savepoint=true` HOT 1
- [SUPPORT] Multi Writer DeltaStreamer (W1 and W2) Writing into Partition IN and US One of them failing
- [SUPPORT] Data deduplication caused by drawback in the delete invalid files before commit HOT 8
- [SUPPORT] hoodie.datasource.write.precombine.field is invalid HOT 3
- [SUPPORT] HOT 5
- [SUPPORT] hoodie.cleaner.commits.retained Setting Overridden, Warning to Increase to 20 HOT 2
- [SUPPORT] select lots of values via Record Index HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hudi.