summaryrefslogtreecommitdiff
path: root/doc/design
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-07-07 16:50:19 -0600
committerGravatar Joey Hess <joey@kitenet.net>2012-07-07 16:50:19 -0600
commitd0b027d27bad3f1249b1d44d9974077aead0f52f (patch)
tree696eb8e25fa768fde0c242dfbbcb70ebe5c40031 /doc/design
parent1b9ab0ef93641ea06fa5f2fb97e2e03d6f6a95f2 (diff)
blog for the day
Diffstat (limited to 'doc/design')
-rw-r--r--doc/design/assistant/blog/day_27__robust_transfers.mdwn31
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_27__robust_transfers.mdwn b/doc/design/assistant/blog/day_27__robust_transfers.mdwn
new file mode 100644
index 000000000..49ace417b
--- /dev/null
+++ b/doc/design/assistant/blog/day_27__robust_transfers.mdwn
@@ -0,0 +1,31 @@
+Spent most of the day making file content transfers robust. There were lots
+of bugs, hopefully I've fixed most of them. It seems to work well now,
+even when I throw a lot of files at it.
+
+One of the changes also sped up transfers; it no longer roundtrips to the
+remote to verify it has a file. The idea here is that when the assistant is
+running, repos should typically be fairly tightly synced to their remotes
+by it, so some of the extra checks that the `move` command does are
+unnecessary.
+
+Also spent some time trying to use ghc's threaded runtime, but continue to
+be baffled by the random hangs when using it. This needs fixing eventually;
+all the assistant's threads can potentially be blocked when it's waiting on
+an external command it has run.
+
+Also changed how transfer info files are locked. The lock file is now
+separate from the info file, which allows the TransferWatcher thread to
+notice when an info file is created, and thus actually track transfers
+initiated by remotes.
+
+---
+
+I'm fairly close now to merging the `assistant` branch into `master`.
+The data syncing code is very brute-force, but it will work well enough
+for a first cut.
+
+Next I can either add some repository network mapping, and use graph
+analysis to reduce the number of data transfers, or I can move on to the
+[[webapp]]. Not sure yet which I'll do. It's likely that since DebConf
+begins tomorrow I'll put off either of those big things until after the
+conference.