Andrei Nadyktov created IGNITE-26452:
----------------------------------------
Summary: SQL Calcite: INSERT operations in External Storage mode
trigger CacheStore#load invocation
Key: IGNITE-26452
URL: https://issues.apache.org/jira/browse/IGNITE-26452
Project: Ignite
Issue Type: Bug
Affects Versions: 2.17
Reporter: Andrei Nadyktov
Attachments: CacheStoreLoadTests.patch
It seems that we have an unnecessary {{CacheStore#load}} invocation when
executing INSERT statements in Ignite.
*Prerequisites:*
# Ignite used as a caching layer to an existing database.
# Write-Through, Read-Through are enabled.
# Custom implementation of CacheStore is used.
# Calcite engine is used.
When inserting some rows into table, we expect that only {{CacheStore#write}}
method will be invoked for writing data to an external database. What actually
happens is that, for some unknown reasons, {{CacheStore#load}} is called before
{{{}CacheStore#write{}}}. This may slow down overall performance due to
redundant read operation from the external database.
It seems that such behaviour is only reproduced when Calcite engine is enabled.
This happens even with {{CacheConfiguration#setLoadPreviousValue}} flag set to
false.
*Reproducer:* [^CacheStoreLoadTests.patch]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)