apache / apache/accumulo

Investigate setting RPC Timeout as part of TNonblockingServerSocket constructor

Open
#3,153 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.