[
https://issues.jboss.org/browse/TEIID-3536?page=com.atlassian.jira.plugin...
]
Van Halbert commented on TEIID-3536:
------------------------------------
The problem was that the cache key object type (String) was different than the attribute
that was used as the primary key (integer). The tool that inserted the initial rows used
a string value. And when the teiid logic tried to remove them, it was using an integer to
find them (which it didn't).
To resolve this, the CacheTypeMap property will be enhanced. The current format is:
cacheName:className[;pkFieldName]
Changing it so that the object type of the "pkFieldName" can be specified. So
changing the format to:
cacheName:className[;pkFieldName[:cacheKeyJavaType]]
And only when specified, the key value will be transformed to this type before doing a
lookup by key (i.e, for updates and deletes) or insert.
Infinispan-dsl-cache translator: Can't delete or update rows
which were previously inserted through hotrod protocol
-------------------------------------------------------------------------------------------------------------------
Key: TEIID-3536
URL:
https://issues.jboss.org/browse/TEIID-3536
Project: Teiid
Issue Type: Bug
Affects Versions: 8.7.1.6_2
Reporter: Filip Elias
Assignee: Steven Hawkins
Attachments: server1.log, server2.log
Rows which have been inserted into cache directly through hotrod protocol can't be
deleted or updated (update command returns correct number of rows to be updated but no
rows are actually updated) using the Infinispan-dsl-cache translator.
If the rows are inserted through Infinispan-dsl-cache translator, then they can be
deleted or updated.
Server1.log contains logs for an attempt to delete row which was previously directly
inserted through hotrod protocol. It contains logs for two queries:
1, select * from smalla where intkey = 10 (returns 1 row)
2, delete from smalla where intkey = 10 (deletes 0 rows)
Server2.log contains logs for an attempt to delete row which was inserted using the
Infinispan-dsl-cache translator. It contains logs for two queries:
1, insert into smalla(intKey, stringKey,booleanValue) values(141,'ss',false)
(correctly inserts 1 row)
2, delete from smalla where intkey = 10 (correctly deletes 1 row)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)