-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-29082][core] Skip delegation token generation if no credentials are available. #25805
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…s are available. This situation can happen when an external system (e.g. Oozie) generates delegation tokens for a Spark application. The Spark driver will then run against secured services, have proper credentials (the tokens), but no kerberos credentials. So trying to do things that requires a kerberos credential fails. Instead, if no kerberos credentials are detected, just skip the whole delegation token code. Tested with an application that simulates Oozie; fails before the fix, passes with the fix. Also with other DT-related tests to make sure other functionality keeps working.
gaborgsomogyi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (pending tests).
|
Test build #110629 has finished for PR 25805 at commit
|
Different scenario because the tests doesn't go through spark-submit, which logs in the user with the keytab. Just need to tweak the check so that a keytab is considered as "having kerberos creds".
|
Test build #110671 has finished for PR 25805 at commit
|
|
Retest this please. |
|
Test build #110723 has finished for PR 25805 at commit
|
|
Doc failure seems unrelated. |
|
retest this please |
|
Test build #110744 has finished for PR 25805 at commit
|
|
|
|
retest this please |
|
Test build #110775 has finished for PR 25805 at commit
|
|
Maybe it's related since |
|
Hmm, that's a new test IIRC, I'll take a look at what's going on. |
|
The Hive tests passed locally for me. Maybe just needed a merge with master... |
|
retest this please |
|
Test build #110814 has finished for PR 25805 at commit
|
|
Test build #110815 has finished for PR 25805 at commit
|
|
retest this please |
|
Test build #110820 has finished for PR 25805 at commit
|
|
retest this please |
|
(Looks like maven metadata is corrupt everywhere after Jenkins was restarted...) |
|
Test build #110798 has finished for PR 25805 at commit
|
|
Ack. Updated the wrong branch... |
|
Test build #110823 has finished for PR 25805 at commit
|
|
Ok, no more comments, I'll merge to master. |
|
Hi, All. After this PR, all run failed consistently since 433 ...
|
|
Sorry guys. Until now, I cannot find a solution for this. I'll revert this one to unblock our JDK11 monitoring. Please make another PR and test with |
|
FYI, all the failures are recovered and the Jenkins is continuing to the next step. If this didn't hide the other failure during the outage, I guess the Jenkins will pass. |
|
Yeah, I found this caused tests to fail locally too, so it's at least not specific to Jenkins (or Java 11) |
|
In addition to this, one another big issue is that one Python UT failure blocks |
|
Having a look but jdk11 has to be set up locally where I have some difficulty... |
|
We've found the issue with the help of @squito so going to file a PR soon with the required change... |
|
Great! Thank you, @gaborgsomogyi and @squito ! |
…s are available This PR is an enhanced version of #25805 so I've kept the original text. The problem with the original PR can be found in comment. This situation can happen when an external system (e.g. Oozie) generates delegation tokens for a Spark application. The Spark driver will then run against secured services, have proper credentials (the tokens), but no kerberos credentials. So trying to do things that requires a kerberos credential fails. Instead, if no kerberos credentials are detected, just skip the whole delegation token code. Tested with an application that simulates Oozie; fails before the fix, passes with the fix. Also with other DT-related tests to make sure other functionality keeps working. Closes #25901 from gaborgsomogyi/SPARK-29082. Authored-by: Gabor Somogyi <gabor.g.somogyi@gmail.com> Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
This situation can happen when an external system (e.g. Oozie) generates
delegation tokens for a Spark application. The Spark driver will then run
against secured services, have proper credentials (the tokens), but no
kerberos credentials. So trying to do things that requires a kerberos
credential fails.
Instead, if no kerberos credentials are detected, just skip the whole
delegation token code.
Tested with an application that simulates Oozie; fails before the fix,
passes with the fix. Also with other DT-related tests to make sure other
functionality keeps working.