H3: flawed failed-checkpoint recovery in CheckpointService.requestCrawlCheckpoint may prevent future checkpoints

Description

Report on list of IOException that fouled one checkpoint then leaving system unable to make future checkpoints: http://tech.groups.yahoo.com/group/archive-crawler/message/7487

Looks to me like catch/finally of IOException from Checkpoint.generateFrom() tried running finishCheckpoint() on Checkpointable that hadn't been startCheckpoint()ed, triggering second unhandled exception, killing Timer thread and leaving checkpointInProgress non-null. From that point on, no auto checkpoints (Timer dead) and no manual checkpoints ('in progress'). Catch/finally blocks of that area need some rethinking for recoverability.

Environment

None

Status

Assignee

Unassigned

Reporter

Gordon Mohr

Labels

None

Group Assignee

None

ZendeskID

None

Estimated Difficulty

None

Actual Difficulty

None

Affects versions

Heritrix 3.1.0

Priority

Major
Configure