Comments (10)
What about beta 13?
from byte-stream.
If it is actually caused by beta 13, these are the changes. It seems that readable streams are now allowed to defer to other operations mid-stream. This shouldn't be an issue unless there are other things happening in your process besides reading and those things consume 100% of the CPU load or are synchronous.
from byte-stream.
There are a lot of requests to PostgreSQL, HTTP requests, and PHPMailer calls via amphp/parallel
are also used. The code does not use blocking threads. The thread limit in RabbitMQ is set to 20 per worker. CPU load is not more than 80%.
from byte-stream.
I think this may be due to optimization to avoid latency between a few reads in a row introduced in beta 13. Can you please try v2.x-dev
(current 2.x
branch) to see if b5a09a3 fixes the issue?
from byte-stream.
@PNixx I can't reproduce any such behavior with the examples, so it'd be really helpful to hear your feedback for the commit mentioned above. Did you also update any other libraries?
from byte-stream.
Checked on v2.0.0 - all works correctly
from byte-stream.
@PNixx Thanks for confirming!
from byte-stream.
After the update, I periodically catch errors in various microservices:
Uncaught Exception: Fiber stack protect failed: mprotect failed: Cannot allocate memory (12) in /home/shared/vendor/revolt/event-loop/src/EventLoop/Internal/AbstractDriver.php:479
Stack trace:
#0 /home/shared/vendor/revolt/event-loop/src/EventLoop/Internal/AbstractDriver.php(479): Fiber->start()
#1 /home/shared/vendor/revolt/event-loop/src/EventLoop/Internal/AbstractDriver.php(533): Revolt\EventLoop\Internal\AbstractDriver->invokeCallbacks()
from byte-stream.
I think the problems started after adding repeat reading v2.0.0-beta.12...v2.0.0-beta.13
from byte-stream.
@kelunik Very unstable code behavior. I had to downgrade the following packages:
amphp/byte-stream: v2.0.0-beta.12
amphp/socket: v2.0.0-beta.7
amphp/dns: v2.0.0-beta.5
amphp/http-client: v5.0.0-beta.6
On the specified versions, the most stable and fastest processing.
from byte-stream.
Related Issues (20)
- Consider avoiding stream_socket_shutdown HOT 3
- feof may hang HOT 16
- As soon as ResourceInputStream detects EOF, it ignores subsequent requests to read the resource HOT 15
- Broken symlink in docs HOT 2
- Immediate reads and writes might result in blocking HOT 2
- Modify chunk size on the fly HOT 5
- ResourceOutputStream interrupts writing without consumer giving information what was written/unwritten HOT 11
- Problem writing to stream HOT 6
- InputStreamChain HOT 3
- ResourceOutputStream treats open stream as closed HOT 5
- Can cause infinite loop in caller code HOT 2
- Invalid watcher issue in ResourceInputStream
- LineReader custom delimiter HOT 2
- Ability to read particular length from stream HOT 4
- Assertion fail: Trying to read from a previously fclose()'d resource (Windows) HOT 3
- Add InputStream::close
- Add CancellationToken to InputStream::read
- The url inside the composer.json should be in their secure version? HOT 2
- ReadableResourceStream::read() length should reattempt a read if less data is returned? HOT 1
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 byte-stream.