INN commit: branches/2.5 (3 files)

INN Commit rra at isc.org
Sat May 8 10:23:55 UTC 2010


    Date: Saturday, May 8, 2010 @ 03:23:55
  Author: iulius
Revision: 9054

When HDR/XHDR/XPAT was used on a new article coming into a newsgroup,
requesting a header not present in the overview database, the first
subsequent OVER/XOVER command did not show that article.  A remap of the
overview data file was missing in nnrpd.

Thanks to Sam Varshavchik for the bug report.

The cached index and the cached data files were not immediately remapped
to reflect the change.  When doing an overview search with (X)OVER, both
the index and data files are remapped, if need be.  The same for (X)HDR
or XPAT *when* using the overview.
Here, as "(from articles)" is replied by the server, the search is done
in the article itself and does not call an OVopensearch().  The code uses
OVgetartinfo() which calls tdx_article_entry() which remaps the index file
but *not* the data file.  Therefore, the high water mark in the cached
data file is still mapped to high-1 after (X)HDR but tdx_article_entry()
updates data->high to be the new high water mark...  Then (X)OVER is used.
It believes the cached data information is right.  But obviously does
not find the last article and the cached data file then is marked as
to-be-remapped.  Which is done when doing the subsequent overview search
with (X)OVER.


See also [8451].

Modified:
  branches/2.5/CONTRIBUTORS
  branches/2.5/doc/pod/news.pod
  branches/2.5/storage/tradindexed/tdx-data.c

--------------------------------+
 CONTRIBUTORS                   |    2 +-
 doc/pod/news.pod               |    8 ++++++++
 storage/tradindexed/tdx-data.c |    2 ++
 3 files changed, 11 insertions(+), 1 deletion(-)

Modified: CONTRIBUTORS
===================================================================
--- CONTRIBUTORS	2010-05-08 10:23:24 UTC (rev 9053)
+++ CONTRIBUTORS	2010-05-08 10:23:55 UTC (rev 9054)
@@ -272,4 +272,4 @@
 Wolfgang M. Weyand, Berend Reitsma, William Kronert, Petr Novopashenniy,
 Steve Crook, John F. Morse, Tim Woodall, Jonathan Kamens, Kamil Jonca,
 S.P. Zeidler, Nix, Florian Schlichting, Torsten Jerzembeck, Harald Dunkel,
-Lars Magne Ingebrigtsen
+Lars Magne Ingebrigtsen, Sam Varshavchik

Modified: doc/pod/news.pod
===================================================================
--- doc/pod/news.pod	2010-05-08 10:23:24 UTC (rev 9053)
+++ doc/pod/news.pod	2010-05-08 10:23:55 UTC (rev 9054)
@@ -4,6 +4,14 @@
 
 =item *
 
+When HDR/XHDR/XPAT was used on a new article coming into a newsgroup,
+requesting a header not present in the overview database, the first
+subsequent OVER/XOVER command did not show that article.  A remap of the
+overview data file was missing in B<nnrpd>.  Thanks to Sam Varshavchik
+for the bug report.
+
+=item *
+
 B<cnfsheadconf> now properly recognizes continuation lines in
 F<cycbuff.conf>, that is to say lines ending with a backslash (C<\>).
 Thanks to John S<F. Morse> for the bug report.

Modified: storage/tradindexed/tdx-data.c
===================================================================
--- storage/tradindexed/tdx-data.c	2010-05-08 10:23:24 UTC (rev 9053)
+++ storage/tradindexed/tdx-data.c	2010-05-08 10:23:55 UTC (rev 9054)
@@ -425,6 +425,8 @@
         unmap_index(data);
         map_index(data);
         data->high = high;
+        /* Mark the data file to be remapped for the next opensearch. */
+        data->remapoutoforder = true;
     } else if (innconf->nfsreader && stale_index(data))
         unmap_index(data);
     if (data->index == NULL)




More information about the inn-committers mailing list