Giter Site home page Giter Site logo

mps3's People

Contributors

tomlarkworthy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

mps3's Issues

R2 test

Shoudl work with R2 but not tested yet

Bug: clock skew can break causal consistency

a participant can write into the future, making a local write mask the write until committed, when it then pops back into existence as the commited local write ends up temporally behind the existing future record. The invariant that local writes will end up at the head of the log is broken.

Refactor manifest representation

Its a bit overfitted to the KV of JSON in s3 use-case, we should allow content-types, query ranges and arbitrary web-urls under a common logical keyspace.

offline-first

We should serialize state for fast boot and for working offline

getAll method

GET should include a batch get which is a consistent snapshot. Would help testing too (e.g. parrallel puts)

If-not-changed

To build towards merge functionality, we should be able to conditionally write a document if there have been no changes to some other keys

Cache requests

We fetch the same immutable resources. Lets put an LRU in there

import / forget and move keys

To help people connect existing content into the database, we should support importing a key (just a manifest update). The inverse is forgetting a key, and to help archiving keys we should have a move.

gzip

we should optimize our bandwidth costs

auth

its not super clear how to secure this. We should provide examples

Fix causal consistency issues

Randomized testing is showing failures of the causal consistency checks. There seems to be a few race conditions when fetching content during notify.

Detect clock skew

We can use the AWS created at timestamp to validate the manifest timestamp on read.

Structured tracing

We should log in a structured way, maybe something like zipkin with a trace_id passed through on reads which can be added on puts for end-to-end tracing across clients.

Make offline/online togglable

We should be able to switch to offline mode dynamically. This should terminate any hanging GET requests and throw Offline exceptions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.