Aliaksei Zhynhiarouski opened SPR-15246 and commented
It looks like new PathPatternParser, that introduced for path matching in recent updates works in not thread safe manner. If there are a lot of clients try to achieve URL, they all will fail due java.lang.IndexOutOfBoundsException caused by PathPatternParser:127
Steps to reproduce:
- Checkout project
https://github.com/aliaksei-lithium/microservices-framework-benchmark/tree/feature/reactor-improve/spring-boot-reactor
(feature/reactor-improve branch and spring-boot-reactor folder)
- Start server and run
wrk -t4 -c128 -d2s http://localhost:8080 to simulate the highload to the endpoint
- Observe the error (java.lang.IndexOutOfBoundsException) in logs.
- Other requests will fail also.
Connected with #19112
Issue Links:
Referenced from: commits babd551, 2ac08af
Aliaksei Zhynhiarouski opened SPR-15246 and commented
It looks like new PathPatternParser, that introduced for path matching in recent updates works in not thread safe manner. If there are a lot of clients try to achieve URL, they all will fail due java.lang.IndexOutOfBoundsException caused by PathPatternParser:127
Steps to reproduce:
https://github.com/aliaksei-lithium/microservices-framework-benchmark/tree/feature/reactor-improve/spring-boot-reactor
(feature/reactor-improve branch and spring-boot-reactor folder)
wrk -t4 -c128 -d2s http://localhost:8080to simulate the highload to the endpointConnected with #19112
Issue Links:
Referenced from: commits babd551, 2ac08af