diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-07-16 08:57:26 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-07-18 08:09:24 +0300 |
commit | c8d0ebd2e03833978857e101ca0dd0c649ec4478 (patch) | |
tree | ef2188bb77be93fa72ed9a1baad196b318a89bea | |
parent | ed6cea05196952a181d7a526cf9c84373c252a48 (diff) | |
download | obnam.org-c8d0ebd2e03833978857e101ca0dd0c649ec4478.tar.gz |
docs: add memo for planning meeting for new iteration
Sponsored-by: author
-rw-r--r-- | blog/2021/07/18/meeting.mdwn | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/blog/2021/07/18/meeting.mdwn b/blog/2021/07/18/meeting.mdwn new file mode 100644 index 0000000..e5330bb --- /dev/null +++ b/blog/2021/07/18/meeting.mdwn @@ -0,0 +1,82 @@ +[[!meta title="Iteration planning: July 18–August 2"]] +[[!tag meeting]] + +[[!toc levels=1]] + +# Assessment of the iteration that has ended + +[previous iteration]: /blog/2021/07/04/meeting + +The goal of the [previous iteration][] was: + + +> Change the Obnam client to use async Rust to be more concurrent. The +> result doesn't need to make optimal use of all cores, but it needs +> to pass the test suite and needs to work. + +This was achieved, at least partly. Lars learned a lot more about +async in Rust, and wrote some abstractions for use of async, and added +a new command `chunkify` that reads the files named on the command +line, splits them into chunks, and computes SHA256 checksum of the +data. This uses most of all the available CPU cycles, and so achieves +that part of the week's goal. + +However, this only works for the new command. All the old commands are +still strictly linear. It turns out they will all need to be +reworked, and possibly rewritten, to make use of async. This will be +done in future iterations. + +# Discussion + +The next step in the use of async in the Obnam client is probably +going to be using the async with the `reqwest` crate. Obnam currently +uses the crate only in a "blocking" manner. + +# 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 (same as last iteration) + +Change the Obnam client to use async Rust to be more concurrent. The +result doesn't need to make optimal use of all cores, but it needs to +pass the test suite and needs to work. + + +# Commitments for this iteration + +Lars intends to change the `obnam get-chunk` command to use async HTTP +client code. + +In addition, Lars intends to work on [[!issue 111]] to document what +Obnam's subplot needs. + +Alexander intends to work on [[!issue 112]], [[!issue 114]], and +[[!issue 117]], and also on [[!issue 115]] if we reach a consensus on +what to do. + + +# Meeting participants + +* Alexander Batischev +* Lars Wirzenius |