gaturchenko opened a new pull request, #2586: URL: https://github.com/apache/systemds/pull/2586
The command `systemds WORKER 80505` terminated silently with exit code 0. There are 2 causes: 1. No range check for `-w <port>` 2. `FederatedWorker.run()` captured every exception in a catch-all. The same held for occupied and reserved ports, and for the `-fedMonitoring` backend The following changes were implemented: - **`PortUtils`** (new): shared port validation plus `explainBindFailure`, which turns terse socket errors into messages naming the port and the cause. - **`DMLOptions`**: `-w` and `-fedMonitoring` reject non-integers and ports outside `[1, 65535]`. A missing (optional) `-w` argument now falls back to the default port instead of throwing `NumberFormatException`. - **`FederatedWorker`** / **`FederatedMonitoringServer`**: reject out-of-range ports upfront, warn on reserved ports (< 1024), and throw bind failures as `DMLRuntimeException` after logging. - **`bin/systemds`**: the duplicated `WORKER`/`FEDMONITORING` check is now one `checkPort` function with a range check and `exit 1`. Previously, an error was printed and the JVM was launched regardless. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
