[#1416] Who adds Ijection-Date When?
"Charles Lindsey" <chl@clerew.man.ac.uk> Tue, 13 November 2007 17:16 UTC
Return-path: <owner-ietf-usefor@mail.imc.org>
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IrzMr-0006w6-0J for usefor-archive@lists.ietf.org; Tue, 13 Nov 2007 12:16:05 -0500
Received: from balder-227.proper.com ([192.245.12.227]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IrzMh-0004cI-3p for usefor-archive@lists.ietf.org; Tue, 13 Nov 2007 12:16:04 -0500
Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.13.5/8.13.5) with ESMTP id lADHCA53029251 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 13 Nov 2007 10:12:10 -0700 (MST) (envelope-from owner-ietf-usefor@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.13.5/8.13.5/Submit) id lADHCAZo029250; Tue, 13 Nov 2007 10:12:10 -0700 (MST) (envelope-from owner-ietf-usefor@mail.imc.org)
X-Authentication-Warning: balder-227.proper.com: majordom set sender to owner-ietf-usefor@mail.imc.org using -f
Received: from lon-mail-4.gradwell.net (lon-mail-4.gradwell.net [193.111.201.130]) by balder-227.proper.com (8.13.5/8.13.5) with ESMTP id lADHC9Ot029235 for <ietf-usefor@imc.org>; Tue, 13 Nov 2007 10:12:10 -0700 (MST) (envelope-from news@clerew.man.ac.uk)
Received: from [80.175.135.89] ([80.175.135.89] helo=clerew.man.ac.uk country=GB ident=postmaster*pop3#clerew*man^ac#uk) by lon-mail-4.gradwell.net with esmtpa (Gradwell gwh-smtpd 1.262) id 4739dae6.eaad.2c0 for ietf-usefor@imc.org; Tue, 13 Nov 2007 17:12:06 +0000 (envelope-sender <news@clerew.man.ac.uk>)
Received: from clerew.man.ac.uk (localhost [127.0.0.1]) by clerew.man.ac.uk (8.13.7/8.13.7) with ESMTP id lADHC0ds016311 for <ietf-usefor@imc.org>; Tue, 13 Nov 2007 17:12:00 GMT
Received: (from news@localhost) by clerew.man.ac.uk (8.13.7/8.13.7/Submit) id lADHC0R7016308 for ietf-usefor@imc.org; Tue, 13 Nov 2007 17:12:00 GMT
To: ietf-usefor@imc.org
Xref: clerew local.usefor:24749
Path: clerew!chl
From: Charles Lindsey <chl@clerew.man.ac.uk>
Subject: [#1416] Who adds Ijection-Date When?
Message-ID: <JrG33x.MrF@clerew.man.ac.uk>
X-Newsreader: NN version 6.5.2 (NOV)
References: <20071110194830.3F35AE834E@windlord.stanford.edu>
Date: Tue, 13 Nov 2007 12:38:21 +0000
Lines: 174
Sender: owner-ietf-usefor@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-usefor/mail-archive/>
List-Unsubscribe: <mailto:ietf-usefor-request@imc.org?body=unsubscribe>
List-ID: <ietf-usefor.imc.org>
X-Spam-Score: 1.4 (+)
X-Scan-Signature: 848ed35f2a4fc0638fa89629cb640f48
In <20071110194830.3F35AE834E@windlord.stanford.edu> rra@stanford.edu writes: > Date: Saturday, November 10, 2007 @ 11:48:28 > Author: eagle >Revision: 3224 >Make usepro-09. >Modified: > docs/usefor/usepro.xml >Modified: docs/usefor/usepro.xml >=================================================================== >--- docs/usefor/usepro.xml 2007-11-10 01:20:34 UTC (rev 3223) >+++ docs/usefor/usepro.xml 2007-11-10 19:48:28 UTC (rev 3224) OK, nice to see some action. It's been a quiet summer (I have found lots off other things to do) but we really need to get back to this. Issue 1416 is the major outstanding item. I posted a sunnary of where we were at in http://www.imc.org/ietf-usefor/mail-archive/msg04240.html, and Russ agreed that it was a fair summary. I repeat that text here: The main outstanding matter is Issue #1416, which I shall now try to summarize as I see it. Essentially, we have to choose between two options, which we have in the past named "IR" and "IC". The current text reflects IR. The differences relate to when an Injection-Date header MUST/MUST NOT/Whatever be added by Posting and Injection agents. Option IR --------- Adding Injection-Date by Posting agent, according to headers present in proto-article and intention wrt multiple injection: MUST MUSTNOT SHOULD MAY Multiple injection (also requires Msgid & Date) YES "Reinjection" (aka "gatewaying after the fact") YES Message-ID and stale Date present YES Message-ID _and_ Date present YES Message-ID or Date or both absent ??? [Where I believe "???" should be "YES", but text doesn't actually say so] Adding Injection-Date by Injecting agent, according to headers present in incoming proto-article: MUST MUSTNOT SHOULD MAY Injection-Date already present YES Message-ID _and_ Date present YES Message-ID or Date or both absent YES Option IC --------- Adding Injection-Date by Posting agent, according to headers present in proto-article and intention wrt multiple injection: MUST MUSTNOT SHOULD MAY Multiple injection (also requires Msgid & Date) YES "Reinjection" (aka "gatewaying after the fact") YES Message-ID and stale Date present YES All other cases (Message-ID or Date or neither) YES Adding Injection-Date by Injecting agent, according to headers present in incoming proto-article: MUST MUSTNOT SHOULD MAY Injection-Date already present YES All other cases (Message-ID or Date or neither) YES Discussion of IR ---------------- The essential difference is the rule that Injecting agents MUST NOT add Injection-Date if _both_ Message-ID and Date are already present, and MUST add it otherwise. This rule is counter-intuitive and confusing. A consequence of the rule is that it will forever remain the case that some articles will never acquire an Injection-Date (those where the Posting agent provides both of Message-ID and Date). Russ counters this by claiming that, in time, Posting agents will learn to add the Injection-Date themselves, but this is only a "MAY" as specified, and I remain unconvinced that implementors will take the hint. So if we decide to remain with Option IR, I would want to see a much stronger wording in place of that "MAY" (not necessarily a "SHOULD", but some indication that it was intended to become standard practice). Moreover, there is a danger that Posting agent implementors will do it wrongly, adding the Injection-Date _before_ they are sure they have a working connection to an Injecting agent. Yes, multiple injectors have to get this right, but people doing multiple injection can be expected to have a higher level of "clue". Discussion of IC ---------------- We distinguish between "OLD" agents which are unaware of our new standard, and "NEW" agents which implement it as written. The following scenario, which I understand to be the case Russ is worried about, illustrates the problem with IC. If anyone knows of a different, or a simpler, scenario that exhibits the same problem, then please speak up. Day 0 OLD Posting agent P composes an article (with Date: Day0) and some Message-ID. P is in the habit of multi-injecting. Day 1 P injects the message to (OLD or NEW) Injecting agent A (the ACopy). Day 2 P injects the message to NEW Injecting agent B (the BCopy); B adds Injection-Date: Day2. meanwhile: Day 1 The ACopy propagates rapidly and arrives at NEW Serving agent C, which stores it and puts it in its history file (which it normally retains for 7 days). Day 2 The BCopy arrives at Relaying agent D, which promptly breaks and goes offline for 7 days (or otherwise causes that propagation delay). Day 8 C removes the ACopy from its history file. Day 9 D wakes up, embarks on a massive catchup, and releases the BCopy. Day 9 The BCopy arrives at C, which observes that it is (just) within 7 days of its Injection-Date, and so accepts and stores it again. Which is, of course, a Bad Thing. C's users will say "Didn't I already see that article last week?" But it is no worse than that; in particular, I cannot see any way that looping could arise. Observe that this Bad Thing would not have happened if: . B had been an OLD agent . C had been an OLD agent . P had been a NEW agent . The delay at D had been 1 day less . The delay at D had been 1 day more So yes, the Bad Thing would not have happened on the current network, and it will not happen when the whole network is NEW - so it is a transitional problem whilst OLD and NEW agents are still around. Moreover, you might think the whole scenario is somewhat artificial (hence the invitation to propose more realistic scenarios). So the choice you people have to make is between this possible, but rare, Bad Thing, and the counter-intuitive properties of option IR. We have discussed this extensively, and I don't think there is much more to be said. I therefore request our Chair to conduct a Head Count on IR versus IC. I think we can assume that Russ will vote for IR and I will vote for IC, so it is the rest of you that will effectively decide it. For details of bits of the draft that wouild be affected if we decide to go with IC, please refer to http://www.imc.org/ietf-usefor/mail-archive/msg04240.html. There are several other issues outstanding, of which #1415 is the most important (but nowhere as controversial as #1416). -- Charles H. Lindsey ---------At Home, doing my own thing------------------------ Tel: +44 161 436 6131 Fax: +44 161 436 6133 Web: http://www.cs.man.ac.uk/~chl Email: chl@clerew.man.ac.uk Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- [#1416] Who adds Ijection-Date When? Charles Lindsey
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Re: Commit in docs/usefor (usepro.xml) Frank Ellermann
- Re: Commit in docs/usefor (usepro.xml) Frank Ellermann
- Re: Commit in docs/usefor (usepro.xml) Russ Allbery
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Re: Commit in docs/usefor (usepro.xml) Charles Lindsey
- known application (was: Commit in docs/usefor (us… Frank Ellermann
- Re: known application Russ Allbery
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Re: Commit in docs/usefor (usepro.xml) Charles Lindsey
- Re: Commit in docs/usefor (usepro.xml) Julien ÉLIE
- #1582 Re: Commit in docs/usefor (usepro.xml) Harald Tveit Alvestrand
- Re: #1582 Re: Commit in docs/usefor (usepro.xml) Russ Allbery
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Re: Commit in docs/usefor (usepro.xml) Russ Allbery
- Re: Commit in docs/usefor (usepro.xml) Charles Lindsey
- Re: Commit in docs/usefor (usepro.xml) Russ Allbery
- Re: Commit in docs/usefor (usepro.xml) Russ Allbery
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra
- Commit in docs/usefor (usepro.xml) rra