Thanks, Mike.

I know Jan has something to say on this topic, but please note he is on vacation through this week and may need to be nudged to post here once he returns ;)

-Joan

On 2019-10-07 5:34 a.m., Mike Rhodes wrote:
All,

I think my email wasn't my clearest missive ever, so likely pretty easy to get 
lost in it :)

I think my idea to include the read version in the document rev ID is likely a 
bad one. But, if we are already including it in the database seq value, and 
we've done the work to make that number transfer cleanly across FDB instances, 
there's probably some interesting API directions post 4.0 where we make more 
use of that value towards more efficient RYW at a database level.

I'm beginning to get the feeling of what this API might look like and avoid 
being painful/confusing. For example, given the more advanced nature of these 
APIs, I'd see them operating at the HTTP header level, where we can provide 
request and response headers with the same name to support sending/receiving 
database seq values across ~all read/write requests.

Taking Joan and Adam's points on board, my view is that we semi-shelve this 
discussion to enable focus on getting 4.0 out the door. But, I think we can 
start to introduce useful functionality based on this during the 4.x series if 
we're careful (i.e., avoiding breaking changes). Of course, we should probably 
step back to user pain points first as Joan implies, otherwise we're building 
for the sake of building and the opportunity cost is not negligible.

I think we might also want to hash out the "interchangable backend" question a 
bit more. As Adam says, FDB gives us a number of features that would be hard to replicate 
on different backends -- at least in the clustered case -- so nailing down a position 
there sounds important.

Reply via email to