On Fri, 4 Apr 2025 10:37:58 GMT, Eirik Bjørsnøs <eir...@openjdk.org> wrote:

>> Please review this test-only PR which introduces testing of the unspecified 
>> but long-standing fallback to FTP for non-local files in the 'file' URL 
>> scheme. 
>> 
>> This in preparation for the upcoming proposal to disable the feature by 
>> default in JDK-8353440.
>> 
>> Since we cannot reliably bind an FTP server to port 21, the test instead 
>> uses an HTTP proxy, binding to an ephemeral port. This menas we don't test 
>> non-proxy code paths. We still test that the FTP fallback is used, which is 
>> the key point here. (We aim to test file URL connections, not FTP URL 
>> connection internals) 
>> 
>> An alternative here could be to just verify that the returned URLConnection 
>> is an instance of FtpURLConnection. However, I opted for an end-to-end test 
>> here, since the amount of extra code seems reasonable.
>> 
>> By temporarly moving this test to tier1, I was able to confirm this test 
>> runs green also on Windows GHA.
>
> Eirik Bjørsnøs has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Use a fake host name since no actual FTP request will be attempted

@dfuch Tagnential observation: `proxyServer.stop(2)` will always wait 2 seconds 
here. I was assuming it would only do that if there was an ongoing exchange.

Looking at the `ServerImpl` class, it looks like `finished` is never set to 
true. Specifically, `ServerImpl.Dispatcher::handleEvent` does not set it to 
true since that happens before `terminating` is set to true.

How is `HttpServer::stop` expected to work? Is something wrong with my 
expectations that this should return quickly with no inflight exchanges?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/24418#issuecomment-2778281722

Reply via email to