puma 5.3.0-java → 5.3.1-java
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puma might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/History.md +10 -0
- data/lib/puma/const.rb +1 -1
- data/lib/puma/puma_http11.jar +0 -0
- data/lib/puma/server.rb +13 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e9bfe6e0d16878b7c08f452189b8b740fffa62ab86c1031a1f7bcff6826fbb2
|
4
|
+
data.tar.gz: cde6f178316ec5067a254669911999ae7f76d3a71fea25818c555613e648515f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f93afa0f71745b4fd8888794fb78d04590fce5d2bcc897bcc69dcad114464cb3111a41782b7a06a1513270fe448ea2a9ee3d207521567b54e22d3815d45ccfd
|
7
|
+
data.tar.gz: 01c2be5ef8baab6014db28bda79f9d90b9252ec3859a66b1bdefaf2a12dcb9c24b8ca9cacf1e8cd57480e6a32562baa7f0528e14b3d1a8400320de8d3b1194ec
|
data/History.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 5.3.1 / 2021-05-11
|
2
|
+
|
3
|
+
* Security
|
4
|
+
* Close keepalive connections after the maximum number of fast inlined requests (#2625)
|
5
|
+
|
1
6
|
## 5.3.0 / 2021-05-07
|
2
7
|
|
3
8
|
* Features
|
@@ -208,6 +213,11 @@
|
|
208
213
|
* Support parallel tests in verbose progress reporting ([#2223])
|
209
214
|
* Refactor error handling in server accept loop ([#2239])
|
210
215
|
|
216
|
+
## 4.3.8 / 2021-05-11
|
217
|
+
|
218
|
+
* Security
|
219
|
+
* Close keepalive connections after the maximum number of fast inlined requests (#2625)
|
220
|
+
|
211
221
|
## 4.3.7 / 2020-11-30
|
212
222
|
|
213
223
|
* Bugfixes
|
data/lib/puma/const.rb
CHANGED
@@ -100,7 +100,7 @@ module Puma
|
|
100
100
|
# too taxing on performance.
|
101
101
|
module Const
|
102
102
|
|
103
|
-
PUMA_VERSION = VERSION = "5.3.
|
103
|
+
PUMA_VERSION = VERSION = "5.3.1".freeze
|
104
104
|
CODE_NAME = "Sweetnighter".freeze
|
105
105
|
|
106
106
|
PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
|
data/lib/puma/puma_http11.jar
CHANGED
Binary file
|
data/lib/puma/server.rb
CHANGED
@@ -447,15 +447,20 @@ module Puma
|
|
447
447
|
|
448
448
|
requests += 1
|
449
449
|
|
450
|
-
|
450
|
+
# Closing keepalive sockets after they've made a reasonable
|
451
|
+
# number of requests allows Puma to service many connections
|
452
|
+
# fairly, even when the number of concurrent connections exceeds
|
453
|
+
# the size of the threadpool. It also allows cluster mode Pumas
|
454
|
+
# to keep load evenly distributed across workers, because clients
|
455
|
+
# are randomly assigned a new worker when opening a new connection.
|
456
|
+
#
|
457
|
+
# Previously, Puma would kick connections in this conditional back
|
458
|
+
# to the reactor. However, because this causes the todo set to increase
|
459
|
+
# in size, the wait_until_full mutex would never unlock, leaving
|
460
|
+
# any additional connections unserviced.
|
461
|
+
break if requests >= @max_fast_inline
|
451
462
|
|
452
|
-
|
453
|
-
# This will mean that reset will only try to use the data it already
|
454
|
-
# has buffered and won't try to read more data. What this means is that
|
455
|
-
# every client, independent of their request speed, gets treated like a slow
|
456
|
-
# one once every max_fast_inline requests.
|
457
|
-
check_for_more_data = false
|
458
|
-
end
|
463
|
+
check_for_more_data = @status == :run
|
459
464
|
|
460
465
|
next_request_ready = with_force_shutdown(client) do
|
461
466
|
client.reset(check_for_more_data)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.3.
|
4
|
+
version: 5.3.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Evan Phoenix
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|