Investigate setting RPC Timeout as part of TNonblockingServerSocket constructor
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 487
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 13
Description
As part of the investigation for #3134 I noticed another constructor [argument](https://github.com/apache/thrift/blob/b39370ec3bc96d201bbc82fbde136f98ae605ed1/lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerSocket.java#L83) for `clientTimeout` that can be configured as part of `TNonblockingServerSocket`. Currently we don't set this at all (so it defaults to 0) and in the fix in #3134 it will be set to 0 so we preserve the previous behavior. Setting to 0 means no timeout so it will wait forever. We do have a [property](https://github.com/apache/accumulo/blob/c31194740080a1f12c65aec82fe46731f9da2069/core/src/main/java/org/apache/accumulo/core/conf/Property.java#L217) for RPC timeouts so we should investigate to see if it makes sense to use that property and set it to the `clientTimeout` value in the constructor instead of leaving it as 0.
Contributor guide
Research direction
Start with lib/java/src/main/java/org/apache/thrift/transport/TNonblockingServerSocket.java and the RPC timeout property in core/src/main/java/org/apache/accumulo/core/conf/Property.java. Read issue #3134 to understand the related behavior, then determine whether that property should supply clientTimeout instead of leaving it at 0. Done means the timeout decision and resulting behavior are clearly established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100