Comments (4)
It is not normal.
The client by default does not have any rate control limit: it must be explicitly configured, and I assume it is not.
Could it be that the client application cancels every stream it creates, and the server is flooded with resets, and eventually exceeds the max events per second?
Is there a way we can reproduce the issue and take a closer look?
Can you enable client-side DEBUG logs to understand why the client resets the streams?
from jetty.project.
Could it be that the client application cancels every stream it creates, and the server is flooded with resets, and eventually exceeds the max events per second?
Yes client is the one flooding server with RST_STREAM. Further investigation took me to the below code where the limit is checked.
from jetty.project.
Upon your suggestion, I enabled the logs at "org.eclipse.jetty" and got to know that there is a possibility, I am still debugging, that we may have been closing the InputStream bit early before we receive all the DataFrame and that is what, I guess, leading to send RST_FRAME. Below is the snippet of code where we are reading the InputStream.
from jetty.project.
@iamsanjay from the logs I came to the same conclusion, that you are not reading the whole content.
I can see from the logs that 250 bytes are received and consumed, but the next 4 bytes are not read, and are discarded because the input stream is being closed.
It is really important that you read until the InputStream
reads -1.
This means that if you are parsing JSON, and the 250 bytes would represent a full JSON document (so from the point of view of the application you have all the relevant data), you still have 4 bytes to read and you still have to read the -1 (end-of-file).
Closing the InputStream
earlier would lead to a reset being sent to the server.
from jetty.project.
Related Issues (20)
- NativeHelper triggers JDK warning HOT 6
- HTTP requests with large headers are not fully processes and timeout HOT 1
- Cannot invoke "org.eclipse.jetty.client.transport.HttpExchange.getRequest()" because "exchange" is null
- replacement for GlobalWebappConfigBinding HOT 3
- Consider adding @NotNull or similar to the code base HOT 11
- After creating the keystore according to the official documentation, executing the following code fails to establish an HTTPS connection when accessed from a web browser. HOT 1
- jetty-ee8-websocket-javax-server export not honoured HOT 2
- HTTP2 async failure on a stream can lead to the connection being aborted HOT 5
- SecureRequestCustomizer() for HTTP3 HOT 1
- Jetty Releases 12.0.10
- Memory leak in `ArrayRetainableByteBufferPool$RetainedBucket` HOT 1
- Define core deployment HOT 7
- README link is broken HOT 6
- Server resources are not found if the server is subclassed in a different package
- Remove old documentation resources.
- HttpChannelState does not satisfy the contract of Content.Source HOT 2
- Issue with Configuring Specific Static Resources in the same base directory ee10 jetty 12.0.10 HOT 17
- Jetty 12 Core SecurityHandler relies on ContextHandler HOT 2
- GzipHandler switches response transfer encoding to chunked HOT 4
- DefaultServlet configured for a subdir responds with 404 on existing files HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jetty.project.