flashJd commented on code in PR #728: URL: https://github.com/apache/flink-kubernetes-operator/pull/728#discussion_r1429453681
########## flink-autoscaler/src/main/java/org/apache/flink/autoscaler/utils/AutoScalerUtils.java: ########## @@ -94,4 +99,106 @@ public static boolean excludeVerticesFromScaling( conf.set(AutoScalerOptions.VERTEX_EXCLUDE_IDS, new ArrayList<>(excludedIds)); return anyAdded; } + + /** Quartz doesn't have the invertTimeRange flag so rewrite this method. */ + static boolean isTimeIncluded(CronCalendar cron, long timeInMillis) { + if (cron.getBaseCalendar() != null + && !cron.getBaseCalendar().isTimeIncluded(timeInMillis)) { + return false; + } else { + return cron.getCronExpression().isSatisfiedBy(new Date(timeInMillis)); + } + } + + static Optional<DailyCalendar> interpretAsDaily(String subExpression) { + String[] splits = subExpression.split("-"); + if (splits.length != 2) { + return Optional.empty(); + } + try { + DailyCalendar daily = new DailyCalendar(splits[0], splits[1]); + daily.setInvertTimeRange(true); + return Optional.of(daily); + } catch (Exception e) { + return Optional.empty(); + } + } + + static Optional<CronCalendar> interpretAsCron(String subExpression) { + try { + return Optional.of(new CronCalendar(subExpression)); + } catch (Exception e) { + return Optional.empty(); Review Comment: Incorrect expression config will first be validated in `DefaultValidator` and report exception there, I've added extra tests in `DefaultValidatorTest` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org