Removing overview lines when cancelling articles
Julien ÉLIE
julien at trigofacile.com
Sat Jan 30 11:30:55 UTC 2010
Hi Lars,
>> The overview data is still returned (via HDR, OVER, LISTGROUP, etc.).
>
> Is this with inn 2.5.1? I definitely works for me with that patch. If
> it doesn't work for you, try stepping through the function and see where
> it fails.
It is with the latest CURRENT version of INN. The result would normally
be the same with INN 2.5.1.
Well, let's stepping...
Xref: news.trigofacile.com trigofacile.test:390
The result of cvector_split_space() is strange:
(gdb) print *groups
$4 = {count = 3, allocated = 2, strings = 0x847c688}
(gdb) print groups->strings[0]
$5 = 0x830d4c0 "news.trigofacile.com"
(gdb) print groups->strings[1]
$6 = 0x8482358 "ly"
(gdb) print groups->strings[2]
$7 = 0x830d4d5 "trigofacile.test:390\r\n"
I do not know how "ly" (in a memory address $6 farther than $7) can be here.
Pretty weird. Maybe gdb optimizations :-/
OVadd() could anyway be optimized not to parse the name of the server.
... let's go on:
tdx_data_cancel (data=0x821e7d8, artnum=390) at tradindexed/tdx-data.c:637
(gdb) print *data
$21 = {path = 0x8424d70 "/home/news/spool/overview/t/t/trigofacile.test",
writable = true, remapoutoforder = false, high = 388, base = 1, indexfd = 35,
datafd = 36, index = 0x0, data = 0x0, indexlen = 0, datalen = 0,
indexinode = 8569519, refcount = 1}
OK, then it shows we properly find out the data (for trigofacile.test)
and the article number (390).
However, there is an issue with the contents of the data: the high water
mark is reported to be 388. Which is clearly wrong. And the function
aborts here because 390 > 388...
Yet, I already have articles 389 and 390 in my overview data:
% tdx-util -i -n trigofacile.test
trigofacile.test 390 7 1 351 y 0 8569519
% tdx-util -g -n trigofacile.test
389 101951 507 1264841822 0 @050000000007000001850000000000000000@
390 102458 546 1264848003 0 @050000000007000001860000000000000000@
I still do not understand how you manage to get it work with your
tradindexed overview. I do not manage to have it be aware of the
current data :-/
Do you have special parameters in inn.conf for overcachesize or
things like that?
-> I assume nnrpdcheckart is FALSE.
Especially when I read in our source code:
** Note that once we have a consistent set of data files open, we don't need
** to aggressively check for new data files until someone asks for an article
** outside the range of articles that we know about. We may be working from
** outdated data files, but the most we'll miss is a cancel or an expiration
** run. Overview data doesn't change; new data is appended and old data is
** expired. We can afford to check only every once in a while, just to be
** sure that we're not going to hand out overview data for a bunch of expired
** articles.
So I bet it's normal behaviour and I would be interested to know how
you make it work directly with your server.
I post, then cancel. I still see the overview data. What else do you do?
Note that if I post, *restart* INN and cancel the article, it works fine :-)
(The cached overview data file has been updated because of the restart.)
--
Julien ÉLIE
« The hardest thing is to go to sleep at night, when there are
so many urgent things needing to be done. A huge gap
exists between what we know is possible with today's machines
and what we have so far been able to finish. » (Donald Knuth)
More information about the inn-workers
mailing list