dbTalk Databases Forums  

Problem with ER : cdr sync replicate

comp.databases.informix comp.databases.informix


Discuss Problem with ER : cdr sync replicate in the comp.databases.informix forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
philippe
 
Posts: n/a

Default Problem with ER : cdr sync replicate - 03-21-2007 , 04:56 AM






Hi all,

I use IDS 10.00.UC4 on both root and leaf server.
ER is running fine, in particular the ‘upsert’ mechanism.

I have installed and tested the UDR checksum functions.

When testing the checksum function, I get some errors :

select checksum(tabid,0) from systables where tabid = 1 ;
1784518769

-> OK with serial columns

select checksum(tabname,0) from systables where tabid = 1 ;
# ^
# 9700: Routine (checksum) ambiguous - more than one routine resolves
to given s
ignature.
#

-> ERROR with varchar columns


select checksum(handlesnulls,0) from sysaggregates where aggid = 1 ;
# ^
# 674: Routine (checksum) can not be resolved.
#

-> ERROR with boolean columns


Now, I am trying to use the ‘cdr sync replicate’ command. The
participants in the replicate My_Repl have no varchar nor boolean
columns. Nevertheless, I get an error :

# cdr sync replicate --master=g_root --repl=My_Repl
--extratargetrows=delete g_leaf
Segmentation fault


Any suggestion should be welcome.

Thank you,
Philippe



Reply With Quote
  #2  
Old   
Madison Pruet
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 03-21-2007 , 07:48 AM






philippe wrote:
Quote:
Hi all,

I use IDS 10.00.UC4 on both root and leaf server.
ER is running fine, in particular the ‘upsert’ mechanism.

I have installed and tested the UDR checksum functions.

When testing the checksum function, I get some errors :

select checksum(tabid,0) from systables where tabid = 1 ;
1784518769

-> OK with serial columns

select checksum(tabname,0) from systables where tabid = 1 ;
# ^
# 9700: Routine (checksum) ambiguous - more than one routine resolves to
given s
ignature.
#

-> ERROR with varchar columns

The CDR utility casts columns to LVARCHAR that it does not have a
specific routine for.
Quote:
select checksum(handlesnulls,0) from sysaggregates where aggid = 1 ;
# ^
# 674: Routine (checksum) can not be resolved.
#

-> ERROR with boolean columns


Now, I am trying to use the ‘cdr sync replicate’ command. The
participants in the replicate My_Repl have no varchar nor boolean
columns. Nevertheless, I get an error :

# cdr sync replicate --master=g_root --repl=My_Repl
--extratargetrows=delete g_leaf
Segmentation fault
First of all, whenever the cdr utility detects an error, it kills itself
with a segv so we can get a core file. Please run the command under a
debugger so that we can get a stack trace. That will help to see where
the error is occurring. We will probably need to have the schema
definition of the table being synced.

Can you get a case opened on this?

M.P.

Quote:

Any suggestion should be welcome.

Thank you,
Philippe



Reply With Quote
  #3  
Old   
Andreas Legner
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 03-27-2007 , 03:33 AM



You don't need checksum UDRs for 'cdr sync' - only 'cdr check' will use them.

Regarding the 'cdr sync' failure, can we see this stack/core file/PMR opened? Come back if you need help on this!
(Platform information would be handy as well.)

Andreas

Reply With Quote
  #4  
Old   
philippe
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-02-2007 , 06:15 AM



Quote:
First of all, whenever the cdr utility detects an error, it kills itself with
a segv so we can get a core file. Please run the command under a debugger so
that we can get a stack trace. That will help to see where the error is
occurring. We will probably need to have the schema definition of the table
being synced.
Here is stdout of the debugger session:

(gdb) r sync replicate --master=g_root --repl=My_repl
--extratargetrows=delete g_leaf
Starting program: /usr/ids100uc4/bin/cdr sync replicate --master=g_root
--repl=My_Repl --extratargetrows=delete g_leaf
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x080df255 in sqli_connect_set ()
(gdb)


And here is the schema of the table that participate to the replicate:

Column name Type Nulls
b5num
serial no
b5nom char(30) yes
b5flaact char(1) yes
b5flafac char(1) yes
b5o1numadd integer yes
b5o1nummod integer yes
b5datadd date yes
b5datmod date yes
b5typ char(1) yes
b5datdeb date yes
b5datfin date yes
b5o3num integer yes
b5c0num integer yes

The primary key is the serial column b5num.


I have opened a case through our IBM Informix products reseller. I
don't know the IBM case number.

Philippe




Reply With Quote
  #5  
Old   
Madison Pruet
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-02-2007 , 09:01 AM



philippe wrote:
Quote:
First of all, whenever the cdr utility detects an error, it kills
itself with a segv so we can get a core file. Please run the command
under a debugger so that we can get a stack trace. That will help to
see where the error is occurring. We will probably need to have the
schema definition of the table being synced.

Here is stdout of the debugger session:

(gdb) r sync replicate --master=g_root --repl=My_repl
--extratargetrows=delete g_leaf
Starting program: /usr/ids100uc4/bin/cdr sync replicate --master=g_root
--repl=My_Repl --extratargetrows=delete g_leaf
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x080df255 in sqli_connect_set ()
(gdb)
At the time that you get the SEGV, we need you to get the stack. Please
retry and enter "where" when you get the segv.

Thanks.
Quote:

And here is the schema of the table that participate to the replicate:

Column name Type Nulls
b5num
serial no
b5nom char(30) yes
b5flaact char(1) yes
b5flafac char(1) yes
b5o1numadd integer yes
b5o1nummod integer yes
b5datadd date yes
b5datmod date yes
b5typ char(1) yes
b5datdeb date yes
b5datfin date yes
b5o3num integer yes
b5c0num integer yes

The primary key is the serial column b5num.


I have opened a case through our IBM Informix products reseller. I don't
know the IBM case number.

Philippe



Reply With Quote
  #6  
Old   
philippe
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-02-2007 , 12:43 PM



Quote:
At the time that you get the SEGV, we need you to get the stack. Please
retry and enter "where" when you get the segv.
....
(no debugging symbols found)
Error returned 47 at 5417
Error returned 47 at 5417

Program received signal SIGSEGV, Segmentation fault.
0x080df255 in sqli_connect_set ()
(gdb) where
#0 0x080df255 in sqli_connect_set ()
#1 0x08090c0d in part_tdDtor ()
#2 0x08090b5e in syncVar_tdDtor ()
#3 0x08092382 in checkRepl ()
#4 0x0809112f in cdr_check ()
#5 0x0804ee22 in sync_repl ()
#6 0x0804bf06 in main ()
(gdb)

Thank you for your help.
Philippe




Reply With Quote
  #7  
Old   
Madison Pruet
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-02-2007 , 03:40 PM



philippe wrote:
Quote:
At the time that you get the SEGV, we need you to get the stack.
Please retry and enter "where" when you get the segv.

...
(no debugging symbols found)
Error returned 47 at 5417
Error returned 47 at 5417

Program received signal SIGSEGV, Segmentation fault.
0x080df255 in sqli_connect_set ()
(gdb) where
#0 0x080df255 in sqli_connect_set ()
#1 0x08090c0d in part_tdDtor ()
#2 0x08090b5e in syncVar_tdDtor ()
#3 0x08092382 in checkRepl ()
#4 0x0809112f in cdr_check ()
#5 0x0804ee22 in sync_repl ()
#6 0x0804bf06 in main ()
(gdb)
Well getting a bit internal..... ;-)

This is where the 47 error is being returned.
$select groupname into :groupName
from hostdef
where name = :nameIn;
if (sqlca.sqlcode == 100)
{
rc = CDR_ESERV;
break;
}

I suspect that the 47 error is leading eventually to the other failures
because logic is that when we are trying to destroy the part structure
(part_tdDtor), that we attempt to connect to the server that the part is
associated with and then perform a clean shutdown. I suspect that in
UC4 that there is some issue with improper cleanup when the initial
connection never occured. Not sure. This may have been fixed in
subsequent releases - again not sure.

Probably the best thing to do is to examine the sqlhost file and/or
examine the hostdef table that you are connecting to. What it is trying
to do is to convert the group name into a server name - and that is
failing. You might want to try to issue the select statement for each
node that is involved in the sync operation. (nameIn should be the
group name...)


M.P.





Quote:
Thank you for your help.
Philippe



Reply With Quote
  #8  
Old   
philippe
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-03-2007 , 04:40 AM



Quote:
Well getting a bit internal..... ;-)

This is where the 47 error is being returned.
$select groupname into :groupName
from hostdef
where name = :nameIn;
if (sqlca.sqlcode == 100)
{
rc = CDR_ESERV;
break;
}

I suspect that the 47 error is leading eventually to the other failures
because logic is that when we are trying to destroy the part structure
(part_tdDtor), that we attempt to connect to the server that the part is
associated with and then perform a clean shutdown. I suspect that in UC4
that there is some issue with improper cleanup when the initial connection
never occured. Not sure. This may have been fixed in subsequent releases -
again not sure.
In fact, the error 'Error returned 47 at 5417' is NOT reproducible,
while segmentation fault occurs each times.


Quote:
Probably the best thing to do is to examine the sqlhost file and/or examine
the hostdef table that you are connecting to. What it is trying to do is to
convert the group name into a server name - and that is failing. You might
want to try to issue the select statement for each node that is involved in
the sync operation. (nameIn should be the group name...)
The select statements return always 1 row:

on g_root server:
select groupname from hostdef where name = 'g_root' -> return
'g_root'
select groupname from hostdef where name = 'g_leaf' -> return
'g_leaf'

same result on g_leaf server.

Philippe




Reply With Quote
  #9  
Old   
Madison Pruet
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-03-2007 , 08:30 AM



philippe wrote:
Quote:
Well getting a bit internal..... ;-)

This is where the 47 error is being returned.
$select groupname into :groupName
from hostdef
where name = :nameIn;
if (sqlca.sqlcode == 100)
{
rc = CDR_ESERV;
break;
}

I suspect that the 47 error is leading eventually to the other
failures because logic is that when we are trying to destroy the part
structure (part_tdDtor), that we attempt to connect to the server that
the part is associated with and then perform a clean shutdown. I
suspect that in UC4 that there is some issue with improper cleanup
when the initial connection never occured. Not sure. This may have
been fixed in subsequent releases - again not sure.

In fact, the error 'Error returned 47 at 5417' is NOT reproducible,
while segmentation fault occurs each times.
With the same stack???

Quote:

Probably the best thing to do is to examine the sqlhost file and/or
examine the hostdef table that you are connecting to. What it is
trying to do is to convert the group name into a server name - and
that is failing. You might want to try to issue the select statement
for each node that is involved in the sync operation. (nameIn should
be the group name...)

The select statements return always 1 row:

on g_root server:
select groupname from hostdef where name = 'g_root' -> return 'g_root'
select groupname from hostdef where name = 'g_leaf' -> return 'g_leaf'

same result on g_leaf server.

Philippe



Reply With Quote
  #10  
Old   
philippe
 
Posts: n/a

Default Re: Problem with ER : cdr sync replicate - 04-03-2007 , 12:12 PM



Quote:
In fact, the error 'Error returned 47 at 5417' is NOT reproducible, while
segmentation fault occurs each times.

With the same stack???

yes :

....
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x080df255 in sqli_connect_set ()
(gdb) where
#0 0x080df255 in sqli_connect_set ()
#1 0x08090c0d in part_tdDtor ()
#2 0x08090b5e in syncVar_tdDtor ()
#3 0x08092382 in checkRepl ()
#4 0x0809112f in cdr_check ()
#5 0x0804ee22 in sync_repl ()
#6 0x0804bf06 in main ()
(gdb)




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.