Skip to content
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

[KYUUBI #6358] Fix the incorrect construction of yarnConf #6386

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ic4y
Copy link
Contributor

@ic4y ic4y commented May 11, 2024

🔍 Description

Issue References 🔗

#6385

Describe Your Solution 🔧

This PR is just for better explaining this issue and for testing. The fix is quite crude, and there are still many issues not addressed.

Types of changes 🔖

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪

Behavior Without This Pull Request ⚰️

Behavior With This Pull Request 🎉

Related Unit Tests


Checklist 📝

Be nice. Be informative.

@ic4y
Copy link
Contributor Author

ic4y commented May 11, 2024

Looking for a pro to fix this issue.😁

@@ -56,6 +56,7 @@ trait ApplicationOperation {
* @note For implementations, please suppress exceptions and always return KillResponse
*/
def killApplicationByTag(
sessionConf: Option[KyuubiConf],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sessionConf: Option[KyuubiConf],
def killApplicationByTag(
appMgrInfo: ApplicationManagerInfo,
tag: String,
proxyUser: Option[String] = None,
sessionConf: Option[KyuubiConf] = None): KillResponse

case e: Exception =>
(false, s"Failed to terminate application with $tag, due to ${e.getMessage}")
proxyUser: Option[String] = None): KillResponse =
withNewYarnClient(proxyUser, sessionConf) { yarnClient =>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that newYarnClient is not always needed. Can we use it only when needed? Like, the hadoop_conf_dir/yarn_conf_dir engine evn exists in sessionConf.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your help, you're right, I'll make the changes.

Utils.doAs(user) { () =>
var yarnClient: YarnClient = null
try {
val yarnConf = KyuubiHadoopUtils.newYarnConfiguration(sessionConf)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this use kyuubi.engineEnv.HADOOP_CONF_DIR/YARN_CONF_DIR in sessionConf to initialize yarnConf?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants