[midPoint-git] [Evolveum/midpoint] 374200: Fix RExtItem concurrency issues (MID-4710)

Pavol Mederly mederly at evolveum.com
Fri Jul 6 20:02:02 CEST 2018


  Branch: refs/heads/support-3.8
  Home:   https://github.com/Evolveum/midpoint
  Commit: 374200c655d70dceb4841708ef66870680753fb1
      https://github.com/Evolveum/midpoint/commit/374200c655d70dceb4841708ef66870680753fb1
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2018-07-06 (Fri, 06 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.

(cherry picked from commit f557cd9)



      **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