majian1998 opened a new pull request, #11809:
URL: https://github.com/apache/hudi/pull/11809
When a table is on OSS and MDT is enabled, the current code adds some lock
parameters. It sets the FileSystemBasedLockProvider as the default lock.
However, in its constructor, it checks if the current file system supports
atomicity. If it does not, an error is thrown. Currently, it seems there is no
configuration to bypass this error, which prevents tables on file system such
as OSS from using capabilities like calling clustering procedures.
The fix is to skip adding this configuration when the file system does not
support atomicity. This way, at least the basic functionality won't be blocked
by this lock and can operate normally.
The error message is as follows:
```
Exception in thread "main" org.apache.hudi.exception.HoodieException: Unable
to instantiate class
org.apache.hudi.client.transaction.lock.FileSystemBasedLockProvider
at
org.apache.hudi.common.util.ReflectionUtils.loadClass(ReflectionUtils.java:75)
at
org.apache.hudi.client.transaction.lock.LockManager.getLockProvider(LockManager.java:125)
at
org.apache.hudi.client.transaction.lock.LockManager.unlock(LockManager.java:112)
at
org.apache.hudi.client.transaction.TransactionManager.endTransaction(TransactionManager.java:70)
at
org.apache.hudi.client.BaseHoodieTableServiceClient.scheduleTableService(BaseHoodieTableServiceClient.java:609)
at
org.apache.hudi.client.BaseHoodieWriteClient.scheduleTableService(BaseHoodieWriteClient.java:1216)
at
org.apache.hudi.client.BaseHoodieWriteClient.scheduleClusteringAtInstant(BaseHoodieWriteClient.java:1165)
```
### Change Logs
None
### Impact
None
### Risk level (write none, low medium or high below)
low
### Documentation Update
None
### Contributor's checklist
- [ ] Read through [contributor's
guide](https://hudi.apache.org/contribute/how-to-contribute)
- [ ] Change Logs and Impact were stated clearly
- [ ] Adequate tests were added if applicable
- [ ] CI passed
--
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]