From e36ceb74488a65b46cccea3635f4d8253758bdd4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 12 Mar 2018 16:28:54 -0400 Subject: [PATCH] open todo for p2p protocol flag days --- doc/design/p2p_protocol.mdwn | 7 ----- ...es_with_git-annex-shell_mass_protocol.mdwn | 6 ++--- doc/todo/p2p_protocol_flag_days.mdwn | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 doc/todo/p2p_protocol_flag_days.mdwn diff --git a/doc/design/p2p_protocol.mdwn b/doc/design/p2p_protocol.mdwn index 33e212b4c6..5af223fd3a 100644 --- a/doc/design/p2p_protocol.mdwn +++ b/doc/design/p2p_protocol.mdwn @@ -64,13 +64,6 @@ that is less than or equal to the version the client sent: Now both client and server should use version 1. -(Note that old versions of git-annex, which speak the P2P protocol -over tor, don't support this, and attempting to negotiate a version -will cause the server to hang up the connection. To deal with this -historical bug, the version is not currently negotiated when using the -protocol over tor. At some point in the future, when all peers can be -assumed to be upgraded, this will be changed.) - ## Binary data The protocol allows raw binary data to be sent. This is done diff --git a/doc/todo/accellerate_ssh_remotes_with_git-annex-shell_mass_protocol.mdwn b/doc/todo/accellerate_ssh_remotes_with_git-annex-shell_mass_protocol.mdwn index 3387a3e5c4..5c55912134 100644 --- a/doc/todo/accellerate_ssh_remotes_with_git-annex-shell_mass_protocol.mdwn +++ b/doc/todo/accellerate_ssh_remotes_with_git-annex-shell_mass_protocol.mdwn @@ -48,12 +48,12 @@ implementation todos: It would be nice to support that, but if it added an extra round trip to the P2P protocol, that could lose some of the speed gains. + My first attempt to implement this failed miserably due to a Free monad + type check problem I could not see a way around. + * What happens when the assistant is running and some connections are open and it moves between networks? -* If it's unable to ssh to a host to run p2pstdio, it will fall back to the - old method. What if the host is down, does this double the timeout? - ---- Benchmarks diff --git a/doc/todo/p2p_protocol_flag_days.mdwn b/doc/todo/p2p_protocol_flag_days.mdwn new file mode 100644 index 0000000000..d0ae19da25 --- /dev/null +++ b/doc/todo/p2p_protocol_flag_days.mdwn @@ -0,0 +1,27 @@ +Some things to do with the [[design/P2P_protocol]] +are works in progress, needing a future flag day to complete. + +## VERSION over tor + +Old versions of git-annex, before 6.20180312, which speak the P2P protocol +over tor, don't support VERSION, and attempting to negotiate a version +will cause the server to hang up the connection. To deal with this +historical bug, the version is not currently negotiated when using the +protocol over tor. At some point in the future, when all peers can be +assumed to be upgraded, this should be changed. + +## git-annex-shell fallbacks + +When using git-annex-shell p2pio, git-annex assumes that if it exits 1, +it does not support that, and falls back to the old sendkey/rerecvkey, +etc. + +At some point in the future, once all git-annex and git-annex-shell +can be assumed to be upgraded to 6.20180312, this fallback can be removed. +It will allows removing a lot of code from git-annex-shell and a lot of +fallback code from Remote.Git. + +Removing the fallback code will also improve speed of dealing with remotes +that are not reachable, since currently git-annex tries first to open a p2p +connection, and then tries the fallback, so it has to wait for two +TCP connection timeouts.