Jáchym Toušek
Jáchym Toušek
@prolic Ah okay. It's actually quite clear in the end. The unreferencing system works fine. What's hanging are the tests for subscriptions - namely those with a subscription still active...
Okay, the tests did actually identify a bug. The issue is that if connecting to a subscription fails with AccessDenied / NotAuthenticated / MaximumSubscribersReached etc. the tests still hang. It's...
@prolic Okay, there is an issue with catchup subscriptions not counting the references correctly. Or rather when [`EventStoreCatchUpSubscription::stop()`](https://github.com/prooph/event-store-client/blob/4bb9a6507e36b899716da3200cbaa985511394e3/src/Internal/EventStoreCatchUpSubscription.php#L145) is called, the internal [EventStoreSubscription](https://github.com/prooph/event-store-client/blob/4bb9a6507e36b899716da3200cbaa985511394e3/src/Internal/EventStoreCatchUpSubscription.php#L59) actually isn't cancelled (= `$this->subscription->unsubscribe()` is not...
Apparently it's supposed to be called by [`EventStoreCatchUpSubscription::dropSubscription()`](https://github.com/prooph/event-store-client/blob/4bb9a6507e36b899716da3200cbaa985511394e3/src/Internal/EventStoreCatchUpSubscription.php#L461) but it seems that this method is never called either. I have no idea how this should be fixed.
@prolic I'm aware, I did the same locally. But that's not a good fix. You were right earlier that the tests should NOT hang even with all ->close() calls removed....
Ah sorry the problem is something else... The problem isn't that [dropSubscription()](https://github.com/prooph/event-store-client/blob/4bb9a6507e36b899716da3200cbaa985511394e3/src/Internal/EventStoreCatchUpSubscription.php#L461) is not called, it's that it's called too early. It's called when `$this->subscription` is still null. Basically the...
ping @prolic
ping @prolic :-P
Yeah it's a tough one. Would have solved it myself if it was easy.
I looked into this for a little bit. It only works when `$options[PdoEventStoreReadModelProjector::OPTION_PCNTL_DISPATCH]` is set to true. Currently it's impossible to set it that way because `AbstractProjectionCommand` doesn't pass any...