microsoft / LSKV

A Ledger-backed Secure Key-Value store (LSKV), built on the Confidential Consortium Framework (CCF)
https://microsoft.github.io/CCF
MIT License
34 stars 6 forks source link

Implement Lease KeepAlive #68

Open jeffa5 opened 2 years ago

jeffa5 commented 2 years ago

This requires streams (similar to watches) to work.

jeffa5 commented 1 year ago

Currently implemented as a unary call so it is possible to refresh the leases, though not ideal.

heidihoward commented 1 year ago

Is the plan to implement using unary or wait for bidirectional streaming support in CCF?

jeffa5 commented 1 year ago

Due to the way bidirectional streaming (in particular the client streaming part) works I think this needs the same patch as for watches in #186. So a unary implementation doesn't seem to work.

jeffa5 commented 1 year ago

Note, this works with http1 requests that aren't streaming (when running LSKV in http1 mode), but does not work with the etcd client (or gRPC streaming in general) on http2 as the client streaming logic isn't applied. I think (but haven't tested) that using a http2 client for the non-streaming style request would still work

heidihoward commented 1 year ago

Am I correct in saying that these are now supported (though a patch to CCF is still required)?

jeffa5 commented 1 year ago

I believe it should be (or at least is in theory). I'll test things out once we get the rb maps remove in CCF main and I get a chance to rebase LSKV on that.