When ksck runs, it selects a single timestamp and does a snapshot scan at this time across all tablets. If the scans run for a long time (e.g. due to heavy traffic to the tservers), some scans may be attempted on data that has already been GC'ed, surfacing the errors:
Error: Invalid argument: Snapshot timestamp is earlier than the ancient history mark. Consider increasing the value of the configuration parameter --tablet_history_max_age_sec. Snapshot timestamp: P: 1507232752670708 usec, L: 0 Ancient History Mark: P: 1507232752970869 usec, L: 0 Physical time difference: -0.300s
This could be remediated by batching these scans and selecting a new timestamp for each batch.