kyuubi/docs
wangzhigang 84928184fc
[KYUUBI #7121] Improve operation timeout management with configurable executors
### Why are the changes needed?

The current mechanism for handling operation timeouts in Kyuubi creates a new `ScheduledExecutorService` with a dedicated thread for each operation. In scenarios with a large number of concurrent operations, this results in excessive thread creation, which consumes substantial system resources and may adversely affect server performance and stability.

This PR introduces a shared `ScheduledThreadPool` within the Operation Manager to centrally schedule operation timeouts. This approach avoids the overhead of creating an excessive number of threads, thereby reducing the system load. Additionally, both the pool size and thread keep-alive time are configurable via the `OPERATION_TIMEOUT_POOL_SIZE` and `OPERATION_TIMEOUT_POOL_KEEPALIVE_TIME` parameters.

### How was this patch tested?

A new unit test for `newDaemonScheduledThreadPool` was added to `ThreadUtilsSuite.scala`. Furthermore, a dedicated `TimeoutSchedulerSuite` was introduced to verify operation timeout behavior.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #7121 from wangzhigang1999/master.

Closes #7121

df7688dbf [wangzhigang] Refactor timeout management configuration and improve documentation
2b03b1e68 [wangzhigang] Remove deprecated `ThreadPoolTimeoutExecutor` class following refactor of operation timeout management.
52a8a516a [wangzhigang] Refactor operation timeout management to use per-OperationManager scheduler
7e46d47f8 [wangzhigang] Refactor timeout management by introducing ThreadPoolTimeoutExecutor
f7f10881a [wangzhigang] Add operation timeout management with ThreadPoolTimeoutExecutor
d8cd6c7d4 [wangzhigang] Update .gitignore to exclude .bloop and .metals directories

Lead-authored-by: wangzhigang <wangzhigang1999@live.cn>
Co-authored-by: wangzhigang <wzg443064@alibaba-inc.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2025-07-09 10:51:30 +08:00
..
_static/css Revert "[KYUUBI #5908] [DOCS] Remove workaround for malformed table" 2023-12-24 01:53:05 +08:00
appendix
client [KYUUBI #7036] [DOCS] Improve docs for kyuubi-extension-spark-jdbc-dialect 2025-04-23 11:09:29 +08:00
configuration [KYUUBI #7121] Improve operation timeout management with configurable executors 2025-07-09 10:51:30 +08:00
connector [KYUUBI #6986] [DOC] Fix multiple Pygments lexer name issues 2025-03-17 16:06:08 +08:00
contributing [KYUUBI #6987] [DOC] Fix Unknown target name issues 2025-03-17 16:05:18 +08:00
deployment [KYUUBI #7113] Skip Hadoop classpath check if flink-shaded-hadoop jar exists in Flink lib directory 2025-07-02 17:33:07 +08:00
extensions [KYUUBI #7036] [DOCS] Improve docs for kyuubi-extension-spark-jdbc-dialect 2025-04-23 11:09:29 +08:00
imgs [KYUUBI #5914] Update layer diagram on welcome page 2023-12-25 16:13:48 +08:00
monitor [KYUUBI #7072] Expose metrics of engine startup permit state 2025-05-29 13:27:42 +08:00
overview [KYUUBI #6596] Fix typos in architecture page 2024-08-08 12:12:30 +00:00
quick_start [KYUUBI #7005] [DOC] Remove empty page "Getting Started with Jupyter Lap" 2025-03-29 19:18:45 +01:00
security [KYUUBI #6924] Upgrade Spark Ranger plugin to 2.6.0 2025-07-02 17:31:21 +08:00
tools [KYUUBI #6969] [DOC] Fix "Title underline too short" issues 2025-03-10 12:10:48 +08:00
conf.py Revert "[KYUUBI #5908] [DOCS] Remove workaround for malformed table" 2023-12-24 01:53:05 +08:00
index.rst [KYUUBI #6970] [DOC] Fix "nonexisting document" issues 2025-03-10 12:11:17 +08:00
make.bat
Makefile
requirements.txt [KYUUBI #6752] [DOC] Bump doc build requirements 2024-10-18 10:39:02 +08:00