Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Persistent log #10

Merged
merged 83 commits into from
Apr 16, 2017
Merged

Persistent log #10

merged 83 commits into from
Apr 16, 2017

Conversation

jmftrindade
Copy link
Member

No description provided.

jmftrindade and others added 30 commits February 28, 2017 11:32
This adds support for three durability levels:
  - None: nothing is written to the log
  - Buffered: writes are buffered in the application and possibly in the
    file system (no crash safety, but higher throughput)
  - SyncImmediately: writes are synchronously written to disk
    immediately (currently one by one, but we'll want to use batches).

"Buffered" is the default durability level; `Base::new()` now accepts a
second argument that allows specifying it explicitly.
This adds support for three durability levels:
  - None: nothing is written to the log
  - Buffered: writes are buffered in the application and possibly in the
    file system (no crash safety, but higher throughput)
  - SyncImmediately: writes are synchronously written to disk
    immediately (currently one by one, but we'll want to use batches).

"Buffered" is the default durability level; `Base::new()` now accepts a
second argument that allows specifying it explicitly.
This explains the behaviour observed by @jmftrindade, but unfortunately
also means that our plan of using a test-specific `Drop` impl to clear
up durable logs from tests is not going to work.
@jonhoo
Copy link
Contributor

jonhoo commented Apr 12, 2017

One question: if we always end up treating None from on_input as Records::default(), why don't we just keep it a Records like it used to be, and return that directly? Will make it easier to merge now following the merge of partial-materialization as well..

@jonhoo
Copy link
Contributor

jonhoo commented Apr 12, 2017

Also, don't worry too much about the conflicts with master. I can do that merge when it comes to that :)

@jonhoo
Copy link
Contributor

jonhoo commented Apr 13, 2017

Oh, nice, that significantly reduced the number of conflicts too! :D

@jonhoo
Copy link
Contributor

jonhoo commented Apr 13, 2017

@jmftrindade I'll take a stab at merging master into this at some point tonight, so if you suddenly get a push error, that'll be why. Hopefully it shouldn't be too tricky to rebase any changes you make in the interim on top of that merge.

@jonhoo
Copy link
Contributor

jonhoo commented Apr 13, 2017

Travis failures are due to rust-lang/rustup#1062

@jmftrindade jmftrindade merged commit 9621a85 into master Apr 16, 2017
@jmftrindade jmftrindade deleted the persistent-log branch April 16, 2017 20:26
@jonhoo
Copy link
Contributor

jonhoo commented Apr 17, 2017

Great job 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants