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.