diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-08-16 09:52:13 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-08-16 09:52:13 +0300 |
commit | 7c829ca095621adabc92bc80664a08e0fa283a3d (patch) | |
tree | caa86c7a3c1624e994069341991ef1447b67b920 | |
parent | fa23e4145dcb57c82720956fb81c3a394f0bf8fd (diff) | |
download | obnam.org-7c829ca095621adabc92bc80664a08e0fa283a3d.tar.gz |
add draft of planning meeting for new iteration
Sponsored-by: author
-rw-r--r-- | blog/2021/08/16/planning.mdwn | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/blog/2021/08/16/planning.mdwn b/blog/2021/08/16/planning.mdwn new file mode 100644 index 0000000..3155121 --- /dev/null +++ b/blog/2021/08/16/planning.mdwn @@ -0,0 +1,91 @@ +[[!meta title="Iteration planning: August 16–August 29"]] +[[!tag meeting]] + +[[!toc levels=2]] + +# Assessment of the iteration that has ended + +[previous iteration]: /blog/2021/08/01/planning + +The goal of the [previous iteration][] was: + +> Change the Obnam client to use async Rust for making backups. + +This was not quite achieved. Lars has done the basic changes for this, +but has not yet submitted them. He was trying to add concurrency to +chunk checksum computation, but didn't manage that. He failed to +remember that it's better to make some progress than to fail to +achieve perfection. (See [his blog post about this +philosophy](https://blog.liw.fi/posts/2021/02/03/asymptotic_awesomeness/) +for more.) + +Lars had intended to do a bunch of smaller things as well, but mostly +didn't, though he did finish [[!issue 118]] ("Lacks way to expand a +geneneration reference ("latest") as a generation id"). + +# Discussion + +## Performance + +The Obnam client is almost there as far as using async to achieve +concurrency. It still needs to make chunk checksum computing +concurrent. Once we have that, it's time to start doing benchmarks and +profile the code to see where time is spent. + +However, the basic async work needs to be finished and proven in use +before further performance improvements. + +## Minimum supported Rust version + +The discussion in [[!issue 137]] about minimum supported Rust version +is still open, though it's been quiet. No decision has yet been made. +Further input most welcome. + +# Goals + +## Goal for 1.0 (not changed this iteration) + +The goal for version 1.0 is for Obnam to be an utterly boring backup +solution for Linux command line users. It should just work, be +performant, secure, and well-documented. + +It is not a goal for version 1.0 to have been ported to other +operating systems, but if there are volunteers to do that, and to +commit to supporting their port, ports will be welcome. + +Other user interfaces is likely to happen only after 1.0. + +The server component will support multiple clients in a way that +doesn’t let them see each other’s data. It is not a goal for clients +to be able to share data, even if the clients trust each other. + +## Goal for the next few iterations (not changed for this iteration) + +The goal for next few iterations is to have Obnam be performant. This +will include, at least, making the client use more concurrency so that +it can use more CPU cores to compute checksums for de-duplication. + +## Goal for this iteration (new for this iteration) + +Finish the work to change the Obnam client to use async Rust for +making backups. Once this works and is merged, make a new release. + + +# Commitments for this iteration + +Lars intends to change the `obnam backup` command to use async +([[!issue 113]]). After this is done, the client should be entirely +async. + +* [[!issue 56]] -- SQLite databases for generations have no metadata + about themselves (1h) +* [[!issue 113]] -- Client is not async (4h) +* [[!issue 121]] -- Release process needs review, update (1h) + - should probably make at least a trial release +* [[!issue 133]] -- Test suite assumes location of binary (1h) + +That's a total of about 7 hours, rough estimate, for Lars. + +# Meeting participants + +* Lars Wirzenius |