apache / apache/hudi

Make the return value of LockProvider's tryLock method more reasonable

Open
#15,283 1 comment 0 reactions 0 assignees View on GitHub
from-jira priority:high type:improvement
Dominant language
Java
Stars
6.2k
Forks
2.5k
Avg merge
2d 8h
Merged PRs (30d)
111

Description

For now, zk lock provider and hive lock provider never return false when tryLock, hence it will always return an Exception, Why can't it return false? is it make sense to always return Exception? I feel maybe we need to make sure the behavior is properly first
if want to return false or return HoodieLockException or return InterruptedException, should mean something
eg: if lockprovider returns a IllegalArgumentException we don't need to retry in LockManager since it will always illegal

## JIRA info

- Link: https://issues.apache.org/jira/browse/HUDI-4413
- Type: Improvement

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the LockProvider.tryLock contract and the ZooKeeper and Hive lock-provider implementations, then trace how LockManager handles their exceptions and return values. Define consistent semantics for successful acquisition, failure, interruption, and non-retryable errors; done means the providers and LockManager agree on those outcomes and the existing behavior is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.