3 Mar 14:59
Error with remote DB (using tcpSrv)
Ron Kass <ron <at> pidgintech.com>
2008-03-03 13:59:19 GMT
2008-03-03 13:59:19 GMT
We are getting these exceptions on some the remote nodes quite often,
which causes the search to fail entirely.
This is the output of the tcpSrv:
"Got exception NetworkError: Received EOF (context:
/fts1/Database_1/ /fts1/Database_1_ARCHIVE/ /fts2/Database_2/
/fts2/Database_2_ARCHIVE/)
Closing connection."
We have 5 such nodes. Each contain 4 databases as above (two "database_"
and two "database_*_ARCHIVE"). All show these exceptions.
we expanded the default timeout to 60000 (from the original 10000).
These exceptions happen right away and not after many seconds, so its
not a search timeout issue anyway.
Any thoughts..
> Incidentally, if you're just passing 500 to get an accurate result
> count, you might want to try using the "checkatleast" parameter for
> that, instead. eg: get_mset(0,20,500).
Ah, thanks, presumably a hangover from when we were using a much older
version of Xapian. It seems to be behaving oddly, though. With this PHP code
for the values of N 0, 100, 500, and 1000:
$m = $enquire->get_mset(0, 20, N);
print $m->get_matches_estimated(). ' ';
I get:
432 453 465 510
when the actual number of results is 463. The wiki says that if the number
of results is less than checkatleast, get_matches_estimated() should return
the exact result. As I increase the first argument to get_mset() it
eventually starts returning the right result.
It's defaulting to collapse on value 3, in case that is doing something; if
I switch that off, everything returns 594, the presumably correct result
non-collapsed.
ATB,
RSS Feed