[midPoint-git] [Evolveum/midpoint] f557cd: Fix RExtItem concurrency issues (MID-4710)
Pavol Mederly
mederly at evolveum.com
Tue Jul 3 17:59:15 CEST 2018
Branch: refs/heads/master
Home: https://github.com/Evolveum/midpoint
Commit: f557cd9f5eed76a662ab00f98d2eff99452e1ca7
https://github.com/Evolveum/midpoint/commit/f557cd9f5eed76a662ab00f98d2eff99452e1ca7
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2018-07-03 (Tue, 03 Jul 2018)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ExceptionUtil.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ExtDictionaryConcurrencyTest.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/helpers/BaseHelper.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ObjectUpdater.java
Log Message:
-----------
Fix RExtItem concurrency issues (MID-4710)
1. Creation of RExtItem objects is now under main retry mechanism;
we removed inner retry cycle.
2. Handling of ConstraintViolationException is now part of general
exception handling, it is no longer limited to addObject
and modifyObject methods.
3. "synchronized" keyword is temporarily removed from ExtItemDictionary
methods, so we rely on DB mechanisms to ensure consistency. This
required handling of more cases of ConstraintViolationException that
occur in these situations (for all databases). This is used to test
correct working of the class in cluster environment, where java
synchronization does not protect it any more.
TODO: re-add "synchronized" keyword before 3.8.1/3.9 release.
**NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
More information about the midPoint-svn
mailing list