[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