[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4587
  • Last Modified:

sybase replication dsi down

hi ,

i am getting the following error in my rep server log and dsi is down

dsiqmint.c(4256)
        The DSI thread for database 'SYB_RSSD_GEN.test_2' is being shutdown. DSI received data server error #10330 which is mapped to STOP_REPLICATION. See logged data server errors for more information. The data server error was caused by output command #1 mapped from input command #2 of the failed transaction.
I. 2011/05/05 19:20:07. The DSI thread for database 'SYB_RSSD_GEN.test_2' is shutdown.
I. 2011/05/05 19:20:48. The DSI thread for database 'SYB_RSSD_GEN.test_2' is started.
I. 2011/05/05 19:30:50. Connection to server 'SYB_RSSD_GEN' as user 'test_2_maint' has been faded out (closed).
H. 2011/05/05 19:41:44. THREAD FATAL ERROR #5189 DSI EXEC(108(1) SYB_RSSD_GEN.test_2) - /dsiutil.c(715)
        The DSI thread for the 'SYB_RSSD_GEN.test_2' database is being shut down. DSI received Replication Server error #5185 which is mapped to STOP_REPLICATION or RETRY_STOP_REPLICATION. See the Replication Server log for more information.
W. 2011/05/05 19:41:44. WARNING #5185 DSI EXEC(108(1) SYB_RSSD_GEN.test_2) - /dsiexec.c(5048)
        Row count mismatch for the command executed on 'SYB_RSSD_GEN.test_2'. The command impacted 0 rows but it should impact 1 rows.
I. 2011/05/05 19:41:44. The DSI thread for database 'SYB_RSSD_GEN.test_2' is shutdown.



The DSI is down because in my source table i have 20 records which got replicated to target database too (20 records), now what i did was i deleted the 10 records from target database whoich were not needed in target.
the next day someone deleted 5 records from those 10 records on the promary side (source side), obviously the dsi didnot find those records in target and hence went down. Now how should i ignore this error from happeneing aagain. I do not want this warning -- row mismatch to bring down my dsi..." the warning can be fine but dsi shud not go down.
How shud i do this ?

other thing

even if i dont want to see these warning (row mismacth) in erro log , how can this be done??
please advise..
thanks.
0
Deepak_FIL
Asked:
Deepak_FIL
  • 3
  • 3
1 Solution
 
alpmoonCommented:
1. First you need to create a new error class (example is from admin guide):

This example creates the my_rs_err_class Replication Server error class based on rs_repserver_error_class, which is the default Replication Server error class:

create replication server error class my_rs_err_class
set template to rs_repserver_error_class

2. Then assign either 'ignore' or 'warning' to that error:

assign action
   {ignore | warn | retry_log | log | retry_stop | stop_replication}
   for error_class
   to server_error1 [, server_error2]...

3. After that you can change your error class for that connection (assuming that connection is down):

alter connection to data_server.database
     set error class [to] error_class

4. Restart connection
0
 
Deepak_FILAuthor Commented:
i exactly followed as you mentioned but still getting the DSI down !!!!

1> create error class my_rs_err_class_2
2> go
Error class 'my_rs_err_class_2' is created.
1> assign action warn for my_rs_err_class_2 to 5185
2> go
Error mapping is created.
1> alter connection to SYB_RSSD_GEN.test_2 set error class to my_rs_err_class_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is altered.
1> resume connection to SYB_RSSD_GEN.test_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is resumed.
1> assign action warn for my_rs_err_class_2 to 5189
2> go
Error mapping is created.
1> resume connection to SYB_RSSD_GEN.test_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is resumed.


048)
        Row count mismatch for the command executed on 'SYB_RSSD_GEN.test_2'. The command impacted 0 rows but it should impact 1 rows.
I. 2011/05/06 10:16:28. The DSI thread for database 'SYB_RSSD_GEN.test_2' is shutdown.
I. 2011/05/06 10:18:48. The DSI thread for database 'SYB_RSSD_GEN.test_2' is started.
H. 2011/05/06 10:18:50. THREAD FATAL ERROR #5189 DSI EXEC(108(1) SYB_RSSD_GEN.test_2) - /dsiutil.c(715)
        The DSI thread for the 'SYB_RSSD_GEN.test_2' database is being shut down. DSI received Replication Server error #5185 which is mapped to STOP_REPLICATION or RETRY_STOP_REPLICATION. See the Replication Server log for more information.
W. 2011/05/06 10:18:50. WARNING #5185 DSI EXEC(108(1) SYB_RSSD_GEN.test_2) - /dsiexec.c(5048)
        Row count mismatch for the command executed on 'SYB_RSSD_GEN.test_2'. The command impacted 0 rows but it should impact 1 rows.
I. 2011/05/06 10:18:50. The DSI thread for database 'SYB_RSSD_GEN.test_2' is shutdown.


Could you please advise ??
0
 
alpmoonCommented:
I think the second assign command should have been executed before alter connection command. I can see that the first assign command is effective now. I am guessing that you need to execute alter connection command again to make the second assign command effective.
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
Deepak_FILAuthor Commented:
no success..dsi still going down

ukimsolrepq01:/export/home/sybase% rep
1> alter connection to SYB_RSSD_GEN.test_2 set error class to my_rs_err_class_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is altered.
1> resume connection to SYB_RSSD_GEN.test_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is resumed.
1> assign action warn for my_rs_err_class_2 to 5185
2> go
Error mapping is created.
1> alter connection to SYB_RSSD_GEN.test_2 set error class to my_rs_err_class_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is altered.
1> resume connection to SYB_RSSD_GEN.test_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is resumed.
1> assign action warn for my_rs_err_class_2 to 5189
2> go
Error mapping is created.
1> alter connection to SYB_RSSD_GEN.test_2 set error class to my_rs_err_class_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is altered.
1> resume connection to SYB_RSSD_GEN.test_2
2> go
Connection to 'SYB_RSSD_GEN.test_2' is resumed.
1> admin who_is_down
2> go
 Spid Name       State                Info
 ---- ---------- -------------------- ----------------------------------------
      DSI EXEC   Suspended            108(1) SYB_RSSD_GEN.test_2
      DSI        Suspended            108 SYB_RSSD_GEN.test_2
0
 
alpmoonCommented:
It is hard to understand without checking system tables. However, my guess is latest alter connection didn't make any difference because it sets the same error class. I think creating a new error class would fix the problem. Or you may try setting default error class first and then back to new error class, It might work too.
0
 
Deepak_FILAuthor Commented:
accepted
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now