[DOP-23969] Fix Greenplum parallel connections warning for master=local[N] #342
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Summary
Java's
Runtime.availableProcessors()
return number of available processors in the system, but starting Spark session withmaster=local[N]
applies the hard limit for the number of executor threads. So even if system has a lot of processor cores available, only some of them will be used by Spark.This lead to showing a warning that the number of Greenplum connections is high even if Spark session was started with
master=local[1]
ormaster=local[10]
(max 10 executors, so max 10 connections to GP, warning threshold is 30).Fixed, added a bunch of unit tests, using mocks to cover different cases (master=local, master=yarn with static allocation, master=yarn with dynamic allocation).
Related issue number
Checklist
docs/changelog/next_release/<pull request or issue id>.<change type>.rst
file added describing change(see CONTRIBUTING.rst for details.)