Wed Dec 10 10:04:04 PST 2008
- Previous message: [Slony1-general] How to repair an (almost) broken cascading replication ?
- Next message: [Slony1-general] strange setAddTable_int error
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi All;
I've setup a replicaton set in part by running the script listing below (The
variables are defined in the referenced slony.setup.env file):
Once I ran all the other bits replication started ok, and seems to be largely
working however I see these messages in the logs related to the
esmasemailreports table:
# Initially it looked fine and I have several entries like this in the slon.log
on the slave node:
2008-12-09 21:01:39 MST DEBUG2 remoteWorkerThread_1: all tables for set 1
found on subscriber
2008-12-09 21:01:39 MST DEBUG2 remoteWorkerThread_1: copy table
"public"."esmasemailreports"
2008-12-09 21:01:40 MST DEBUG3 remoteWorkerThread_1: table
"public"."esmasemailreports" does not require Slony-I serial key
2008-12-09 21:01:41 MST DEBUG2 syncThread: new sl_action_seq 1 - SYNC 59
2008-12-09 21:01:41 MST DEBUG2 remoteListenThread_1: queue event 1,4452 SYNC
2008-12-09 21:01:41 MST DEBUG2 remoteWorkerThread_1: Begin COPY of table
"public"."esmasemailreports"
2008-12-09 21:01:41 MST DEBUG2 remoteWorkerThread_1: nodeon73 is 0
NOTICE: truncate of "public"."esmasemailreports" succeeded
2008-12-09 21:01:41 MST DEBUG2 remoteWorkerThread_1: 1684 bytes copied for
table "public"."esmasemailreports"
2008-12-09 21:01:41 MST DEBUG2 remoteWorkerThread_1: 2.496 seconds to copy
table "public"."esmasemailreports"
However I also see errors like this later in the log:
2008-12-10 08:46:12 MST DEBUG2 remoteWorkerThread_1: all tables for set 1
found on subscriber
2008-12-10 08:46:12 MST DEBUG2 remoteWorkerThread_1: copy table
"public"."esmasemailreports"
2008-12-10 08:46:12 MST DEBUG2 localListenThread: Received event 2,4169 SYNC
2008-12-10 08:46:13 MST DEBUG3 remoteWorkerThread_1: table
"public"."esmasemailreports" does not require Slony-I serial key
2008-12-10 08:46:14 MST DEBUG2 remoteListenThread_1: queue event 1,18169 SYNC
2008-12-10 08:46:14 MST ERROR remoteWorkerThread_1: "select
"_reporting_rep".setAddTable_int(1, 1, '"public"."esmasemailreports"',
'esmasemailreports_primary_key', 'public.esmasemailreports'); "
PGRES_FATAL_ERROR ERROR: Slony-I: setAddTable_int: table id 1 has already
been assigned!
2008-12-10 08:46:14 MST WARN remoteWorkerThread_1: data copy for set 1
failed - sleep 60 seconds
The table does have a PK - here's a describe:
# \d esmasemailreports
Table "public.esmasemailreports"
Column | Type |
Modifiers
--------------+-----------------------------+----------------------------------------------------------------------
reportname | character varying |
toemail | character varying |
reportrange | character varying |
frequency | character varying |
lastrun | date |
todate | date |
reportid | integer | not null default
nextval('esmasemailreports_reportid_seq'::regclass)
reportformat | character varying |
started | timestamp without time zone |
groupby | character varying |
programname | character varying |
site | character varying |
affid | character varying |
priority | integer | not null default 99
Indexes:
"esmasemailreports_primary_key" PRIMARY KEY, btree (reportid)
Triggers:
_reporting_rep_logtrigger_1 AFTER INSERT OR DELETE OR UPDATE ON
esmasemailreports FOR EACH ROW EXECUTE PROCEDURE
_reporting_rep.logtrigger('_reporting_rep', '1', 'vvvvvvkvvvvvvv')
Also SLONY does have the table already inserted into sl_table on both the
master and the slave
Here's the master listing:
# select * from sl_table where tab_relname = 'esmasemailreports';
-[ RECORD 1 ]------------------------------
tab_id | 1
tab_reloid | 155141059
tab_relname | esmasemailreports
tab_nspname | public
tab_set | 1
tab_idxname | esmasemailreports_primary_key
tab_altered | t
tab_comment | public.esmasemailreports
and here's the slave listing:
# select * from sl_table where tab_relname = 'esmasemailreports';
-[ RECORD 1 ]------------------------------
tab_id | 1
tab_reloid | 669891954
tab_relname | esmasemailreports
tab_nspname | public
tab_set | 1
tab_idxname | esmasemailreports_primary_key
tab_altered | t
tab_comment | public.esmasemailreports
Thanks in advance for any input, suggestions, etc...
============================
setup script listing
============================
#!/bin/bash
. slony.setup.env
slonik <<_EOF_
cluster name = $CLUSTERNAME;
node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
port=$MASTERPORT user=$REPUSER password=none';
node 2 admin conninfo = 'dbname=$SLAVEDBNAME host=$SLAVEHOST port=$SLAVEPORT
user=$REPUSER password=none';
init cluster ( id=1, comment = 'Master Node');
create set ( id=1, origin=1, comment = 'ESMAS REPLICATION SET' );
set add table ( set id=1, origin=1, id=1, fully qualified name =
'public.esmasemailreports');
set add table ( set id=1, origin=1, id=2, fully qualified name =
'public.customersetting');
set add table ( set id=1, origin=1, id=3, fully qualified name = 'public.dma');
set add table ( set id=1, origin=1, id=4, fully qualified name =
'public.summary');
set add table ( set id=1, origin=1, id=5, fully qualified name =
'public.qmxprofiles');
set add table ( set id=1, origin=1, id=6, fully qualified name =
'public.logsprocessed');
set add table ( set id=1, origin=1, id=7, fully qualified name =
'public.internalsummarystats');
set add table ( set id=1, origin=1, id=8, fully qualified name =
'public.internaloscpustats');
set add table ( set id=1, origin=1, id=9, fully qualified name =
'public.internalcpu');
set add table ( set id=1, origin=1, id=10, fully qualified name =
'public.internalbrowser');
set add table ( set id=1, origin=1, id=11, fully qualified name =
'public.esmascrossover');
set add table ( set id=1, origin=1, id=12, fully qualified name =
'public.esmasqmxurl');
set add table ( set id=1, origin=1, id=13, fully qualified name =
'public.esmasshows');
set add table ( set id=1, origin=1, id=14, fully qualified name =
'public.esmasstatus');
set add table ( set id=1, origin=1, id=15, fully qualified name =
'public.lgxuser');
set add table ( set id=1, origin=1, id=16, fully qualified name =
'public.esmasepisodestats');
set add table ( set id=1, origin=1, id=17, fully qualified name =
'public.esmaslocstats');
set add table ( set id=1, origin=1, id=18, fully qualified name =
'public.esmassites');
set add table ( set id=1, origin=1, id=19, fully qualified name =
'public.esmasuniqueid');
store node (id=2, comment = 'Slave Node 1');
store path (server = 1, client = 2, conninfo='dbname=$MASTERDBNAME
host=$MASTERHOST port=$MASTERPORT user=$REPUSER password=none');
store path (server = 2, client = 1, conninfo='dbname=$SLAVEDBNAME
host=$SLAVEHOST port=$SLAVEPORT user=$REPUSER password=none');
#store listen (origin=1, provider = 1, receiver =2);
#store listen (origin=2, provider = 2, receiver =1);
_EOF_
- Previous message: [Slony1-general] How to repair an (almost) broken cascading replication ?
- Next message: [Slony1-general] strange setAddTable_int error
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list