Skip to content

Conversation

@jdesjean
Copy link
Contributor

@jdesjean jdesjean commented Jul 18, 2023

What changes were proposed in this pull request?

Finished is emitted in SparkConnectPlanExecution after the arrow conversion job is completed. However, since we don't await the completion of the job, it's possible for SparkConnectPlanExecution to complete before sending Finished.
Closed is emitted in SparkConnectExecutePlanHandler in a separate thread.

Add await in order to guarantee the order of events between Finished & Closed.

Why are the changes needed?

Test observe response at SparkConnectServiceSuite was disabled as flaky after introduction of events. Failure surfaced race condition in emitting the Finished & Closed events for Connect request of type plan. The correct order of events is Finished < Closed.

Does this PR introduce any user-facing change?

No

How was this patch tested?

Unit

@jdesjean jdesjean force-pushed the SPARK-44474 branch 4 times, most recently from 0120502 to 08a5122 Compare July 18, 2023 17:41
@jdesjean jdesjean marked this pull request as ready for review July 18, 2023 17:44
@jdesjean jdesjean changed the title [SPARK-44474] Reenable "Test observe response" at SparkConnectServiceSuite [SPARK-44474][CONNECT] Reenable "Test observe response" at SparkConnectServiceSuite Jul 18, 2023
@HyukjinKwon
Copy link
Member

Merged to master and branch-3.5.

HyukjinKwon pushed a commit that referenced this pull request Jul 19, 2023
…ctServiceSuite

### What changes were proposed in this pull request?
Finished is emitted in SparkConnectPlanExecution after the arrow conversion job is completed. However, since we don't await the completion of the job, it's possible for SparkConnectPlanExecution to complete before sending Finished.
Closed is emitted in SparkConnectExecutePlanHandler in a separate thread.

Add await in order to guarantee the order of events between Finished & Closed.

### Why are the changes needed?
`Test observe response` at SparkConnectServiceSuite was disabled as flaky after [introduction of events](#41443). Failure surfaced race condition in emitting the Finished & Closed events for Connect request of type plan. The correct order of events is Finished < Closed.

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
Unit

Closes #42063 from jdesjean/SPARK-44474.

Authored-by: jdesjean <jf.gauthier@databricks.com>
Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
(cherry picked from commit cf99e6c)
Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
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.

3 participants