[
https://issues.jboss.org/browse/TEIID-4918?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-4918:
---------------------------------------
The next issue is doing these operations atomically which I do not
think I have a good thought process yet.
From the infinispan api it implies that the put all operations are
synthetic and thus not atomic. On the Teiid side we don't need the operation to be
atomic - however as we would expect a wrapping transaction to be honored when needed (once
it's supported by infinispan).
Meanwhile, I did put in enhancement using PutAll method. When the
table is empty if one issues a "insert into ... select" it will execute a
"bulk" insert into translator, which will use "putAll" which should
improve performance
This would apply to the first batch sent to the translator. Subsequent batches would see
the target as non-empty.
Without locking this does have a consistency issue - if another insert happens at the same
time, you won't be empty any longer for the putAll. The same is true in a narrow
sense for the individual inserts - it's a best effort consistency.
Another concern is that we're not checking the pk constraint for the insert - so a
putAll if there is a duplicate would result in the last entry being respected, rather than
an exception in an insert scenario.
Enhance infinispan support for muti-threaded puts or using putAll
-----------------------------------------------------------------
Key: TEIID-4918
URL:
https://issues.jboss.org/browse/TEIID-4918
Project: Teiid
Issue Type: Enhancement
Components: Infinispan
Affects Versions: 9.3, 8.12.x-6.4
Reporter: Van Halbert
Assignee: Ramesh Reddy
Fix For: 10.0
For performance reasons, it was requested that the infinispan connector/translator be
enhanced to be multi-threaded when doing batch inserts or try using the putAll option.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)