Skip to content

Conversation

@lidavidm
Copy link
Member

The Flight server spawns a background thread that reads from a pipe, then shuts down the server. (The pipe is written to by a signal handler). On normal shutdown, the server would close the pipe, then join the background thread, leading to a race: the background thread might read from the pipe again, getting a "bad fd" error. The fix is simple; just join the thread before closing the pipe.

@github-actions
Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW

Opening JIRAs ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename pull request title in the following format?

ARROW-${JIRA_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

@lidavidm lidavidm changed the title [C++][FlightRPC] Fix race between signal handler and shutdown ARROW-15181: [C++][FlightRPC] Fix race between signal handler and shutdown Dec 23, 2021
@github-actions
Copy link

@lidavidm lidavidm closed this in e46b0af Dec 29, 2021
@lidavidm lidavidm deleted the arrow-15181 branch December 29, 2021 13:51
@ursabot
Copy link

ursabot commented Dec 29, 2021

Benchmark runs are scheduled for baseline = 0f4d662 and contender = e46b0af. e46b0af is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Finished ⬇️0.45% ⬆️0.0%] ursa-i9-9960x
[Failed ⬇️0.58% ⬆️0.18%] ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

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