RFC 3977, "Network News Transfer Protocol (NNTP)", October 2006Source of RFC: nntpext (app)
Errata ID: 1707
Publication Format(s) : TEXT
Reported By: Julien Élie
Date Reported: 2009-03-05
Rejected by: Lisa Dusseault
Date Rejected: 2010-01-19
Section 22.214.171.124 says:
o The high water mark will be one less than the low water mark, and the estimated article count will be zero. Servers SHOULD use this method to show an empty group. This is the only time that the high water mark can be less than the low water mark.
It should say:
o The low water mark will be one more than the high water mark, and the estimated article count will be zero. Servers SHOULD use this method to show an empty group. This is the only time that the high water mark can be less than the low water mark.
The difference in wording is subtle. The low water mark is one more than
the high water mark (that is to say that the low water mark has increased,
and the high water mark has not decreased). It will permit the following
article arrival to be handled by incrementing the high water mark and
leaving the low water mark unchanged.
To be more precise, if at a given time we have only one article in misc.test
and the following answer to a GROUP command:
[C] GROUP misc.test
[S] 211 1 12 12 misc.test
After cancelling this article, the same GROUP command SHOULD give:
[C] GROUP misc.test
[S] 211 0 13 12 misc.test
Besides, RFC 3977 also mentions in the same section:
The client may make use of the low water mark to
remove all remembered information about articles with lower numbers,
as these will never recur. This includes the situation when the high
water mark is one less than the low water mark.
It should be read as "when the low water mark is one more than the high
water mark". The answer to the previous GROUP command is not
"211 0 12 11 misc.test". Otherwise, a news client may still wrongly
consider that the article whose number is 12 is still present whereas
it could remove it if the low water mark was set to 13.
[updated 2012-05-15 by Barry Leiba]
The high water mark is one less than the low water mark for empty
newsgroups. A major reason for doing it this way was to deal with
clusters of servers. If they're not perfectly synchronized, then
a cancel might be visible on one and not another. So if you connect
to the second one, it looks as if the article has been reinstated.
Wording it like this meant we didn't need special treatment of such
clusters. The low water mark cannot decrease.