ddebowczyk92 commented on PR #27820:
URL: https://github.com/apache/flink/pull/27820#issuecomment-4126264550

   @gaborgsomogyi Hey, thanks for your input. The thing with that suggestion is 
that I'm not sure where I would apply this configuration. BlobServer starts 
immediately after `MiniClusterExtension` is spun up, so if I tried to apply 
this config in StreamingTestBase.before` like below:
   ```
     @throws(classOf[Exception])
     @BeforeEach
     def before(): Unit = {
       this.env = StreamExecutionEnvironment.getExecutionEnvironment
       env.setParallelism(4)
       if (enableObjectReuse) {
         this.env.getConfig.enableObjectReuse()
       }
       val setting = EnvironmentSettings.newInstance().inStreamingMode().build()
       this.tEnv = StreamTableEnvironment.create(env, setting)
       this.tEnv.getConfig.set(JobManagerOptions.BIND_HOST, "127.0.0.1")
     }
   ```
   it would definitely be too late. Anyway, I think we're drifting a bit from 
the purpose of this change. As I described in more detail in the JIRA ticket 
[FLINK-39316](https://issues.apache.org/jira/browse/FLINK-39316), the problem 
I'm trying to solve occurs under certain circumstances. When I was trying to 
run `FunctionITCase` in my IDE, multiple test cases turned red with the same 
error:
   ```
   Caused by: java.io.IOException: PUT operation failed: Connection reset
        at 
org.apache.flink.runtime.blob.BlobClient.putInputStream(BlobClient.java:496)
        at 
org.apache.flink.runtime.blob.BlobClient.uploadFile(BlobClient.java:545)
        at 
org.apache.flink.runtime.client.ClientUtils.uploadUserJars(ClientUtils.java:115)
        at 
org.apache.flink.runtime.client.ClientUtils.uploadAndSetUserJars(ClientUtils.java:107)
        at 
org.apache.flink.runtime.client.ClientUtils.uploadExecutionPlanFiles(ClientUtils.java:85)
        ... 80 more
   Caused by: java.net.SocketException: Connection reset
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:961)
        at 
org.apache.flink.runtime.blob.BlobOutputStream.receiveAndCheckPutResponse(BlobOutputStream.java:175)
        at 
org.apache.flink.runtime.blob.BlobOutputStream.finish(BlobOutputStream.java:119)
        at 
org.apache.flink.runtime.blob.BlobClient.putInputStream(BlobClient.java:493)
   ```
   
   It took me a non-trivial amount of time to figure out what was actually 
going on and how to prevent it. I believe this small change would prevent many 
headaches for developers who work behind corporate VPNs


-- 
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]

Reply via email to