static Predicate shouldIncludePartition()

in spark-job/src/main/java/org/apache/cassandra/diff/Differ.java [241:252]


    static Predicate<PartitionKey> shouldIncludePartition(final UUID jobId, final double partitionSamplingProbability) {
        if (partitionSamplingProbability > 1 || partitionSamplingProbability <= 0) {
            logger.error("Invalid partition sampling property {}, it should be between 0 and 1", partitionSamplingProbability);
            throw new IllegalArgumentException("Invalid partition sampling property, it should be between 0 and 1");
        }
        if (partitionSamplingProbability == 1) {
            return partitionKey -> true;
        } else {
            final Random random = new Random(jobId.hashCode());
            return partitionKey -> random.nextDouble() <= partitionSamplingProbability;
        }
    }