Sebastian Nagel created NUTCH-2947:
--------------------------------------
Summary: Fetcher: keep state of empty fetch queues unless queue
feeder is finished
Key: NUTCH-2947
URL: https://issues.apache.org/jira/browse/NUTCH-2947
Project: Nutch
Issue Type: Bug
Components: fetcher
Affects Versions: 1.18
Reporter: Sebastian Nagel
Assignee: Sebastian Nagel
Fix For: 1.19
If a fetch queue is empty (containing no fetch items) it may be removed from
the list of queues. This also remove the state of a fetch queue, namely the
next fetch time and the exception counter. If the queue feeder is still active
it may happened that the same queue (i.e. associated with the same
host/domain/IP) removed before is created again. In this case, certain aspects
of fetcher politeness cannot be guaranteed anymore:
- the fetch delay (via earliest next fetch time) and
- the mechanism to block fetching from the same host/domain/IP with too many
exceptions (NUTCH-769).
The issue was observed while verifying NUTCH-2946 in the fetcher logs:
{noformat}
... 10:19:16,912 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 10:20:16,250 * queue foo.bar >> delayed next fetch by 79248 ms after 2
exceptions in queue
... 10:21:52,675 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 10:25:40,931 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 10:27:45,066 * queue foo.bar >> delayed next fetch by 79248 ms after 2
exceptions in queue
... 10:29:40,407 * queue foo.bar >> delayed next fetch by 100000 ms after 3
exceptions in queue
... 10:41:48,870 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 10:47:54,946 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 10:52:46,792 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 10:57:43,470 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:01:12,220 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:04:24,621 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:18:40,398 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:21:09,437 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:34:36,052 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:39:17,898 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:40:35,472 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:50:34,224 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:51:27,547 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:53:04,783 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 11:54:04,404 * queue foo.bar >> delayed next fetch by 79248 ms after 2
exceptions in queue
... 11:55:38,232 * queue foo.bar >> delayed next fetch by 100000 ms after 3
exceptions in queue
... 11:57:37,942 * queue foo.bar >> delayed next fetch by 116096 ms after 4
exceptions in queue
... 12:01:08,619 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
... 12:02:35,985 * queue foo.bar >> delayed next fetch by 50000 ms after 1
exceptions in queue
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)