[teiid-issues] [JBoss JIRA] (TEIID-4918) Enhance infinispan support for muti-threaded puts or using putAll

Steven Hawkins (JIRA) issues at jboss.org
Tue Jul 25 16:43:00 EDT 2017


    [ https://issues.jboss.org/browse/TEIID-4918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440166#comment-13440166 ] 

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)


More information about the teiid-issues mailing list