[
https://issues.apache.org/jira/browse/JCR-1253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12553822
]
Przemo Pakulski commented on JCR-1253:
--------------------------------------
Jukka, thanks for detailed explanation, but ...
I'm not running jackrabbit cluster. I'm running single instance of jackrabbit.
There is only one connection to database and all methods using this connection
are synchronised. READ COMMITED isolation level is enough here. I would say
more, even READ_UNCOMITTED with those assumptions would be still ok, because if
there is only single connection and all methods are synchronized there are no
dirty reads possible.
Summarying, this issue is not about disabling autoCommit mode, moreover it
would be still true by default. It is about allowing to change this mode if
autoCommit is not needed to eliminate the overhead.
Btw, I think READ_COMMITED is usually (and in most cases) default isolation
level for databases because of the proper balance between isolation and
performance.
> Allow to configure autoCommit mode for BundleDB PM to avoid extra overhead
> when working in non clustered environment
> --------------------------------------------------------------------------------------------------------------------
>
> Key: JCR-1253
> URL: https://issues.apache.org/jira/browse/JCR-1253
> Project: Jackrabbit
> Issue Type: Improvement
> Components: jackrabbit-core
> Affects Versions: 1.4
> Reporter: Przemo Pakulski
> Priority: Minor
> Fix For: 1.4
>
> Attachments: JCR-1253.patch, single_checkin.JPG, small_change_log.JPG
>
>
> 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%.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.