[KYUUBI #1290] Reset kinit attempt number once the command execute successfully to prevent transient error accumulation

<!--
Thanks for sending a pull request!

Here are some tips for you:
  1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
  2. If the PR is related to an issue in https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
  3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
-->

### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the use case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->
Reset attempt number after kinit successfully to prevent transient error accumulation and fail the server.

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

- [ ] Add screenshots for manual tests if appropriate

- [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #1290 from turboFei/kinit_recover.

Closes #1290

c40c2fa6 [fwang12] Reset kinitMaxAttempts to 0 once the kinit command execute successfully to prevent transient error

Authored-by: fwang12 <fwang12@ebay.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
This commit is contained in:
fwang12 2021-10-25 22:37:34 +08:00 committed by Cheng Pan
parent ccb8117cff
commit 2675e9a80d
No known key found for this signature in database
GPG Key ID: 8001952629BCC75D

View File

@ -52,6 +52,7 @@ class KinitAuxiliaryService() extends AbstractService("KinitAuxiliaryService") {
val process = kinitProc.start() val process = kinitProc.start()
if (process.waitFor() == 0) { if (process.waitFor() == 0) {
info(s"Successfully ${commands.mkString(" ")}") info(s"Successfully ${commands.mkString(" ")}")
kinitAttempts = 0
executor.schedule(this, kinitInterval, TimeUnit.MILLISECONDS) executor.schedule(this, kinitInterval, TimeUnit.MILLISECONDS)
} else { } else {
if (kinitAttempts >= kinitMaxAttempts) { if (kinitAttempts >= kinitMaxAttempts) {