-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UndeliverableException for StreamNotFoundException #244
Comments
Hey @dosomder, Can you share some info on your runtime workload when it happens? Is there a situation where you delete a stream while another part of your code is reading from it? |
We don't delete a stream in particular but we set maxAge and maxCount. In this case when the exception happens, we try to read the last event from a stream and expect it to be empty. This is how we read the stream. We handle the StreamNotFoundException in the rxjava chain.
|
@dosomder Sorry for taking time to respond. I think you have diagnosed the issue properly. I need to conduct some tests to see when an exception has been raised in a future, was it already processed by the observer of the subscription or if it's the other way around. |
@YoEight Meanwhile we are on client 5.x and since then (6 weeks now) we have not seen this exception on our environments. |
Unfortunately, I can assure you that the issue is still there, even if it's scarce. I never managed to reproduce it locally but per RX documentation, the way we just the library in this context is wrong. |
We rarely observe the following exception on our servers which crashes the application:
From the stacktrace it looks like the StreamNotFoundException (or at least onError) is emitted twice which is not legal for a Publisher.
The first time may be here: https://github.com/EventStore/EventStoreDB-Client-Java/blob/trunk/db-client-java/src/main/java/com/eventstore/dbclient/AbstractRead.java#L108
and the second time here: https://github.com/EventStore/EventStoreDB-Client-Java/blob/trunk/db-client-java/src/main/java/com/eventstore/dbclient/AbstractRead.java#L113 (this line is in the stacktrace).
Although the ReadSubscription tries to protect against this with an AtomicBoolean so I don't know how this exception can still happen.
There was some exception handling changes here, not sure if they are related: 3fb4701
Client: 4.3.0
The text was updated successfully, but these errors were encountered: