-
Notifications
You must be signed in to change notification settings - Fork 29.1k
[SPARK-38579][SQL][WEBUI]Requesting Restful API can cause NullPointerException #35884
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
91f64b8 to
5e444bf
Compare
8d04d75 to
76f2a2e
Compare
|
Can one of the admins verify this patch? |
weixiuli
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
sql/core/src/main/scala/org/apache/spark/status/api/v1/sql/SqlResource.scala
Show resolved
Hide resolved
| printableMetrics(graph.allNodes, exec.metricValues) | ||
| } else { | ||
| printableMetrics(graph.allNodes, new HashMap[Long, String]) | ||
| } |
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.
Option(exec.metricValues).getOrElse(Map()) instead
sql/core/src/main/scala/org/apache/spark/status/api/v1/sql/SqlResource.scala
Outdated
Show resolved
Hide resolved
|
@martin-g Could you merge this PR? Thx |
|
I am just a contributor here. |
sql/core/src/main/scala/org/apache/spark/status/api/v1/sql/SqlResource.scala
Outdated
Show resolved
Hide resolved
…rException
### What changes were proposed in this pull request?
Added null check for `exec.metricValues`.
### Why are the changes needed?
When requesting Restful API {baseURL}/api/v1/applications/$appId/sql/$executionId which is introduced by this PR #28208, it can cause NullPointerException. The root cause is, when calling method doUpdate() of `LiveExecutionData`, `metricsValues` can be null. Then, when statement `printableMetrics(graph.allNodes, exec.metricValues)` is executed, it will throw NullPointerException.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested manually.
Closes #35884 from yym1995/fix-npe.
Lead-authored-by: Yimin <[email protected]>
Co-authored-by: Yimin Yang <[email protected]>
Signed-off-by: Yuming Wang <[email protected]>
(cherry picked from commit 99992a4)
Signed-off-by: Yuming Wang <[email protected]>
…rException
### What changes were proposed in this pull request?
Added null check for `exec.metricValues`.
### Why are the changes needed?
When requesting Restful API {baseURL}/api/v1/applications/$appId/sql/$executionId which is introduced by this PR #28208, it can cause NullPointerException. The root cause is, when calling method doUpdate() of `LiveExecutionData`, `metricsValues` can be null. Then, when statement `printableMetrics(graph.allNodes, exec.metricValues)` is executed, it will throw NullPointerException.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested manually.
Closes #35884 from yym1995/fix-npe.
Lead-authored-by: Yimin <[email protected]>
Co-authored-by: Yimin Yang <[email protected]>
Signed-off-by: Yuming Wang <[email protected]>
(cherry picked from commit 99992a4)
Signed-off-by: Yuming Wang <[email protected]>
…rException
### What changes were proposed in this pull request?
Added null check for `exec.metricValues`.
### Why are the changes needed?
When requesting Restful API {baseURL}/api/v1/applications/$appId/sql/$executionId which is introduced by this PR #28208, it can cause NullPointerException. The root cause is, when calling method doUpdate() of `LiveExecutionData`, `metricsValues` can be null. Then, when statement `printableMetrics(graph.allNodes, exec.metricValues)` is executed, it will throw NullPointerException.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested manually.
Closes #35884 from yym1995/fix-npe.
Lead-authored-by: Yimin <[email protected]>
Co-authored-by: Yimin Yang <[email protected]>
Signed-off-by: Yuming Wang <[email protected]>
(cherry picked from commit 99992a4)
Signed-off-by: Yuming Wang <[email protected]>
|
Merged to maser, branch-3.3, branch-3.2 and branch-3.1. |
…rException
### What changes were proposed in this pull request?
Added null check for `exec.metricValues`.
### Why are the changes needed?
When requesting Restful API {baseURL}/api/v1/applications/$appId/sql/$executionId which is introduced by this PR apache#28208, it can cause NullPointerException. The root cause is, when calling method doUpdate() of `LiveExecutionData`, `metricsValues` can be null. Then, when statement `printableMetrics(graph.allNodes, exec.metricValues)` is executed, it will throw NullPointerException.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested manually.
Closes apache#35884 from yym1995/fix-npe.
Lead-authored-by: Yimin <[email protected]>
Co-authored-by: Yimin Yang <[email protected]>
Signed-off-by: Yuming Wang <[email protected]>
(cherry picked from commit 99992a4)
Signed-off-by: Yuming Wang <[email protected]>
(cherry picked from commit c3aace7)
What changes were proposed in this pull request?
Added null check for
exec.metricValues.Why are the changes needed?
When requesting Restful API {baseURL}/api/v1/applications/$appId/sql/$executionId which is introduced by this PR #28208, it can cause NullPointerException. The root cause is, when calling method doUpdate() of
LiveExecutionData,metricsValuescan be null. Then, when statementprintableMetrics(graph.allNodes, exec.metricValues)is executed, it will throw NullPointerException.Does this PR introduce any user-facing change?
No.
How was this patch tested?
Tested manually.