Opened 11 years ago

Closed 10 years ago

#7 closed defect (fixed)

innreport doesn't properly track checkpoints across days

Reported by: eagle Owned by: eagle
Priority: low Milestone: 2.5.2
Component: utilities Version: 2.4.5
Severity: normal Keywords:
Cc:

Description

When logging incoming article counts, innd logs two types of log messages: closing messages when the remote peer terminates the connection, which summarizes all articles received on that connection and then reset the counter, and checkpoint messages, which say how many articles were received so far.

Currently, innreport takes into account checkpoint messages if no subsequent closing message is seen, but since connections can be open for days, this can produce skewed numbers on how many articles have been received. The articles received on previous days aren't properly subtracted from the checkpoint value.

One possible solution would be to store a local file holding the last checkpoints that innreport processed, and then read that file at the beginning of a new run and subtract off those numbers from subsequent checkpoints. There would need to be some way to run innreport and not save changes to this file.

Change History (4)

comment:1 Changed 11 years ago by Julien ÉLIE

Another solution (suggested by Russ Allbery) is to have some significant changes to how innd logs its article counts, such as resetting the counters each time it logs a checkpoint rather than accumulating the counters until connection close. It used to be, before innfeed when the logging was designed, that no one kept connections open for long periods, but now almost everyone does and that means that one sees very few articles for a long time and then a ton of articles all at once in the statistics when the peer closes the connection for some reason.

comment:2 Changed 10 years ago by Julien ÉLIE

Milestone: 2.5.2

comment:3 Changed 10 years ago by Julien ÉLIE

(In [9002]) Change how innd logs its article counts. A checkpoint is added
just before a connection is closed. Checkpoints contain values
accumulated since the last checkpoint.
This way, innreport can rely on checkpoints only, so as to produce
more accurate stats.

see #7

comment:4 Changed 10 years ago by Julien ÉLIE

Resolution: fixed
Status: newclosed

(In [9016]) Change how innfeed logs its article counts. A checkpoint is added
just before a connection is closed. Checkpoints contain values
accumulated since the last checkpoint.
This way, innreport can rely on checkpoints only, so as to produce
more accurate stats.

See also commit [9002] for innd.

close #7

Note: See TracTickets for help on using tickets.