This test requires restart of infrastructure components (database and jms broker). These steps must be coordinated with the other testers.
Resubmit jobs after restart, restart of failed jobs, upload of old files at harvester restart, scheduler skips old jobs.
|
Under migration from old twiki test, TEST6: Err-1 (Resubmit af jobs efter nedlukning, genstart af fejlede jobs, upload af gamle filer ved høster-genstart, scheduler overspringer gamle jobs). |
On test@kb-prod-udv-001.kb.dk:
export TESTX=TEST6 export PORT= 807 ? export MAILRECEIVERS=foo @bar .dk stop_test.sh cleanup_all_test.sh prepare_test.sh deploy_config_database.xml install_test.sh start_test.sh |
Check that the GUI is available that the System Status doesn not show any startup problems.
Start a hourly selective harvest for the 'netarkivet.dk' domain.
Check the log for warnings and errors.
cd /home/test/$TESTX/log/ grep SEVERE *.log.0 grep WARNING *.log.0 |
The following entries are normal:
arcrepositoryapplication0.log.0:WARNING: AdminDataFile (./admin.data) was not found. guiapplication0.log.0:WARNING: Refusing to schedule harvest definition 'netarkivet' in the past. Skipped 18 events. Old nextDate was Mon Dec 18 14:29:30 CET 2006 new nextDate is Tue Dec 19 09:29:30 CET 2006 GUIApplication0.log.0:WARNING: Job 2 failed: HarvestErrors = dk.netarkivet.common.exceptions.IOFailure: Crawl probably interrupted by shutdown of HarvestController |
The following warning may occur after a while:
WARNING: Error processing message ' Class: com.sun.messaging.jmq.jmsclient.ObjectMessageImpl getJMSMessageID(): ID:40-130.225.27.140(d2:1:3:b1:10:de)-46478-1197902260630 getJMSTimestamp(): 1197902260630 getJMSCorrelationID(): null JMSReplyTo: null JMSDestination: TEST6_COMMON_THE_SCHED getJMSDeliveryMode(): PERSISTENT getJMSRedelivered(): false getJMSType(): null getJMSExpiration(): 0 getJMSPriority(): 4 Properties: null' dk.netarkivet.common.exceptions.UnknownID: Job id 23 is not known in persistent storage at dk.netarkivet.harvester.datamodel.JobDBDAO.read(JobDBDAO.java:294) at dk.netarkivet.harvester.scheduler.HarvestSchedulerMonitorServer.processCrawlStatusMessage(HarvestSchedulerMonitorServer.java:103) at dk.netarkivet.harvester.scheduler.HarvestSchedulerMonitorServer.visit(HarvestSchedulerMonitorServer.java:285) at dk.netarkivet.harvester.harvesting.distribute.CrawlStatusMessage.accept(CrawlStatusMessage.java:133) at dk.netarkivet.harvester.distribute.HarvesterMessageHandler.onMessage(HarvesterMessageHandler.java:67) at com.sun.messaging.jmq.jmsclient.MessageConsumerImpl.deliverAndAcknowledge(MessageConsumerImpl.java:330) at com.sun.messaging.jmq.jmsclient.MessageConsumerImpl.onMessage(MessageConsumerImpl.java:265) at com.sun.messaging.jmq.jmsclient.SessionReader.deliver(SessionReader.java:102) at com.sun.messaging.jmq.jmsclient.ConsumerReader.run(ConsumerReader.java:174) at java.lang.Thread.run(Thread.java:595) |
Kør følgende, som laver to sorterede lister af dels indhold i ARC-filerne, dels indhold i CDX-filerne og sammenligner:
(NB: Der skrives nu igen til /netarkiv/0001 er fyldt op)
export TESTX=TEST?
cd /netarkiv/0001/$TESTX/filedir grep -a '^http://[^ ] [0-9.]+ [0-9]+' *.dk.arc | sort >/tmp/$TESTX-arc-headers grep -a '^http://[^ ] [0-9.]+ [0-9]+' *-metadata-1.arc | cut -d' ' -f1-5 | sort >/tmp/$TESTX-cdx-headers diff -a /tmp/$TESTX-arc-headers /tmp/$TESTX-cdx-headers |
Dette skulle ikke give noget output.
Kør følgende, som udregner mængden af høstede sider, mængden af duplikater og mængden af DNS-opslag for 'netarkivet.dk':
grep '^http://[^ /]*netarkivet.dk/.*\ ' *-metadata-1.arc |wc -l grep '[0-9]\ http://[^ /]*netarkivet.dk.*\ .*duplicate' *-metadata-1.arc| wc -l grep '[0-9]\ dns:[^ /]*netarkivet.dk.*' *-metadata-1.arc| wc -l |
Disse tre tal skulle tilsammen antallet af dokumenter der er høstet fra netarkivet.dk. Det skulle være mindst det samme som summen af dokumenter høstet der vises under Høstnings-historie for netarkivet.dk (http://kb-test-adm-001.kb.dk:807?/History/Harveststatus-perdomain.jsp?domainName=netarkivet.dk).
Hvis {sum af tal fra grep's} < {sum af tal fra Høstnings-historik} så gøres følgende:
Hvis tallet er højere er det fordi der er høstet noget netarkiv-data i jobs der ikke er nået tilbage til GUI'en eller som subdele af høstninger der ikke angiver netarkivet.dk som et domæne. I så fald findes jobnumre der har høstet i http://kb-test-adm-001.kb.dk:807?/History/Harveststatus-perdomain.jsp?domainName=netarkivet.dk. Så køres:
grep '^http://[^ /]*netarkivet.dk/.*\ ' {<<id>>,<<id>>,<<id>>}-metadata-1.arc |wc -l grep '[0-9]\ http://[^ /]*netarkivet.dk.*\ .*duplicate' {<<id>>,<<id>>,<<id>>}-metadata-1.arc| wc -l grep '[0-9]\ dns:[^ /]*netarkivet.dk.*' {<<id>>,<<id>>,<<id>>}-metadata-1.arc| wc -l |
hvor <> er jobid'erne.
Læs metadata-arc filen. se evt.heritrix doku på http://crawler.archive.org/articles/user_manual.html#creating
Check:
At den starter med en "filedesc:" indgang
At der følger et antal "metadata:" indgange som i URL-en har følgende parametre: