summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-07-18 05:10:19 +0000
committerLars Wirzenius <liw@liw.fi>2021-07-18 05:10:19 +0000
commitdd7f5c69c425cd8898adbee0e2a3bc5fa202fe25 (patch)
treeef2188bb77be93fa72ed9a1baad196b318a89bea
parented6cea05196952a181d7a526cf9c84373c252a48 (diff)
parentc8d0ebd2e03833978857e101ca0dd0c649ec4478 (diff)
downloadobnam.org-dd7f5c69c425cd8898adbee0e2a3bc5fa202fe25.tar.gz
Merge branch 'meeting' into 'main'
Iteration planning July 18--Aug 2 See merge request obnam/obnam.org!48
-rw-r--r--blog/2021/07/18/meeting.mdwn82
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&ndash;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