[midPoint-git] [Evolveum/midpoint] c07382: Fix notification listeners leak (MID-5355)
mederly
noreply at github.com
Thu May 23 21:29:21 CEST 2019
Branch: refs/heads/feature/optimizing-repo-access
Home: https://github.com/Evolveum/midpoint
Commit: c07382ad7af85700f8e95b256d41c957e3aee711
https://github.com/Evolveum/midpoint/commit/c07382ad7af85700f8e95b256d41c957e3aee711
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2019-05-23 (Thu, 23 May 2019)
Changed paths:
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/caching/AbstractSearchExpressionEvaluatorCache.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ChangeNotificationDispatcherImpl.java
Log Message:
-----------
Fix notification listeners leak (MID-5355)
Due to a fault in ChangeNotificationDispatcherImpl change listeners
were not unregistered correctly. This might have a lot of various
consequences, including memory leaks, performance degradation, and
ConcurrentModificationException's on cache content (e.g. MID-5355).
This commit also introduces checks for (future) listener leaks.
(cherry picked from commit 05e83a7a201a245f7e99e71c47a7965d201c276b)
Commit: 70e0ca13922b672cd9874d656ff4b4034c0cd2c3
https://github.com/Evolveum/midpoint/commit/70e0ca13922b672cd9874d656ff4b4034c0cd2c3
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2019-05-23 (Thu, 23 May 2019)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/cache/CacheConfigurationManager.java
M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
M infra/util/src/main/java/com/evolveum/midpoint/util/caching/AbstractThreadLocalCache.java
M infra/util/src/main/java/com/evolveum/midpoint/util/caching/CacheConfiguration.java
M infra/util/src/main/java/com/evolveum/midpoint/util/caching/CachePerformanceCollector.java
A infra/util/src/main/java/com/evolveum/midpoint/util/caching/CacheUtil.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AbstractSearchExpressionEvaluator.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AssignmentTargetSearchExpressionEvaluator.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AssignmentTargetSearchExpressionEvaluatorFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AssociationFromLinkExpressionEvaluatorFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AssociationTargetSearchExpressionEvaluator.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AssociationTargetSearchExpressionEvaluatorFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/FunctionExpressionEvaluatorFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/GenerateExpressionEvaluatorFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/PathExpressionEvaluatorFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/ReferenceSearchExpressionEvaluator.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/ReferenceSearchExpressionEvaluatorFactory.java
M model/model-common/src/test/java/com/evolveum/midpoint/model/common/expression/ExpressionTestUtil.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentHolderProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/FocusConstraintsChecker.java
M model/model-impl/src/main/resources/ctx-model.xml
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ConstraintsChecker.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowCache.java
M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/AbstractGlobalCache.java
M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/RepositoryCache.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/AbstractObjectResolvableExpressionEvaluatorFactory.java
M testing/story/src/test/resources/ldap/assoc-perf/system-configuration.xml
Log Message:
-----------
Add configurable cache performance reporting
Now we can report per cache, per object type or turn the reporting
off altogether. Cache miss and pass events can be individually logged.
Commit: 40105ca543eac430fe2538a6bd4874621b0abdac
https://github.com/Evolveum/midpoint/commit/40105ca543eac430fe2538a6bd4874621b0abdac
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2019-05-23 (Thu, 23 May 2019)
Changed paths:
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/CloneUtil.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/PrismList.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xjc/AnyArrayList.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xjc/PrismContainerArrayList.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xjc/PrismReferenceArrayList.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xjc/PropertyArrayList.java
M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapAssociationPerformance.java
Log Message:
-----------
Fix auxiliary prism lists cloning performance
Originally these were cloned using serialization/deserialization,
creating a huge performance impact.
Now we also (maybe temporarily) log these serialization events at INFO
level, to see them quickly.
Commit: f23ccda7fd4703f21cba54f9d88cc9ae97d49751
https://github.com/Evolveum/midpoint/commit/f23ccda7fd4703f21cba54f9d88cc9ae97d49751
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2019-05-23 (Thu, 23 May 2019)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/cache/CacheConfigurationManager.java
M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/perf/OperationRecord.java
M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/perf/PerformanceMonitor.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlAuditServiceImpl.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryServiceImpl.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SystemConfigurationChangeDispatcherImpl.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/data/common/dictionary/ExtItemDictionary.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/perf/OutputFormatter.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/perf/PerformanceInformationImpl.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/perf/SqlPerformanceMonitorImpl.java
M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapAssociationPerformance.java
M testing/story/src/test/resources/ldap/assoc-perf/system-configuration.xml
Log Message:
-----------
Add configurable repository statistics reporting
The schema for cache statistics reporting configuration was unified
to match the schema for repository statistics.
Commit: 1d67db945d81d7f00becedc6d485ac4ab8eb335a
https://github.com/Evolveum/midpoint/commit/1d67db945d81d7f00becedc6d485ac4ab8eb335a
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2019-05-23 (Thu, 23 May 2019)
Changed paths:
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/CloneUtil.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/XmlTypeConverter.java
Log Message:
-----------
Fix cloning of Duration objects
Until now, these were cloned by serialization and deserialization
that is slower than a direct approach.
Compare: https://github.com/Evolveum/midpoint/compare/39708fa3a43b...1d67db945d81
More information about the midPoint-svn
mailing list