yihua commented on PR #9255: URL: https://github.com/apache/hudi/pull/9255#issuecomment-1666264355
> > Can you elaborate a little more why the table service client can hold a separate lock ? > > Because `InProcessLockProvider` is valid as long as it is in the same JVM process (see `static final Map<String, ReentrantReadWriteLock> LOCK_INSTANCE_PER_BASEPATH = new ConcurrentHashMap<>();`), other locks can not even be in the same JVM. Maybe i'm missing something. > > Of course, it is best to use the same lock manager, just like it used to be (before #6732). And CI seems to be stable now by the way. `LOCK_INSTANCE_PER_BASEPATH` is already static final, and multiple `InProcessLockProvider` instances using the same table base path in the same process should get the same underlying `ReentrantReadWriteLock` instance. Check this test which passes now: `TestInProcessLockProvider.testLockIdentity()`. There was a bug before in `InProcessLockProvider` which is fixed in #8658. Not sure if you hit that. -- 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]
