[midPoint-git] [Evolveum/midpoint] bea051: Make ExpressionFactory thread-safe
mederly
noreply at github.com
Wed Sep 16 20:31:33 CEST 2020
Branch: refs/heads/master
Home: https://github.com/Evolveum/midpoint
Commit: bea051de6a44c1c877a81b1daa0405280d1b1eed
https://github.com/Evolveum/midpoint/commit/bea051de6a44c1c877a81b1daa0405280d1b1eed
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M infra/common/src/main/java/com/evolveum/midpoint/common/refinery/LayerRefinedAttributeDefinitionImpl.java
M infra/common/src/main/java/com/evolveum/midpoint/common/refinery/RefinedResourceSchemaImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ChangeExecutor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensUtil.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/ConditionEvaluator.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ActivationProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleProcessor.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceManager.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowCaretaker.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionFactory.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionUtil.java
Log Message:
-----------
Make ExpressionFactory thread-safe
In order to make ExpressionFactory thread-safe, more things had to be
done:
1) expression cache should be thread-safe (using ConcurrentHashMap),
2) keys should be really immutable, freezing or cloning them.
Point 2 is being resolved by freezing whatever can be frozen, and
cloning the rest. However, there are many things that are yet to be
frozen. So it's a work in progress.
Also fixing a bug that the cache didn't take expression profiles into
account.
Related to MID-6432.
Commit: 4d3c5b8e3dc5dd85ee4736fec564f1b9668c64ec
https://github.com/Evolveum/midpoint/commit/4d3c5b8e3dc5dd85ee4736fec564f1b9668c64ec
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M infra/common/src/main/java/com/evolveum/midpoint/common/refinery/RefinedResourceSchemaImpl.java
Log Message:
-----------
Fix a NPE when schema is missing
Related to MID-6432.
Commit: c0d9dd101420a7051cd88d045169239d7fa7274f
https://github.com/Evolveum/midpoint/commit/c0d9dd101420a7051cd88d045169239d7fa7274f
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M infra/common/src/main/java/com/evolveum/midpoint/common/refinery/RefinedResourceSchemaImpl.java
Log Message:
-----------
Fix another NPE when schema is missing
Related to MID-6432.
Commit: 1105e162bd8b420278926b45ce37dc9773739475
https://github.com/Evolveum/midpoint/commit/1105e162bd8b420278926b45ce37dc9773739475
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M infra/common/src/main/java/com/evolveum/midpoint/common/refinery/LayerRefinedAttributeDefinitionImpl.java
M infra/common/src/main/java/com/evolveum/midpoint/common/refinery/RefinedResourceSchemaImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ChangeExecutor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensUtil.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/ConditionEvaluator.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ActivationProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleProcessor.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceManager.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowCaretaker.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionFactory.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionUtil.java
Log Message:
-----------
Merge branch 'feature/thread-safe-expression-factory'
Compare: https://github.com/Evolveum/midpoint/compare/39477c2f6622...1105e162bd8b
More information about the midPoint-svn
mailing list