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

Add extra links for EMR Serverless #31620

Closed
2 tasks done
dacort opened this issue May 30, 2023 · 5 comments · Fixed by #34225
Closed
2 tasks done

Add extra links for EMR Serverless #31620

dacort opened this issue May 30, 2023 · 5 comments · Fixed by #34225
Assignees
Labels
good first issue kind:feature Feature Requests provider:amazon-aws AWS/Amazon - related issues

Comments

@dacort
Copy link
Contributor

dacort commented May 30, 2023

Description

Add extra links to the EMR Serverless operator for S3 logs as well as the GetDashboardForJobRun API that returns a one-time link to the UI.

Use case/motivation

Allow for easier debugging of EMR Serverless jobs. Today, folks have to navigate through the AWS console to find the corresponding application and job run ID in order to gain access to the Spark UI or stdout/stderr logs. It'd be great to have direct links for both of those things.

One potential challenge is that the URL returned by the GetDashboardForJobRun API is both short-lived (expires after 1 hour) and one-time (expires on first use). I'm concerned about both poor user experience of clicking an expired or already used URL and the API impact of generating a URL every time the DAG popup is triggered even if it's not used. This may require some additional functionality in Airflow to implement.

Related issues

#29939

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@dacort dacort added kind:feature Feature Requests needs-triage label for new issues that we didn't triage yet labels May 30, 2023
@o-nikolas
Copy link
Contributor

Thanks! I don't worry too much about the overhead of generating the link each time the dag popup loads, but I 1000% agree with the poor user experience, we need to have an answer for that.

I like the idea of a new class of extra links. Instead of a link it would be a button that says something like "generate link to " and then upon clicking that some client side code runs to generate the link (the user sees a spinner while that's happening but it should be fast) and then they are presented with the link once it's ready.

@phanikumv
Copy link
Contributor

@dacort assigning it to you as you mentioned that you are willing to submit a PR for this

@phanikumv phanikumv added provider:amazon-aws AWS/Amazon - related issues good first issue and removed needs-triage label for new issues that we didn't triage yet labels Jun 7, 2023
@dacort
Copy link
Contributor Author

dacort commented Jun 7, 2023

Thanks @phanikumv - I do have an early branch ready, but I still need to figure out how to handle the one-time URL generated by the GetDashboardForJobRun API.

My current thought is to add new endpoint (something like /extra_link_ephemeral) that generates the link and redirects the user, but this is a bit more of a core change to Airflow.

@eladkal
Copy link
Contributor

eladkal commented Aug 18, 2023

Hi @dacort are you still working on this issue?

@dacort
Copy link
Contributor Author

dacort commented Aug 18, 2023

I am yes, hope to push something up early next week.

  • Don't think I will try to figure out a new approach for ephemeral links. Some changes were made on EMR side to make the user experience better
  • Also considering add more links (like to S3 and/or CloudWatch, but then the links started going off the pop up dialog. :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue kind:feature Feature Requests provider:amazon-aws AWS/Amazon - related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants