Details
-
Improvement
-
Status: In Progress
-
Minor
-
Resolution: Unresolved
-
3.1.0
-
None
-
None
Description
By default JVM caches the failures for the DNS resolutions, by default is cached by 10 seconds.
Alpine JDK used in the images for kubernetes has a default timout of 5 seconds.
This means that in clusters with slow init time (network sidecar pods, slow network start up) executor will never run, because the first attempt to connect to the driver will fail, and that failure will be cached, causing the retries to happen in a tight loop without actually trying again.
The proposed implementation would be to add to the entrypoint.sh (that is exclusive for k8s) to alter the file with the dns caching, and disable it if there's an environment variable as "DISABLE_DNS_NEGATIVE_CACHING" defined.
Attachments
Issue Links
- relates to
-
SPARK-27989 Add retries on the connection to the driver
- Resolved
- links to