Skip to content
Snippets Groups Projects
Commit 16789f62 authored by scwf's avatar scwf Committed by Andrew Or
Browse files

[SPARK-3755][Core] avoid trying privileged port when request a non-privileged port


pwendell, ```tryPort``` is not compatible with old code in last PR, this is to fix it.
And after discuss with srowen renamed the title to "avoid trying privileged port when request a non-privileged port". Plz refer to the discuss for detail.

Author: scwf <wangfei1@huawei.com>

Closes #2623 from scwf/1-1024 and squashes the following commits:

10a4437 [scwf] add comment
de3fd17 [scwf] do not try privileged port when request a non-privileged port
42cb0fa [scwf] make tryPort compatible with old code
cb8cc76 [scwf] do not use port 1 - 1024

(cherry picked from commit 8081ce8b)
Signed-off-by: default avatarAndrew Or <andrewor14@gmail.com>

Conflicts:
	core/src/main/scala/org/apache/spark/util/Utils.scala
parent 68693519
No related branches found
No related tags found
No related merge requests found
...@@ -1458,7 +1458,12 @@ private[spark] object Utils extends Logging { ...@@ -1458,7 +1458,12 @@ private[spark] object Utils extends Logging {
val serviceString = if (serviceName.isEmpty) "" else s" '$serviceName'" val serviceString = if (serviceName.isEmpty) "" else s" '$serviceName'"
for (offset <- 0 to maxRetries) { for (offset <- 0 to maxRetries) {
// Do not increment port if startPort is 0, which is treated as a special port // Do not increment port if startPort is 0, which is treated as a special port
val tryPort = if (startPort == 0) startPort else (startPort + offset) % (65536 - 1024) + 1024 val tryPort = if (startPort == 0) {
startPort
} else {
// If the new port wraps around, do not try a privilege port
((startPort + offset - 1024) % (65536 - 1024)) + 1024
}
try { try {
val (service, port) = startService(tryPort) val (service, port) = startService(tryPort)
logInfo(s"Successfully started service$serviceString on port $port.") logInfo(s"Successfully started service$serviceString on port $port.")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment