ahgittin opened a new pull request #1205: URL: https://github.com/apache/brooklyn-server/pull/1205
It has always been a bad idea but previously we have allowed it. This causes obscure but horrible problems in many cases: * lambdas which don't implement Serializable are written by xstream as `null`, and read back as null, with no warning * lambdas which do implement Serializable might be okay written by xstream but might not, and can be read differently or not at all by different JVMs, and are even more brittle than inner classes This PR causes us to be stricter about persisting lambdas e.g. within a config key or part of an effector so that we fail fast. Default is to FAIL if we attempt to write one which will be treated as null, and WARN otherwise. This can be configured in brooklyn.cfg using the keys in LambdaPreventionMapper. In addition this adds a delta-persistence synchronously as part of application/entity creation, so if a problem is detected the creation will fail. Things are unmanaged now if creation fails. Internally there is more work done and more API methods to get access to failures during persistence. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
