warning: update row ... is a conflict update and this row is ignored

SQL Anywhere 10.0.1.3488

I am synching one SQL Anywhere database to another through MobiLink, getting 
this warning:

W. 2008-08-19 13:01:01. <17> [10037] Ignoring updated row (new values)
W. 2008-08-19 13:01:01. <17> [10038] Ignoring updated row (old values)
W. 2008-08-19 13:01:01. <17> [10072] The update row for table '<orders>' is 
a conflict update and this row is ignored.

There are currently no conflict resolution scripts in place, so I would 
expect the default behavior of "last one in wins" rather than seeing "this 
row is ignored".  Do I understand correctly that it is just skipping doing 
anything with the row data due to the conflict?


0
Spencer
10/6/2008 7:08:43 PM
sybase.sqlanywhere.mobilink 5254 articles. 0 followers. Follow

9 Replies
750 Views

Similar Articles

[PageSpeed] 26

Spencer,

The error is indicating that you have specified conflict-resolution to 
take place, and there are no "upload_old_row_insert" or "old_row_cursor" 
/ "upload_new_rows_insert" or "new_row_cursor" scripts defined for the 
"orders" table, on this script version.

Spencer Wasden wrote:
> There are currently no conflict resolution scripts in place, so I would 
> expect the default behavior of "last one in wins" rather than seeing "this 
> row is ignored".  Do I understand correctly that it is just skipping doing 
> anything with the row data due to the conflict?

That's correct. You have conflict detection in place, there was a 
conflict detected, and since no script exists to handle this situation, 
we discard the changes. "The last one wins" rule is used only when none 
of the "upload_old_row_insert", "upload_old_new_insert", and 
"resolve_conflict" events are present (See: 
http://dcx.sybase.com/html/dbmlen10/ml-events-upload-syncref.html). I'm 
assuming you have something coded for the "resolve_conflict" event on 
"orders".

You'll want to check your consolidated events and ensure you're using 
the correct script version.

Regards,

-- 
Jeff Albion, SQL Anywhere Engineering
Sybase iAnywhere

iAnywhere Developer Community : 
http://www.sybase.com/developer/library/sql-anywhere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs : 
http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0
0
Jeff
10/6/2008 8:37:11 PM
"Spencer Wasden" <spencer.wasden@mobiledataforce_xspm.com> wrote in
news:48ea623b$1@forums-1-dub of sybase.public.sqlanywhere.mobilink: 

SW> SQL Anywhere 10.0.1.3488
....
SW> W. 2008-08-19 13:01:01. <17> [10037] Ignoring updated row (new values)
SW> W. 2008-08-19 13:01:01. <17> [10038] Ignoring updated row (old values)
SW> W. 2008-08-19 13:01:01. <17> [10072] The update row for table
SW> '<orders>' is a conflict update and this row is ignored.
SW> 
SW> There are currently no conflict resolution scripts in place, so I
SW> would expect the default behavior of "last one in wins" rather than
SW> seeing "this row is ignored".  

You are correct, "last in wins" should take precedence here.

What is the final result of the row?
Was the update from the remote ignored?

What are ALL the events you have defined for this table?

-- 
David Fishburn
Certified ASA Developer Version 8
iAnywhere Solutions - Sybase 
Professional Services
Please only post to the newsgroup
Please ALWAYS include version and MORE importantly BUILD number with 
EACH post (dbeng10 -v).

EBFs and Maintenance Releases
http://downloads.sybase.com/

Developer Community / Whitepapers
http://www.ianywhere.com/developer

Case-Express - to report bugs
http://case-express.sybase.com

CodeXchange - Free samples
http://ianywhere.codexchange.sybase.com/servlets/ProjectDocumentList

0
David
10/7/2008 12:29:58 PM
SW> SQL Anywhere 10.0.1.3488

> we discard the changes. "The last one wins" rule is used only when none of 
> the "upload_old_row_insert", "upload_old_new_insert", and 
> "resolve_conflict" events are present (See:

This returns no rows:

select name from ml_table where table_id in (
   select table_id from ml_table_script
   where event like '%resolve%'
   or event like '%old[_]row%'
   or event like '%new[_]row%'
)


"Jeff Albion (Sybase iAnywhere)" <firstname.lastname@ianywhere.com> wrote in 
message news:48ea76f7$1@forums-1-dub...
> Spencer,
>
> The error is indicating that you have specified conflict-resolution to 
> take place, and there are no "upload_old_row_insert" or "old_row_cursor" / 
> "upload_new_rows_insert" or "new_row_cursor" scripts defined for the 
> "orders" table, on this script version.
>
> Spencer Wasden wrote:
>> There are currently no conflict resolution scripts in place, so I would 
>> expect the default behavior of "last one in wins" rather than seeing 
>> "this row is ignored".  Do I understand correctly that it is just 
>> skipping doing anything with the row data due to the conflict?
>
> That's correct. You have conflict detection in place, there was a conflict 
> detected, and since no script exists to handle this situation, we discard 
> the changes. "The last one wins" rule is used only when none of the 
> "upload_old_row_insert", "upload_old_new_insert", and "resolve_conflict" 
> events are present (See: 
> http://dcx.sybase.com/html/dbmlen10/ml-events-upload-syncref.html). I'm 
> assuming you have something coded for the "resolve_conflict" event on 
> "orders".
>
> You'll want to check your consolidated events and ensure you're using the 
> correct script version.
>
> Regards,
>
> -- 
> Jeff Albion, SQL Anywhere Engineering
> Sybase iAnywhere
>
> iAnywhere Developer Community : 
> http://www.sybase.com/developer/library/sql-anywhere-techcorner
> iAnywhere Documentation : 
> http://www.ianywhere.com/developer/product_manuals
> SQL Anywhere Patches and EBFs : 
> http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0 


0
Spencer
10/7/2008 4:14:10 PM
Spencer,

Spencer Wasden wrote:
> SW> SQL Anywhere 10.0.1.3488
> 
> This returns no rows:
> 
> select name from ml_table where table_id in (
>    select table_id from ml_table_script
>    where event like '%resolve%'
>    or event like '%old[_]row%'
>    or event like '%new[_]row%'
> )

What events are defined for this table? Are you at least defining one of 
upload_update, upload_insert, or upload_delete on this table?

Is there an upload_fetch or upload_fetch_column_conflict event defined? 
Are you running this query as the same user that the MobiLink server 
logs into the consolidated as?

Regards,

-- 
Jeff Albion, SQL Anywhere Engineering
Sybase iAnywhere

iAnywhere Developer Community : 
http://www.sybase.com/developer/library/sql-anywhere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs : 
http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0
0
Jeff
10/7/2008 4:41:42 PM
SQL Anywhere 10.0.1.3488

> What is the final result of the row?
> Was the update from the remote ignored?

We noticed data was missing, so we checked the logs and found these warnings 
about ignored data.  We do see data sync sometimes.  We haven't determined 
how to consistently reproduce this yet.  We are not expecting conflicts at 
all since each location has 1 database and each synching table has a 
location column in the pk...and the parent database does not modify data.

Is there an option that will cause it to error instead of warn on conflicts?

>
> What are ALL the events you have defined for this table?

begin_download_deletes
begin_download_rows
begin_upload_deletes
begin_upload_rows
upload_delete
upload_insert
upload_update


"David Fishburn" <fishburn_spam_off@ianywhere.com> wrote in message 
news:Xns9B305673A3EA3fishburnsybasecom@10.22.241.106...
> "Spencer Wasden" <spencer.wasden@mobiledataforce_xspm.com> wrote in
> news:48ea623b$1@forums-1-dub of sybase.public.sqlanywhere.mobilink:
>
> SW> SQL Anywhere 10.0.1.3488
> ...
> SW> W. 2008-08-19 13:01:01. <17> [10037] Ignoring updated row (new values)
> SW> W. 2008-08-19 13:01:01. <17> [10038] Ignoring updated row (old values)
> SW> W. 2008-08-19 13:01:01. <17> [10072] The update row for table
> SW> '<orders>' is a conflict update and this row is ignored.
> SW>
> SW> There are currently no conflict resolution scripts in place, so I
> SW> would expect the default behavior of "last one in wins" rather than
> SW> seeing "this row is ignored".
>
> You are correct, "last in wins" should take precedence here.
>
> What is the final result of the row?
> Was the update from the remote ignored?
>
> What are ALL the events you have defined for this table?
>
> -- 
> David Fishburn
> Certified ASA Developer Version 8
> iAnywhere Solutions - Sybase
> Professional Services
> Please only post to the newsgroup
> Please ALWAYS include version and MORE importantly BUILD number with
> EACH post (dbeng10 -v).
>
> EBFs and Maintenance Releases
> http://downloads.sybase.com/
>
> Developer Community / Whitepapers
> http://www.ianywhere.com/developer
>
> Case-Express - to report bugs
> http://case-express.sybase.com
>
> CodeXchange - Free samples
> http://ianywhere.codexchange.sybase.com/servlets/ProjectDocumentList
> 


0
Spencer
10/7/2008 4:57:19 PM
10.0.1.3488

> What events are defined for this table? Are you at least defining one of 
> upload_update, upload_insert, or upload_delete on this table?

begin_download_deletes
begin_download_rows
begin_upload_deletes
begin_upload_rows
upload_delete
upload_insert
upload_update

> Are you running this query as the same user that the MobiLink server logs 
> into the consolidated as?

Yes


"Jeff Albion (Sybase iAnywhere)" <firstname.lastname@ianywhere.com> wrote in 
message news:48eb9146$1@forums-1-dub...
> Spencer,
>
> Spencer Wasden wrote:
>> SW> SQL Anywhere 10.0.1.3488
>>
>> This returns no rows:
>>
>> select name from ml_table where table_id in (
>>    select table_id from ml_table_script
>>    where event like '%resolve%'
>>    or event like '%old[_]row%'
>>    or event like '%new[_]row%'
>> )
>
> What events are defined for this table? Are you at least defining one of 
> upload_update, upload_insert, or upload_delete on this table?
>
> Is there an upload_fetch or upload_fetch_column_conflict event defined? 
> Are you running this query as the same user that the MobiLink server logs 
> into the consolidated as?
>
> Regards,
>
> -- 
> Jeff Albion, SQL Anywhere Engineering
> Sybase iAnywhere
>
> iAnywhere Developer Community : 
> http://www.sybase.com/developer/library/sql-anywhere-techcorner
> iAnywhere Documentation : 
> http://www.ianywhere.com/developer/product_manuals
> SQL Anywhere Patches and EBFs : 
> http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0 


0
Spencer
10/7/2008 5:14:36 PM
Spencer,

Could we see more information about your system tables / scripts defined 
on this server? Something seems to be amiss.

Try:

SELECT t.event, t.version_id, s.script_language, s.script
FROM ml_table r, ml_table_script t, ml_script s
WHERE t.table_id = r.table_id
   AND t.script_id = s.script_id
   AND r.name = 'Orders';
OUTPUT TO 'C:\\ml_order_scripts.txt';

Regards,

-- 
Jeff Albion, SQL Anywhere Engineering
Sybase iAnywhere

iAnywhere Developer Community : 
http://www.sybase.com/developer/library/sql-anywhere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs : 
http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0
0
Jeff
10/7/2008 9:01:33 PM
Jeff,

I believe we've identified the issue.  More investigation revealed that the 
customer archived the transaction log without synching!  Then they tried 
synching updated rows whose inserts had never been uploaded.  A verbose log 
showed the following message in connection with the other conflict message 
already mentioned: "The row will be processed as in-conflict because the 
consolidated row no longer exists."  In our case the row "never did exist". 
Does this assessment sound correct to you? 


0
Spencer
10/8/2008 8:36:51 PM
Spencer,

Yes, that assessment sounds spot on. With the row at the consolidated 
missing and the remote thinking that it should go up as an update (not 
as an insert), we'll treat it as a type of forced conflict as the 
warning message says (since the pre-image row from the remote will not 
refer to a valid row on the consolidated).

This is of course an exceptional situation - the expectation is that the 
insert is accounted for, and the update refers to an existing row. I'm 
glad to hear that you got it worked out. :)

Cheers,

Spencer Wasden wrote:
> Jeff,
> 
> I believe we've identified the issue.  More investigation revealed that the 
> customer archived the transaction log without synching!  Then they tried 
> synching updated rows whose inserts had never been uploaded.  A verbose log 
> showed the following message in connection with the other conflict message 
> already mentioned: "The row will be processed as in-conflict because the 
> consolidated row no longer exists."  In our case the row "never did exist". 
> Does this assessment sound correct to you? 
> 
> 

-- 
Jeff Albion, SQL Anywhere Engineering
Sybase iAnywhere

iAnywhere Developer Community : 
http://www.sybase.com/developer/library/sql-anywhere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs : 
http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0
0
Jeff
10/8/2008 9:09:19 PM
Reply:

Web resources about - warning: update row ... is a conflict update and this row is ignored - sybase.sqlanywhere.mobilink

Resources last updated: 12/3/2015 1:43:33 PM