venasolutions / bosk

Apache License 2.0
11 stars 4 forks source link

MongoDriver liveness #27

Closed prdoyle closed 1 year ago

prdoyle commented 1 year ago

When MongoDriver needs to reinitialize, it can sometimes enter a state where it no longer processes change events until a driver method (like flush()) is called, which rouses it from its slumber and causes it to resume processing change events.

This implementation technically obeys the BoskDriver contract, because implementations are allowed to buffer changes indefinitely, but it's fair to say this behaviour isn't ideal, and that a healthy BoskDriver ought to be keeping up with bosk changes without prompting.

If there's a simple way to restore liveness without waiting for a driver operation, that would be nice.