Comment From: wilkinsona

This upgrade breaks Hazelcast as it sets a non-String value as a System property:

if (!systemProperties.containsKey("polyglot.engine.WarnInterpreterOnly")) {
    systemProperties.put("polyglot.engine.WarnInterpreterOnly", false);
}

Hazelcast then fails as it casts all System property values to String:

Map<String, String> parse(Properties properties) {
        return properties.entrySet()
          .stream()
          .map(e -> new AbstractMap.SimpleEntry<>((String) e.getKey(), (String) e.getValue()))
          .filter(e -> e.getKey().startsWith(prefix))
          .collect(toMap(this::processKey, Map.Entry::getValue));
    }

While Flyway 10.11.0 is the cause, I think it could be argued that this is a Hazelcast bug as there's no guarantee that every value in a Properties instance will be a String.

Comment From: wilkinsona

I've opened https://github.com/hazelcast/hazelcast/issues/26308. We'll hold off on this upgrade until the Hazelcast team have had a chance to respond.

Comment From: wilkinsona

This has been fixed in Flyway. Let's wait for that fix to be released before upgrading.

Comment From: wilkinsona

Superseded by https://github.com/spring-projects/spring-boot/issues/40432.