reactor / reactor-netty

TCP/HTTP/UDP/QUIC client/server with Reactor over Netty

Home Page:https://projectreactor.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The premature closure of a TCP connection, resulting in the error "Connection prematurely closed BEFORE response," affects another connection.

FfffatAss opened this issue · comments

Gradle dependents

buildscript {
ext {
springBootVersion = "2.7.12"
repositoriesUrl = 'http://172.16.1.136:8081/nexus/content/groups/public/'
}
repositories {
maven {
allowInsecureProtocol = true
url "${repositoriesUrl}"
}
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

ext {
set('springCloudVersion', "2021.0.8")
}

dependencies {
implementation "org.apache.commons:commons-lang3"
implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
implementation 'com.alibaba:fastjson:1.2.83'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Netty Version

version

Logs
log

Packages

package

From the packet, it can be seen that at 15:22:12.639, I was communicating with the server on port 8005 using the client with port 56616. I also received a response. At 15:22:12.731, the server disconnected from port 56620. In the log (there is an 8-hour time difference between the log and the packets, but they occurred at the same time), an error message can be seen at 07:22:12.732, indicating "Connection prematurely closed BEFORE response" from the client with port 56620 to the server with port 8005. However, this error affected my communication using the client with port 56616 and the server with port 8005. My request resulted in an error. I would like to ask if there is a bug in this case. My guess is that when I was communicating with the server using the client with port 56616 and the server almost simultaneously closed the idle connection on port 56620, it caused the error in the connection with port 56616 as well. The two connections were not handled separately, resulting in some confusion.