You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ilya Kazakov (Jira)" <ji...@apache.org> on 2022/03/02 05:07:00 UTC
[jira] [Commented] (IGNITE-8550) CacheAbstractJdbcStore expects merge to always return 1 but MySQL may also return 2 or 0
[ https://issues.apache.org/jira/browse/IGNITE-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499892#comment-17499892 ]
Ilya Kazakov commented on IGNITE-8550:
--------------------------------------
[~smoldachev] I want to assign this ticket on myself. I believe you will not have any objections.
> CacheAbstractJdbcStore expects merge to always return 1 but MySQL may also return 2 or 0
> ----------------------------------------------------------------------------------------
>
> Key: IGNITE-8550
> URL: https://issues.apache.org/jira/browse/IGNITE-8550
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Reporter: Stanislav Lukyanov
> Assignee: Moldachev Sergey
> Priority: Minor
> Labels: newbie
> Time Spent: 40m
> Remaining Estimate: 0h
>
> CacheAbstractJdbcStore.write attempts to execute a merge update if it is available, and expects the merge to always return 1 (as the number of updated entries is always 1).
> However, MySQL's `INSERT ... ON DUPLICATE KEY UPDATE` (https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html) may return 0 or 2, depending on what was updated:
> {quote}With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if the row is inserted as a new row, 2 if an existing row is updated, and 0 if an existing row is set to its current values.{quote}
> Because of that, CacheAbstractJdbcStore may report a false warning.
> Need to consider either removing the warning or special-case the MySQL dialect to allow to return values other than 1.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)