ER:cdr sync stops whith 528: Maximum output rowsiz
Posted in 2011
Topics: Platform-Specific Issues
Hi,
I'm trying to do an initial sync of 2 datatabases whith ER, but I'm getting
this error after a while when I launch (on the 'primary' server):
cdr check replset -c <secondary> -m <primary> -s templ_oc_pks <secondary>
and I get this error:
Error Details:
528: Maximum output rowsize (32767) exceeded.
Current Connection:conn5, Database:orion_clinic@g_prim
command failed -- SQL failure (195)
Previously I issued a 'cdr sync template' and I got the same error. And for
some reason 'cdr realize template ...' didn't synchronize the 2 databases
well, but without an error.
I've tried several things like setting ulimit higher (by pure chance, I had
the ulimit for nofiles set to 32727), and changing CDR_QUEUEUMEM higher, but
that doesn't work.
I've googled around and found that the 32767 is a hard limit in IDS, and that
in those cases it's advised to change the logic of your query, but in this
case, how can I avoid this limit? (honestly, I don't really understand what
that limit means).
Some additional infor:
IDS verions: 11.70FC2
OS: linux (Ubuntu 11.04)
If you need some more info, please ask.
Thanks.
Cheers.
Hi,
This has nothing to do with ulimit. The row size is the sum of the sizes
of the columns in the row in the table in the database. It may also be
the sum of the sizes of the columns in what a query returns if the query
draws data from more than one table. Based on your message, it sounds
like you have a table defined with rows that may be too large. One
possible cause is variable length character columns when enough of them
get larger than usual. If a row is too large, Informix refuses to build
the table, and that is what the error message is telling you. You'll have
to either change the table definition or the query used in defining the
replicate. Can you share the replicate definition and associated table
definitions?
Cheers,
Dick Snoke
Executive IT Specialist
IBM - Channel Works
(404) 487-1595
dsnoke@us.ibm.com
From: "GERARDO PADIERNA" <g.padierna@gmail.com>
To: ids@iiug.org
Date: 10/10/11 08:59 AM
Subject: ER:cdr sync stops whith 528: Maximum output rowsiz [25156]
Sent by: ids-bounces@iiug.org
Hi,
I'm trying to do an initial sync of 2 datatabases whith ER, but I'm
getting
this error after a while when I launch (on the 'primary' server):
cdr check replset -c <secondary> -m <primary> -s templ_oc_pks <secondary>
and I get this error:
Error Details:
528: Maximum output rowsize (32767) exceeded.
Current Connection:conn5, Database:orion_clinic@g_prim
command failed -- SQL failure (195)
Previously I issued a 'cdr sync template' and I got the same error. And
for
some reason 'cdr realize template ...' didn't synchronize the 2 databases
well, but without an error.
I've tried several things like setting ulimit higher (by pure chance, I
had
the ulimit for nofiles set to 32727), and changing CDR_QUEUEUMEM higher,
but
that doesn't work.
I've googled around and found that the 32767 is a hard limit in IDS, and
that
in those cases it's advised to change the logic of your query, but in this
case, how can I avoid this limit? (honestly, I don't really understand
what
that limit means).
Some additional infor:
IDS verions: 11.70FC2
OS: linux (Ubuntu 11.04)
If you need some more info, please ask.
Thanks.
Cheers.
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
Hi Richard,
here the exact error I get:
(...)
Oct 10 2011 14:37:52 ------ Table scan for templ_oc_pks_g_secu_3_586_informes
start --------
Node Rows Extra Missing Mismatch Processed
---------------- --------- --------- --------- --------- ---------
g_prim 2497 0 0 0 0
g_secu 0 0 2497 0 0
WARNING: replicate is not in sync
Oct 10 2011 14:38:02 ------ Table scan for templ_oc_pks_g_secu_3_586_informes
end ---------
Oct 10 2011 14:38:02 ------ Table scan for
templ_oc_pks_g_secu_3_554_uhd_contacto start --------
Error returned from createStatement: prepare verbose_1932 from Select
cont_uhd_key, ctma_turno, epi_key, ctma_tipo_contacto, prof_key, usu_key,
motivo_contacto, anamnesis, explo_fisicas, explo_compl, ucont_evolucionplan,
is_historico, ucont_en_hc, ucont_contacto_1_2, maac_key_tipocontacto,
ucont_fecha_paso_hc, ucont_valoracion_ant, ucont_evoluciones_ant,
ucont_estamento, informe_key, ucont_fecha_introd, cont_key, ucont_modificable,
ifx_checksum(explo_compl_text, NULL)::lvarchar as explo_compl_text from
orion_clinic@g_prim:"orion_dba".uhd_contacto where cont_uhd_key = ?
Error Details:
528: Maximum output rowsize (32767) exceeded.
Current Connection:conn5, Database:orion_clinic@g_prim
command failed -- SQL failure (195)
- here the table definition:
{ TABLE "orion_dba".uhd_contacto row size = 32761 number of columns = 24 index
size = 63 }
create table "orion_dba".uhd_contacto
(
cont_uhd_key serial not null ,
ctma_turno nvarchar(10) not null ,
epi_key integer not null ,
ctma_tipo_contacto nvarchar(10) not null ,
prof_key integer not null ,
usu_key integer not null ,
motivo_contacto lvarchar(1990),
anamnesis lvarchar,
explo_fisicas lvarchar,
explo_compl lvarchar(2000),
ucont_evolucionplan lvarchar(5350),
is_historico integer
default 0,
ucont_en_hc smallint,
ucont_contacto_1_2 smallint,
maac_key_tipocontacto integer,
ucont_fecha_paso_hc datetime year to fraction(5),
ucont_valoracion_ant lvarchar(3000),
ucont_evoluciones_ant lvarchar(16150),
ucont_estamento nvarchar(15),
informe_key integer,
ucont_fecha_introd datetime year to fraction(5),
cont_key integer,
ucont_modificable smallint,
explo_compl_text text,
primary key (cont_uhd_key) constraint "informix".u1139_3484
) extent size 16 next size 16 lock mode row;
revoke all on "orion_dba".uhd_contacto from "public" as "orion_dba";
alter table "orion_dba".uhd_contacto add constraint (foreign
key (prof_key) references "orion_dba".profesionales constraint
"informix".fk_contacto_uhd_profesional);
alter table "orion_dba".uhd_contacto add constraint (foreign
key (epi_key) references "orion_dba".episodios constraint
"informix".fk_contacto_uhd_episodios);
alter table "orion_dba".uhd_contacto add constraint (foreign
key (usu_key) references "orion_dba".usuarios constraint
"informix".fk_contacto_uhd_usuario);
alter table "orion_dba".uhd_contacto add constraint (foreign
key (maac_key_tipocontacto) references "orion_dba".maestro_actos
constraint "informix".fk_uhd_contacto2maac);
alter table "orion_dba".uhd_contacto add constraint (foreign
key (informe_key) references "orion_dba".informes constraint
"informix".fk_uhd_contacto2informe);
alter table "orion_dba".uhd_contacto add constraint (foreign
key (cont_key) references "orion_dba".contactos constraint
"informix".fk_contacto_uhd_2_contactos);
- template definition detail (peformed not directly, but defined through a
template definition):
cdr list repl brief templ_oc_pks_g_secu_3_554_uhd_contacto
REPLICATE TABLE SELECT
----------------------------------------------------------------------------
templ_oc_pks_g_secu_3_554_uhd_contacto
orion_clinic@g_prim:orion_dba.uhd_contacto select t.cont_uhd_key,
t.ctma_turno, t.epi_key, t.ctma_tipo_contacto, t.prof_key, t.usu_key,
t.motivo_contacto, t.anamnesis, t.explo_fisicas, t.explo_compl,
t.ucont_evolucionplan, t.is_historico, t.ucont_en_hc, t.ucont_contacto_1_2,
t.maac_key_tipocontacto, t.ucont_fecha_paso_hc, t.ucont_valoracion_ant,
t.ucont_evoluciones_ant, t.ucont_estamento, t.informe_key,
t.ucont_fecha_introd, t.cont_key, t.ucont_modificable, t.explo_compl_text from
'orion_dba'.uhd_contacto t
templ_oc_pks_g_secu_3_554_uhd_contacto
orion_clinic@g_secu:orion_dba.uhd_contacto select t.cont_uhd_key,
t.ctma_turno, t.epi_key, t.ctma_tipo_contacto, t.prof_key, t.usu_key,
t.motivo_contacto, t.anamnesis, t.explo_fisicas, t.explo_compl,
t.ucont_evolucionplan, t.is_historico, t.ucont_en_hc, t.ucont_contacto_1_2,
t.maac_key_tipocontacto, t.ucont_fecha_paso_hc, t.ucont_valoracion_ant,
t.ucont_evoluciones_ant, t.ucont_estamento, t.informe_key,
t.ucont_fecha_introd, t.cont_key, t.ucont_modificable, t.explo_compl_text from
'orion_dba'.uhd_contacto t
Curiously enough, the row size in the table definition is already 32761.
Thanks.