[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-4055) make UpdateTimestampsCache pluggable, like QueryCache

Manuel Dominguez Sarmiento (JIRA) noreply at atlassian.com
Fri Oct 28 21:37:20 EDT 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-4055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44199#comment-44199 ] 

Manuel Dominguez Sarmiento commented on HHH-4055:
-------------------------------------------------

We have some very high-volume transactional entities which cause the timestamps to be continuously updated for the relevant tables. This is a problem if UpdateTimestampsCache is replicated, unless the replication strategy coalesces the timestamps, so that only the last update is replicated.

Even so, in this case it does not even make sense to replicate anything. It would be much more efficient just to assume that these high-volume transactional tables are *never* up-to-date, so the replication for these tables can be skipped entirely.

This could be achieved with a customized UpdateTimestampsCache, but since it's not pluggable, then it's not possible.

> make UpdateTimestampsCache pluggable, like QueryCache
> -----------------------------------------------------
>
>                 Key: HHH-4055
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4055
>             Project: Hibernate Core
>          Issue Type: Improvement
>          Components: caching (L2)
>    Affects Versions: 3.3.2
>         Environment: all
>            Reporter: A. R.
>
> According to https://www.hibernate.org/213.html, one can plug-in one's own query cache using hibernate.cache.query_cache_factory, e.g. to chose a cache strategy that is not based on updateTimestamps.
> However, Hibernate's SessionFactoryImpl will always create an UpdateTimestampsCache if the Query Cache is enabled, even for custom Query Caches. This UpdateTimestampsCache then is always used in org.hibernate.engine.ActionQueue.execute() and afterTransactionCompletion(). Since the UpdateTimestampsCache is synchronized, this can cause bottlenecks when many threads change things (see http://tech.puredanger.com/2009/07/10/hibernate-query-cache/)..
> Please make the UpdateTimestampsCache also pluggable, so that one can truly and completely plug one's own Query Cache without using a Update-Timestamps or with a custom UpdateTimestampCache.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list