OpenJPA
  1. OpenJPA
  2. OPENJPA-574

Cached object in DataCache not evicted due to StatementBatching not reporting OptimisticException

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1.0, 1.2.0
    • Fix Version/s: 1.2.0
    • Component/s: jdbc
    • Labels:
      None

      Description

      If DataCache is enabled, and the default statement batching is active, there are cases that we fail to report OptimisticException.
      Because of that, the cached objects were not get removed from the cache.

      We have testcases running with different backend and returns different updateCount value from batchExecute when update failed:
      1. DB2/NT, update count of 0 was returned
      2. Oracle 10g, update count of -2 was returned.

      The code in questioin is in BatchingPreparedStatementManagerImpl.checkUpdateCount() method.

      We think the returned update count of 0 and -2 should report OptimisticException for UPDATE/DELETE SQL requests.
      Current implemented code reports OptimisticException if update count of -3 is returned.
      We don't know if any JDBC driver would return -3 for update/delete that did not qualify due to version value mismatch (in the case that the cache is out of sync with the database).

        Activity

        Hide
        Catalina Wei added a comment -

        resolved for the problems uncovered so far.
        if new problem surfaced, will open subtask under this issue.

        Show
        Catalina Wei added a comment - resolved for the problems uncovered so far. if new problem surfaced, will open subtask under this issue.
        Hide
        Catalina Wei added a comment -

        As more testing against various DB2 platforms and Oracle backends, problems uncovered in checkUpdateCount().

        Show
        Catalina Wei added a comment - As more testing against various DB2 platforms and Oracle backends, problems uncovered in checkUpdateCount().
        Hide
        Catalina Wei added a comment -

        fixed in r654337.

        Show
        Catalina Wei added a comment - fixed in r654337.

          People

          • Assignee:
            Catalina Wei
            Reporter:
            Catalina Wei
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development