[hibernate-dev] Hiberante OGM Infinispan Remote dialect - Execute the command queue as a single Infispan Remote Server Task

Fabio Massimo Ercoli fercoli at redhat.com
Fri Feb 2 03:24:02 EST 2018


I'm Fabio, nice to meet you.

Speaking of the current implementation of the Infinispan remote dialect of
Hibernate OGM, working on issue OGM-1206 and talking with Davide I noticed
that the unit of work commands are executed (flushed to datastore) at the
end of the transaction itself.
In particular I noticed that the commands are stored in a transaction
scoped object of type org.hibernate.ogm.dialect.batch.spi.OperationsQueue.

Instead of perfom one remote invocation for each command in the method
 org.hibernate.ogm.dialect.impl.BatchOperationsDelegator::executeBatch
maybe we could invoke a proper Infispan Remote Server Task to execute the
command queue on server side as a bulk operation.

Moving the execution of the server-side command list (Infinispan) we would
have the advantage of reducing remote interactions. Moreover and above all
the execution of the command queue would be a transactional work unit, on
which could be apply a Repeteable Read isolation level, for instance.

The solution would not solve the need for an XA client instead, but it
could be adopted by customers interested in local transactions.

What do you think about it?
Can I open a Jira issue?

Fabio

-- 

FABIO MASSIMO ERCOLI

Senior Software Engineer - Hibernate & Data Platform

Red Hat <https://www.redhat.com/>

fabio.ercoli at redhat.com    M: (+39)-329.8681441
<http://redhatemailsignature-marketing.itos.redhat.com/>
<https://red.ht/sig>


More information about the hibernate-dev mailing list