Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-1253

Allow to configure autoCommit mode for BundleDB PM to avoid extra overhead when working in non clustered environment

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • jackrabbit-core
    • None

    Description

      BundleDB PMs keeps connection open in autoCommit mode and during every store operation turn off/on this flag introducing some overhead.

      '... the reason is that in a clustered environment, the 'select' statements
      must be committed as well, otherwise the tables remain locked. and
      instead of explicitly commit each time after a read, we used the
      autocommit as default and switch it off during store ...'

      We could add additional parameter which allows to configure autoCommit mode, by default it could work as before, but specifing additional parameter will change the behaviour.

      It's hard to say about exact numbers how much overhead it is, there are to many variables (network speed/latency, db server type, jdbc driver, change log size). For sure it means 2 extra network calls, which could be easily avoided.

      See attached example screen from JProfiler using MSSQL server, and small change logs; overhead is about 20%. Doing simple checkin on versionable node it could be even 40%.

      Attachments

        1. JCR-1253.patch
          8 kB
          Przemyslaw Pakulski
        2. single_checkin.JPG
          73 kB
          Przemyslaw Pakulski
        3. small_change_log.JPG
          41 kB
          Przemyslaw Pakulski

        Activity

          People

            Unassigned Unassigned
            ppakulski Przemyslaw Pakulski
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: