apache / apache/kyuubi

[TASK][MEDIUM] Configurable NICs(Network Interface Cards) selection strategy

Open
#6,296 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
2.4k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

### What's the level of this task?

MEDIUM

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

### Search before creating

- [X] I have searched in the [task list](https://github.com/orgs/apache/projects/343) and found no similar tasks.

### Mentor

- [ ] I have sufficient expertise on this task, and I volunteer to be a mentor of this task to guide contributors through the task.

### Skill requirements

- Familiar with Kyuubi architecture
- Knowledge of Scala language and network programming

### Background and Goals

In some environments, e.g. AliCloud ADB Spark cluster, it has multiple NICs(Network Interface Cards), Kyuubi uses [findLocalInetAddress](https://github.com/apache/kyuubi/blob/master/kyuubi-common/src/main/scala/org/apache/kyuubi/Utils.scala#L257) to find the first non-loopback address to bind, this may cause network issues. See details in https://github.com/apache/kyuubi/issues/3409

### Implementation steps

As title, we need flexible configurations to allow users to choose different NICs.

Note: The task level is set to MEDIUM because I want a flexible and extendable design, including docs and at least one real-world case.

### Additional context

Introduction of [2024H1 Kyuubi Code Contribution Program](https://github.com/apache/kyuubi/issues/6232)

Contributor guide

Open the contributing guide

Research direction

Start at findLocalInetAddress in kyuubi-common/src/main/scala/org/apache/kyuubi/Utils.scala and review issue 3409 for the network failure context. Define an extensible configuration approach for selecting NICs, document it, and include at least one real-world case as described in the task.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala, spark
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.