Source:
<code>private TaskTracker forExistingTable(AddPartitionDesc lastPartitionReplicated) throws Exception { boolean encounteredTheLastReplicatedPartition = (lastPartitionReplicated == null); Map<String, String> lastReplicatedPartSpec = null; if (!encounteredTheLastReplicatedPartition) { lastReplicatedPartSpec = lastPartitionReplicated.getPartition(0).getPartSpec(); LOG.info("Start processing from partition info spec : {}", StringUtils.mapToString(lastReplicatedPartSpec)); } Iterator<AddPartitionDesc> partitionIterator = event.partitionDescriptions(tableDesc).iterator(); while (!encounteredTheLastReplicatedPartition && partitionIterator.hasNext()) { AddPartitionDesc addPartitionDesc = partitionIterator.next(); Map<String, String> currentSpec = addPartitionDesc.getPartition(0).getPartSpec(); encounteredTheLastReplicatedPartition = lastReplicatedPartSpec.equals(currentSpec); } while (partitionIterator.hasNext() && tracker.canAddMoreTasks()) { AddPartitionDesc addPartitionDesc = partitionIterator.next(); Map<String, String> partSpec = addPartitionDesc.getPartition(0).getPartSpec(); Task<?> ptnRootTask = null; LoadOpType opType = getLoadOpType(partSpec); switch (opType) { case LOAD_NEW: break; case LOAD_REPLACE: ptnRootTask = dropPartitionTask(table, partSpec); break; case LOAD_INVALID: <START> throw new InvalidOperationException("Load not allowed on table " + table.getFullyQualifiedName() <END> + " for partition " + partSpec + " as it was already bootstrap loaded from another dump."); case LOAD_SKIP: continue; } addPartition(partitionIterator.hasNext(), addPartitionDesc, ptnRootTask); } return tracker; }</code><technical_language>sense repl id chkpt for partition ...table ckpt parameter filter out invalid loads</technical_language>

Target:
private TaskTracker forExistingTable(AddPartitionDesc lastPartitionReplicated) throws Exception { boolean encounteredTheLastReplicatedPartition = (lastPartitionReplicated == null); Map<String, String> lastReplicatedPartSpec = null; if (!encounteredTheLastReplicatedPartition) { lastReplicatedPartSpec = lastPartitionReplicated.getPartition(0).getPartSpec(); LOG.info("Start processing from partition info spec : {}", StringUtils.mapToString(lastReplicatedPartSpec)); } Iterator<AddPartitionDesc> partitionIterator = event.partitionDescriptions(tableDesc).iterator(); while (!encounteredTheLastReplicatedPartition && partitionIterator.hasNext()) { AddPartitionDesc addPartitionDesc = partitionIterator.next(); Map<String, String> currentSpec = addPartitionDesc.getPartition(0).getPartSpec(); encounteredTheLastReplicatedPartition = lastReplicatedPartSpec.equals(currentSpec); } while (partitionIterator.hasNext() && tracker.canAddMoreTasks()) { AddPartitionDesc addPartitionDesc = partitionIterator.next(); Map<String, String> partSpec = addPartitionDesc.getPartition(0).getPartSpec(); Task<?> ptnRootTask = null; ReplLoadOpType loadPtnType = getLoadPartitionType(partSpec); switch (loadPtnType) { case LOAD_NEW: break; case LOAD_REPLACE: ptnRootTask = dropPartitionTask(table, partSpec); break; case LOAD_SKIP: continue; default: break; } addPartition(partitionIterator.hasNext(), addPartitionDesc, ptnRootTask); } return tracker; }