You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by da...@apache.org on 2025/04/08 04:19:34 UTC
(hudi) branch asf-site updated: [Docs] Add doc updates for conditional writes lock provider (#13104)
This is an automated email from the ASF dual-hosted git repository.
danny0405 pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/asf-site by this push:
new d50ada164e4 [Docs] Add doc updates for conditional writes lock provider (#13104)
d50ada164e4 is described below
commit d50ada164e4040a94059011fc871559bff175b37
Author: Alex R <ar...@gmail.com>
AuthorDate: Mon Apr 7 21:19:28 2025 -0700
[Docs] Add doc updates for conditional writes lock provider (#13104)
---
website/docs/concurrency_control.md | 8 +++++++-
website/docs/configurations.md | 13 +++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/website/docs/concurrency_control.md b/website/docs/concurrency_control.md
index d835e06290f..e35da25201a 100644
--- a/website/docs/concurrency_control.md
+++ b/website/docs/concurrency_control.md
@@ -39,7 +39,13 @@ When a transaction attempts to modify a resource that is currently locked by ano
In case of multi-writing in Hudi, the locks are acquired on the Hudi table for a very short duration during specific phases (such as just before committing the writes or before scheduling table services) instead of locking for the entire span of time. This approach allows multiple writers to work on the same table simultaneously, increasing concurrency and avoids conflicts.
-There are 4 different lock providers that require different configurations to be set. Please refer to comprehensive locking configs [here](https://hudi.apache.org/docs/next/configurations#LOCK).
+There are 4 different lock providers that require different configurations to be set. 1 lock provider requires no configurations. Please refer to comprehensive locking configs [here](https://hudi.apache.org/docs/next/configurations#LOCK).
+
+#### Conditional writes based
+```
+hoodie.write.lock.provider=org.apache.hudi.client.transaction.lock.ConditionalWriteLockProvider
+```
+No configs are required for this lock provider, however as of 1.0.2 this lock provider is only supported for S3.
#### Zookeeper based
```
diff --git a/website/docs/configurations.md b/website/docs/configurations.md
index 0758147e0df..4f819fb563e 100644
--- a/website/docs/configurations.md
+++ b/website/docs/configurations.md
@@ -1130,6 +1130,19 @@ Configs that control DynamoDB based locking mechanisms required for concurrency
| [hoodie.write.lock.wait_time_ms](#hoodiewritelockwait_time_ms) | 60000 | Lock Acquire Wait Timeout in milliseconds<br />`Config Param: LOCK_ACQUIRE_WAIT_TIMEOUT_MS_PROP_KEY`<br />`Since Version: 0.10.0` |
---
+#### Storage based conditional write locks configurations {#ConditionalWrite-based-Locks-Configurations}
+Configs that control conditional write based locking mechanisms required for concurrency control between writers to a Hudi table. Concurrency between Hudi's own table services are auto managed internally.
+
+[**Advanced Configs**](#ConditionalWrite-based-Locks-Configurations-advanced-configs)
+
+
+| Config Name | Default | Description |
+| --------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [hoodie.write.lock.conditional_write.locks_location](#hoodiewritelockconditional_write_locks_location) | (N/A) | For conditional writes based lock provider, the centralized location to write all locks to. If not provided, locks are written to each table's base path: `.hoodie/.locks/table_lock.json`. <br />`Config Param: CONDITIONAL_WRITE_LOCKS_LOCATION`<br />`Since Version: 1.0.2.1` [...]
+| [hoodie.write.lock.conditional_write.heartbeat_poll_ms](#hoodiewritelockconditional_write_heartbeat_poll_ms) | 30000 | For conditional writes based lock provider, How often to renew each held lock, default is 30 seconds.<br />`Config Param: CONDITIONAL_WRITE_HEARTBEAT_POLL_MS`<br />`Since Version: 1.0.2.0` |
+| [hoodie.write.lock.conditional_write.lock_validity_timeout_ms](#hoodiewritelockconditional_write_lock_validity_timeout_ms) | 300000 | For conditional writes based lock provider, the amount of time each new lock is valid before expiring, default is 5 minutes. <br />`Config Param: CONDITIONAL_WRITE_LOCK_VALIDITY_TIMEOUT_MS`<br />`Since Version: 1.0.2` | [...]
+---
+
### Key Generator Configs {#KEY_GENERATOR}
Hudi maintains keys (record key + partition path) for uniquely identifying a particular record. These configs allow developers to setup the Key generator class that extracts these out of incoming records.