in src/main/java/com/epam/digital/data/platform/starter/kafka/service/StartupKafkaTopicsCreator.java [155:167]
private Map<String, String> getRetentionPolicy(String topicName) {
Predicate<KafkaProperties.TopicsGroupRetentionPolicy> retentionPolicyPrefixesContains =
policy -> policy.getTopicPrefixes().stream().anyMatch(topicName::startsWith);
var retentionPolicyInDays =
kafkaProperties.getTopicProperties().getRetention().getPolicies().stream()
.filter(retentionPolicyPrefixesContains)
.findFirst()
.map(KafkaProperties.TopicsGroupRetentionPolicy::getDays)
.orElse(kafkaProperties.getTopicProperties().getRetention().getDefaultInDays());
return Map.of(
RETENTION_MS_CONFIG, Long.toString(TimeUnit.DAYS.toMillis(retentionPolicyInDays)));
}