[ 
https://issues.apache.org/jira/browse/IGNITE-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16755572#comment-16755572
 ] 

Alexey Kuznetsov edited comment on IGNITE-8550 at 1/30/19 2:04 AM:
-------------------------------------------------------------------

[~smoldachev] and [~slukyanov] I think that we need to fix this issue another 
way.

Fix is simple and could be like:
{code:java}
if (updCnt == 0)
   U.warn(log, "Unexpected number of updated entries [table=" + 
em.fullTableName() +
      ", entry=" + entry + "expected > 0, actual = 0]");

{code}
No need to modify dialects at all.

As far as I remember this warning was added in order to notify user about 
situations when data was not updated.

What do you think?

 


was (Author: kuaw26):
[~smoldachev] and [~slukyanov] I think that we need to fix this issue another 
way.

Fix is simple and could be like:
{code:java}
if (updCnt == 0)
   U.warn(log, "Unexpected number of updated entries [table=" + 
em.fullTableName() +
      ", entry=" + entry + "expected > 0, actual=" + updCnt + "]");

{code}
No need to modify dialects at all.

As far as I remember this warning was added in order to notify user about 
situations when data was not updated.

What do you think?

 

> 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
>             Fix For: 2.8
>
>          Time Spent: 10m
>  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
(v7.6.3#76005)

Reply via email to