Hi Anatoli, no, what I am working is rather the opposite: the current implementation uses exclusive locks on mailboxes where it could do away with a shared read-only lock. That's because the Cyrus DB API currently does not support shared locks. We want to reduce latency of requests, and that's what I am optimizing for. The work only touches the twoskip backend and is only for certain hot-paths in the code. Cheers, Robert
On Tue, Nov 27, 2018, at 1:50 PM, Anatoli wrote: > Hi All! > > Robert, is your work on read-only cyrusdb locks somehow related to > the global lock feature > (https://github.com/cyrusimap/cyrus-imapd/issues/1763)?> > Regards, > Anatoli > > *From:* Robert Stepanek > *Sent:* Monday, November 26, 2018 18:40 > *To:* Cyrus Devel > *Subject:* Notes - Nov 26 2018 > > Participants: Bron, Ellie, Ken, Partha, Robert > > Ken: > - Short week for US. > - Mainly working on mailbox by id. Some Cassandane tests fail, more a > matter of fixing them instead Cyrus code.> - Annotations.db needs to use > ids instead of mailbox names. Same for > conversations.db.> - RENAME should become fairly trivial, with reduced IO > overhead. > - Before continuing with mailbox by id : need to update RFC drafts. > - Issue with building a SASL distribution on Fedora (due to Sphinx) > > Bron: > - New Cyrus rolled out yesterday, along with changes to frontend and > middleware.> - Fixed JMAP bugs that crept in with commits last week. > > Ellie: > - IMAP labels patch updated after review, ready to merge. > - SASL: distcheck is flaky on Windows. Haven't looked into it, yet. > > Robert: > - Short week as well, was ill. > - Fixed JMAP bugs and updated JSCalendar v8 implementation. > - JSCalendar RFC is in last call at IETF! > - JMAP Quota patch updated. JMAP part is trivial, but quotamodseq > touches lots of critical areas: sync, mboxevent, counters. Bron > volunteered to review.> - Now working on read-only cyrusdb locks: only for > cyrusdb_open and > twoskip.> > Partha: > - Zeroskip is part of cyruslibs. Unit tests checked on cyrus.works. > - How to inspect zeroskip binary format for debugging? Either use zeroskip- > inluded tooling to dump db, or use cvt_cyrusdb binary.