You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "Sebastian Nagel (JIRA)" <ji...@apache.org> on 2014/07/10 23:21:05 UTC

[jira] [Updated] (NUTCH-1422) reset signature for redirects

     [ https://issues.apache.org/jira/browse/NUTCH-1422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebastian Nagel updated NUTCH-1422:
-----------------------------------

    Attachment: NUTCH-1422-trunk-v1.patch

Patch for trunk: status not_modified is only determined by signature comparison for successfully fetch documents. It does not reset the signature: the old signature is explicitly kept for states fetch_retry and fetch_gone, it should also for redirects. It does not harm if the not_modified detection is save. In addition, it makes some sense for documents which disappeared temporarily to switch again immediately after the first successful re-fetch into status not_modified.
This solution is verified by NUTCH-1502. The issue title should be changed accordingly, e.g., to "redirect results erroneously in status not_modified".

> reset signature for redirects
> -----------------------------
>
>                 Key: NUTCH-1422
>                 URL: https://issues.apache.org/jira/browse/NUTCH-1422
>             Project: Nutch
>          Issue Type: Bug
>          Components: crawldb, fetcher
>    Affects Versions: 1.4
>            Reporter: Sebastian Nagel
>            Priority: Critical
>             Fix For: 1.10
>
>         Attachments: NUTCH-1422-trunk-v1.patch, NUTCH-1422_redir_notmodified_log.txt
>
>
> In a long running continuous crawl with Nutch 1.4 URLs with a HTTP redirect (http.redirect.max = 0) are kept as not-modified in the CrawlDb. Short protocol (cf. attached dumped segment / CrawlDb data):
>  2012-02-23 :  injected
>  2012-02-24 :  fetched
>  2012-03-30 :  re-fetched, signature changed
>  2012-04-20 :  re-fetched, redirected
>  2012-04-24 :  in CrawlDb as db_notmodified, still indexed with old content!
> The signature of a previously fetched document is not reset when the URL/doc is changed to a redirect at a later time. CrawlDbReducer.reduce then sets the status to db_notmodified because the new signature in with fetch status is identical to the old one.
> Possible fixes (??):
> * reset the signature in Fetcher
> * handle this case in CrawlDbReducer.reduce



--
This message was sent by Atlassian JIRA
(v6.2#6252)