SteNicholas opened a new pull request, #2464: URL: https://github.com/apache/celeborn/pull/2464
### What changes were proposed in this pull request? `ServletContextHandler` allows null path info to avoid redirection via `setAllowNullPathInfo(true)`. ### Why are the changes needed? `ServletContextHandler` does not allow null path info which causes that `celeborn.metrics.prometheus.path` and `celeborn.metrics.json.path` could not access without redirection. For example: ``` celeborn@celeborn-test:/data/service/celeborn$ curl http://localhost:9096/metrics/prometheus celeborn@celeborn-test:/data/service/celeborn$ curl http://localhost:9096/metrics/prometheus/ metrics_WriteDataHardSplitCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataWriteFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataConnectionExceptionCount_Count{role="Worker"} 0 1713182689795 metrics_FetchChunkFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataCreateConnectionFailCount_Count{role="Worker"} 0 1713182689795 metrics_WriteDataSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_FetchChunkSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataFailCount_Count{role="Worker"} 0 1713182689795 metrics_RegionStartFailCount_Count{role="Worker"} 0 1713182689795 metrics_RegionFinishFailCount_Count{role="Worker"} 0 1713182689795 metrics_ActiveConnectionCount_Count{role="Worker"} 0 1713182689795 metrics_SlotsAllocated_Count{role="Worker"} 0 1713182689795 metrics_OpenStreamSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_WriteDataFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataFailNonCriticalCauseCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataTimeoutCount_Count{role="Worker"} 0 1713182689795 metrics_PushDataHandshakeFailCount_Count{role="Worker"} 0 1713182689795 metrics_OpenStreamFailCount_Count{role="Worker"} 0 1713182689795 ``` `ServletContextHandler` should allow null path info to avoid redirection via `setAllowNullPathInfo(true)`. `setAllowNullPathInfo()` sets true if `/context` is not redirected to `/context/`. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? - `ApiMasterResourceSuite` - `ApiWorkerResourceSuite` ``` celeborn@celeborn-test:/data/service/celeborn$ curl http://localhost:9096/metrics/prometheus metrics_WriteDataHardSplitCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataWriteFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataConnectionExceptionCount_Count{role="Worker"} 0 1713182689795 metrics_FetchChunkFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataCreateConnectionFailCount_Count{role="Worker"} 0 1713182689795 metrics_WriteDataSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_FetchChunkSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataFailCount_Count{role="Worker"} 0 1713182689795 metrics_RegionStartFailCount_Count{role="Worker"} 0 1713182689795 metrics_RegionFinishFailCount_Count{role="Worker"} 0 1713182689795 metrics_ActiveConnectionCount_Count{role="Worker"} 0 1713182689795 metrics_SlotsAllocated_Count{role="Worker"} 0 1713182689795 metrics_OpenStreamSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_WriteDataFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataFailNonCriticalCauseCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataTimeoutCount_Count{role="Worker"} 0 1713182689795 metrics_PushDataHandshakeFailCount_Count{role="Worker"} 0 1713182689795 metrics_OpenStreamFailCount_Count{role="Worker"} 0 1713182689795 celeborn@celeborn-test:/data/service/celeborn$ curl http://localhost:9096/metrics/prometheus/ metrics_WriteDataHardSplitCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataWriteFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataConnectionExceptionCount_Count{role="Worker"} 0 1713182689795 metrics_FetchChunkFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataCreateConnectionFailCount_Count{role="Worker"} 0 1713182689795 metrics_WriteDataSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_FetchChunkSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataFailCount_Count{role="Worker"} 0 1713182689795 metrics_RegionStartFailCount_Count{role="Worker"} 0 1713182689795 metrics_RegionFinishFailCount_Count{role="Worker"} 0 1713182689795 metrics_ActiveConnectionCount_Count{role="Worker"} 0 1713182689795 metrics_SlotsAllocated_Count{role="Worker"} 0 1713182689795 metrics_OpenStreamSuccessCount_Count{role="Worker"} 0 1713182689795 metrics_WriteDataFailCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataFailNonCriticalCauseCount_Count{role="Worker"} 0 1713182689795 metrics_ReplicateDataTimeoutCount_Count{role="Worker"} 0 1713182689795 metrics_PushDataHandshakeFailCount_Count{role="Worker"} 0 1713182689795 metrics_OpenStreamFailCount_Count{role="Worker"} 0 1713182689795 -- 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]
