>> We currently create an OrderedExecutor and an OrderedScheduler in the >> client. An OrderedScheduler is an OrderedExecutor. Moreover, it's very >> seldom used (basically for polling LAC, speculative reads and explicit >> flush. > > Why do they exist? Are they only legacy from past or is there any specific > reason?
Accident I think. Previously, OrderedExecutor didn't implement scheduling, and BookKeeper had a ScheduledExecutorService member. This changed with https://github.com/apache/bookkeeper/commit/46171e67e526702487641438144f28b7eb1aa07b. > Is there any per ledger ordering requirement that we will break (or cause > deadlock) if we have a single queue per ledger? Any ordering that depends on this is broken. No operations should block on either of these executors, and I don't think any do. -Ivan