class JobMasterPartitionTrackerImpl extends AbstractPartitionTracker<ResourceID, ResultPartitionDeploymentDescriptor> implements JobMasterPartitionTracker {

	@Override
	public void startTrackingPartition(ResourceID producingTaskExecutorId, ResultPartitionDeploymentDescriptor resultPartitionDeploymentDescriptor) {
		Preconditions.checkNotNull(producingTaskExecutorId);
		Preconditions.checkNotNull(resultPartitionDeploymentDescriptor);

		// only blocking partitions require explicit release call
		if (!resultPartitionDeploymentDescriptor.getPartitionType().isBlocking()) {
			return;
		}

		final ResultPartitionID resultPartitionId = resultPartitionDeploymentDescriptor.getShuffleDescriptor().getResultPartitionID();

		startTrackingPartition(producingTaskExecutorId, resultPartitionId, resultPartitionDeploymentDescriptor);
	}

	public  JobMasterPartitionTrackerImpl(
		JobID jobId,
		ShuffleMaster<?> shuffleMaster,
		PartitionTrackerFactory.TaskExecutorGatewayLookup taskExecutorGatewayLookup);

}