Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.2.1
-
None
-
None
-
Patch Available
Description
The problem is in Hbase store, not sure about other store.
Suppose at first crawl cycle we crawl link A, then get an outlink B.
In second cycle we crawl link B which also has a link point to A
In second updatedb we load only page B from store, and will add A as new link because it doesn't know A already exist in store and will override A.
UpdateDb must be run without batchId or we must set additionsAllowed=false
Here are code for new page
page = new WebPage();
schedule.initializeSchedule(url, page);
page.setStatus(CrawlStatus.STATUS_UNFETCHED);
try
catch (ScoringFilterException e)
{ page.setScore(0.0f); }new page will override old page status, score, fetchTime, fetchInterval, retries, metadata[CASH_KEY]
- i think we can change something here so that new page will only update one column for example 'link' and if it is really a new page, we can initialize all above fields in generator
- or we add operator checkAndPut to store so when add new page we will check if already exist first
Attachments
Attachments
Issue Links
- is related to
-
NUTCH-1922 DbUpdater overwrites fetch status for URLs from previous batches, causes repeated re-fetches
- Closed
-
GORA-411 Add exists(key) to DataStore interface
- Resolved
-
NUTCH-1556 enabling updatedb to accept batchId
- Closed