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)

Reply via email to