public ScheduleDecision scheduleDecision()

in server/src/main/java/org/apache/cassandra/sidecar/cdc/CdcConfigImpl.java [303:336]


        public ScheduleDecision scheduleDecision()
        {
            if (!schemaKeyspaceConfiguration.isEnabled() || !cdcConfiguration.isEnabled())
            {
                LOGGER.trace("Skipping config refreshing");
                return ScheduleDecision.SKIP;
            }

            Map<String, String> newKafkaConfigMappings;
            Map<String, String> newCdcConfigMappings;
            try
            {
                newKafkaConfigMappings = kafkaConfigAccessor.getConfig().getConfigs();
                newCdcConfigMappings = cdcConfigAccessor.getConfig().getConfigs();
            }
            catch (Throwable e)
            {
                LOGGER.error("Failed to access cdc/kafka configs", e);
                return ScheduleDecision.SKIP;
            }

            boolean shouldSkip = true;
            if (!newKafkaConfigMappings.equals(kafkaConfigMappings))
            {
                shouldSkip = false;
                kafkaConfigMappings = newKafkaConfigMappings;
            }
            if (!newCdcConfigMappings.equals(cdcConfigMappings))
            {
                shouldSkip = false;
                cdcConfigMappings = newCdcConfigMappings;
            }
            return shouldSkip ? ScheduleDecision.SKIP : ScheduleDecision.EXECUTE;
        }