Hi folks,

After meeting with a few folks from the community(JB, Dmitri, Keith,
Russell, etc), I put together a short guidance doc for anyone who wants to
add a new persistence back-end (think DynamoDB, Cassandra, etc.) to
Polaris. The goal is to keep our persistence layer clean and pluggable
while avoiding surprises in the core codebase.

Highlights

   - Stay on the public APIs
   - No business-logic bleed-through
   - UnsupportedOperationException is okay when new API methods appear and
   an older impl hasn’t caught up yet.

Where does the code live?

   - Preferred: its own repo (polaris-dynamodb, etc.) to keep the main repo
   slim.
   - If you must: a single self-contained module in the main repo, which
   needs justification and zero cross-module leakage.
   - Needing API tweaks? Post the proposal here first and let’s vote if
   it’s a big change.

The full draft is here:
https://docs.google.com/document/d/1FEQ3f1XXKG_H7QFI-LN8lEkVljXoNNl2Bx4HVmj3UEI/edit?usp=sharing,
it’s only a page and a half.

What I’m asking for

   - Does the separation-of-concerns stance feel right?
   - Are the API-change steps clear enough?

I’ll fold in feedback and post a final version next week. Thanks in advance
for the eyes!

Yufei

Reply via email to