voonhous commented on code in PR #19459:
URL: https://github.com/apache/hudi/pull/19459#discussion_r3699466735


##########
website/versioned_docs/version-1.0.1/concurrency_control.md:
##########
@@ -259,7 +259,7 @@ hoodie.cleaner.policy.failed.writes=LAZY
 | Config Name                         | Default                                
                                       | Description                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
     |
 
|-------------------------------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | hoodie.write.concurrency.mode       | SINGLE_WRITER (Optional)               
                                       | <u>[Concurrency 
modes](https://github.com/apache/hudi/blob/00ece7bce0a4a8d0019721a28049723821e01842/hudi-common/src/main/java/org/apache/hudi/common/model/WriteConcurrencyMode.java)</u>
 for write operations.<br />Possible values:<br /><ul><li>`SINGLE_WRITER`: Only 
one active writer to the table. Maximizes 
throughput.</li><li>`OPTIMISTIC_CONCURRENCY_CONTROL`: Multiple writers can 
operate on the table with lazy conflict resolution using locks. This means that 
only one writer succeeds if multiple writers write to the same file 
group.</li><li>`NON_BLOCKING_CONCURRENCY_CONTROL`: Multiple writers can operate 
on the table with non-blocking conflict resolution. The writers can write into 
the same file group with the conflicts resolved automatically by the query 
reader and the compactor.</li></ul><br />`Config Param: WRITE_CONCURRENCY_MODE` 
|
-| hoodie.write.lock.provider          | 
org.apache.hudi.client.transaction.lock.ZookeeperBasedLockProvider (Optional) | 
Lock provider class name, user can provide their own implementation of 
LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |
+| hoodie.write.lock.provider          | 
org.apache.hudi.client.transaction.lock.InProcessLockProvider (Optional)      | 
Lock provider class name, user can provide their own implementation of 
LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |

Review Comment:
   This one should be `N/A **(Required)**`, same as 1.0.2 and later.
   
   The default was removed by `63ad659a672d` "[HUDI-8930] Removing default lock 
provider (#12730)" (2025-01-29), and the earliest release containing that 
commit is `release-1.0.1`, not 1.0.2:
   
   ```
   $ git tag --contains 63ad659a672d | grep -E '^release-1\.[0-9]+\.[0-9]+$'
   release-1.0.1
   release-1.0.2
   ```
   
   Direct confirmation at the tag:
   
   ```
   $ git show 
release-1.0.1:hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieLockConfig.java
     public static final ConfigProperty<String> LOCK_PROVIDER_CLASS_NAME = 
ConfigProperty
         .key(LOCK_PREFIX + "provider")
         .noDefaultValue()
         .markAdvanced()
   ```
   
   There is no `withInferFunction` on it either, so it really is unset in 1.0.1.
   
   On the justification in the PR description: 
`versioned_docs/version-1.0.1/configurations.md` is byte-identical to 
`versioned_docs/version-1.0.0/configurations.md` (`diff` reports no 
differences), so it was copied at version-cut time and never regenerated for 
1.0.1. It is stale for this same config, which means matching it propagates the 
error instead of fixing it.
   
   With this changed, the cutover line in the description becomes "1.0.1 and 
later" rather than "1.0.2 and later".



##########
website/versioned_docs/version-1.0.0/concurrency_control.md:
##########
@@ -244,7 +244,7 @@ hoodie.cleaner.policy.failed.writes=LAZY
 | Config Name                         | Default                                
                                       | Description                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
     |
 
|-------------------------------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | hoodie.write.concurrency.mode       | SINGLE_WRITER (Optional)               
                                       | <u>[Concurrency 
modes](https://github.com/apache/hudi/blob/00ece7bce0a4a8d0019721a28049723821e01842/hudi-common/src/main/java/org/apache/hudi/common/model/WriteConcurrencyMode.java)</u>
 for write operations.<br />Possible values:<br /><ul><li>`SINGLE_WRITER`: Only 
one active writer to the table. Maximizes 
throughput.</li><li>`OPTIMISTIC_CONCURRENCY_CONTROL`: Multiple writers can 
operate on the table with lazy conflict resolution using locks. This means that 
only one writer succeeds if multiple writers write to the same file 
group.</li><li>`NON_BLOCKING_CONCURRENCY_CONTROL`: Multiple writers can operate 
on the table with non-blocking conflict resolution. The writers can write into 
the same file group with the conflicts resolved automatically by the query 
reader and the compactor.</li></ul><br />`Config Param: WRITE_CONCURRENCY_MODE` 
|
-| hoodie.write.lock.provider          | 
org.apache.hudi.client.transaction.lock.ZookeeperBasedLockProvider (Optional) | 
Lock provider class name, user can provide their own implementation of 
LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |
+| hoodie.write.lock.provider          | 
org.apache.hudi.client.transaction.lock.InProcessLockProvider (Optional)      | 
Lock provider class name, user can provide their own implementation of 
LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |

Review Comment:
   Correct as written. `release-1.0.0` has 
`.defaultValue(InProcessLockProvider.class.getName())`, set by `77f6869d3fd5` 
"[HUDI-8594] Make InProcessLockProvider as default (#12347)", and 
`versioned_docs/version-1.0.0/configurations.md` agrees.
   
   This is the only version where `InProcessLockProvider (Optional)` is the 
right value.



##########
website/versioned_docs/version-1.0.2/concurrency_control.md:
##########
@@ -266,7 +266,7 @@ hoodie.cleaner.policy.failed.writes=LAZY
 | Config Name                         | Default                                
                                       | Description                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
     |
 
|-------------------------------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | hoodie.write.concurrency.mode       | SINGLE_WRITER (Optional)               
                                       | <u>[Concurrency 
modes](https://github.com/apache/hudi/blob/00ece7bce0a4a8d0019721a28049723821e01842/hudi-common/src/main/java/org/apache/hudi/common/model/WriteConcurrencyMode.java)</u>
 for write operations.<br />Possible values:<br /><ul><li>`SINGLE_WRITER`: Only 
one active writer to the table. Maximizes 
throughput.</li><li>`OPTIMISTIC_CONCURRENCY_CONTROL`: Multiple writers can 
operate on the table with lazy conflict resolution using locks. This means that 
only one writer succeeds if multiple writers write to the same file 
group.</li><li>`NON_BLOCKING_CONCURRENCY_CONTROL`: Multiple writers can operate 
on the table with non-blocking conflict resolution. The writers can write into 
the same file group with the conflicts resolved automatically by the query 
reader and the compactor.</li></ul><br />`Config Param: WRITE_CONCURRENCY_MODE` 
|
-| hoodie.write.lock.provider          | 
org.apache.hudi.client.transaction.lock.ZookeeperBasedLockProvider (Optional) | 
Lock provider class name, user can provide their own implementation of 
LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |
+| hoodie.write.lock.provider          | N/A **(Required)**                     
                                       | Lock provider class name, user can 
provide their own implementation of LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |

Review Comment:
   Value is right. Just flagging the boundary: 1.0.2 is not where the default 
was removed, 1.0.1 is (see the note on the 1.0.1 file). So this row is correct, 
but for a slightly different reason than the description gives.



##########
website/docs/concurrency_control.md:
##########
@@ -300,7 +300,7 @@ hoodie.cleaner.policy.failed.writes=LAZY
 | Config Name                         | Default                                
                                       | Description                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
     |
 
|-------------------------------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | hoodie.write.concurrency.mode       | SINGLE_WRITER (Optional)               
                                       | <u>[Concurrency 
modes](https://github.com/apache/hudi/blob/00ece7bce0a4a8d0019721a28049723821e01842/hudi-common/src/main/java/org/apache/hudi/common/model/WriteConcurrencyMode.java)</u>
 for write operations.<br />Possible values:<br /><ul><li>`SINGLE_WRITER`: Only 
one active writer to the table. Maximizes 
throughput.</li><li>`OPTIMISTIC_CONCURRENCY_CONTROL`: Multiple writers can 
operate on the table with lazy conflict resolution using locks. This means that 
only one writer succeeds if multiple writers write to the same file 
group.</li><li>`NON_BLOCKING_CONCURRENCY_CONTROL`: Multiple writers can operate 
on the table with non-blocking conflict resolution. The writers can write into 
the same file group with the conflicts resolved automatically by the query 
reader and the compactor.</li></ul><br />`Config Param: WRITE_CONCURRENCY_MODE` 
|
-| hoodie.write.lock.provider          | 
org.apache.hudi.client.transaction.lock.ZookeeperBasedLockProvider (Optional) | 
Lock provider class name, user can provide their own implementation of 
LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |
+| hoodie.write.lock.provider          | N/A **(Required)**                     
                                       | Lock provider class name, user can 
provide their own implementation of LockProvider which should be subclass of 
org.apache.hudi.common.lock.LockProvider<br /><br />`Config Param: 
LOCK_PROVIDER_CLASS_NAME`<br />`Since Version: 0.8.0`                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                         |

Review Comment:
   `N/A **(Required)**` is the right call here, on both formatting and 
substance:
   
   - Formatting matches the rest of this page: the ZooKeeper table (lines 
98-100), the Hive-metastore table (112-113) and the DynamoDB table (144) all 
use `N/A **(Required)**` for no-default configs.
   - "Required" is accurate for the multi-writer context this table documents. 
`HoodieWriteConfig.autoAdjustConfigsForConcurrencyMode` only injects 
`InProcessLockProvider` for single-writer and 
single-writer-with-async-table-services; under OCC/NBCC the user has to set it 
explicitly. The properties snippet directly above the table already shows 
`hoodie.write.lock.provider=<lock-provider-classname>`, so the table and the 
snippet now agree.
   
   Padding is preserved at the same cell width, so the raw table stays aligned.



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to