kyuubi/docs
Fei Wang e8445b7f28 [KYUUBI #2102] Support to retry the internal thrift request call and add engine liveness probe to enable fast fail before retry
### _Why are the changes needed?_

To close #2102

Support to retry all the internal thrift request calls(except RenewDelegationToken now), and fast fail if the remote engine is not stable or not alive.

In this PR, it supports engine liveness probe.

If it is enabled, a companion thrift client will be created and open a liveness probe session when opening remote engine session.
It will send some simple thrift request(GetInfo) to check whether the remote engine is alive, and fast fail before retry if remote engine is not connectable.

#### Why not use the same thrift client to check engine liveness before retry?
I tried that, but met `out of resp sequence` error.
For example:
1. send getOperationStatus request
2.  read time out
3. send GetInfoType request
4. receive getOperationStatus response (out of resp sequence)

### _How was this patch tested?_
- [x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #2122 from turboFei/retry_rpc.

Closes #2102

3926ba04 [Fei Wang] adress comments
ade4ede6 [Fei Wang] add timeout
1b7a64f9 [Fei Wang] Only check remote engine alive before retry
98e03f8e [Fei Wang] refactor
fac388cf [Fei Wang] remove unused import
9c6d8737 [Fei Wang] add ut
9b595650 [Fei Wang] Support to retry the thrift request and engine alive probe

Authored-by: Fei Wang <fwang12@ebay.com>
Signed-off-by: Fei Wang <fwang12@ebay.com>
2022-03-26 00:23:44 +08:00
..
_static/css [KYUUBI #2004] Sync contents for CONTRIBUTING & COMMUNITY between web and main repo 2022-03-03 20:40:33 +08:00
appendix [KYUUBI #1347] [DOC] Fix miscellaneous doc typos 2021-11-08 09:27:37 +08:00
client [KYUUBI #1831] [DOCS] Fix the jdbc connection url format doc 2022-01-25 10:03:45 +08:00
community [KYUUBI #2004] Sync contents for CONTRIBUTING & COMMUNITY between web and main repo 2022-03-03 20:40:33 +08:00
deployment [KYUUBI #2102] Support to retry the internal thrift request call and add engine liveness probe to enable fast fail before retry 2022-03-26 00:23:44 +08:00
develop_tools [KYUUBI #2148][DOCS] Add dev/reformat usage 2022-03-16 22:10:39 +08:00
imgs [KYUUBI #1866][DOCS] Add flink sql engine quick start 2022-03-12 17:07:35 +08:00
integrations [KYUUBI #2081] YARN_CONF_DIR shall be added to kyuubi server classpath as HADOOP_CONF_DIR 2022-03-10 15:03:11 +08:00
monitor [KYUUBI #1866][FOLLOWUP] Add logging of Flink SQL Engine 2022-03-12 20:44:29 +08:00
overview [KYUUBI #1527] [DOC] Improve High Availability Guide 2021-12-09 13:58:00 +08:00
quick_start [KYUUBI #2172][BUILD] Bump Flink 1.14.4 version 2022-03-19 18:42:46 +08:00
security [KYUUBI #2156][FOLLOWUP] Fix configuration format in document 2022-03-18 16:44:24 +08:00
sql [KYUUBI #1577] Add DropIgnoreNonexistent Rule. 2021-12-20 11:46:25 +08:00
tools [KYUUBI #1335] Spell issue branch 2021-11-05 09:33:32 +08:00
conf.py [KYUUBI #1889] Improve the user experience of the configuration parameters of the document 2022-02-11 09:29:50 +08:00
index.rst [KYUUBI #1526] [DOC] Update kyuubi_layers.drawio to add driver layer 2021-12-08 17:07:11 +08:00
make.bat [KYUUBI #874] [ASF] ASF Publish 2021-08-16 11:48:21 +08:00
Makefile [KYUUBI #874] [ASF] ASF Publish 2021-08-16 11:48:21 +08:00
requirements.txt [KYUUBI #1557] [DOC] The TTL Of Kyuubi Engines 2021-12-15 10:02:02 +08:00