[Bucardo-general] Bucardo version 4.4.6 on Centos 4.7, Postgres 9.0.2 appears to be broken working on a very large bucardo_delta file.

Brady S Edwards brady.s.edwards at seagate.com
Tue Nov 8 13:54:22 UTC 2011


Table: public.devices  DB: cqlco  PK: test_id|serial_number (int8|varchar)
  Belongs to herds: cqlco_sg
  Belongs to syncs: sync_cqlco_sg
    analyze_after_copy   = 1
    cdate                = 2011-05-17 06:25:19.705636-06
    customselect         = NULL
    db                   = cqlco
    delta_bypass         = 0
    delta_bypass_count   = NULL
    delta_bypass_min     = NULL
    delta_bypass_percent = NULL
    ghost                = 0
    has_delta            = 0
    id                   = 23
    makedelta            = NULL
    ping                 = NULL
    pk                   = test_id|serial_number (int8|varchar)
    pkey                 = test_id|serial_number
    pkeytype             = int8|varchar
    qpkey                = test_id|serial_number
    rebuild_index        = 0
    reltype              = table
    schemaname           = public
    standard_conflict    = source
    strict_checking      = 1
    tablename            = devices

The test_id column is a bigint in the database, but is listed as an int8,
smallint's are listed as int2. Is that a problem.

Querying the goat table says the same thing.

>From looking at the log file, it looks like it
On Mon, Nov 7, 2011 at 8:37 PM, Greg Sabino Mullane <greg at endpoint.com>wrote:

> On Mon, Nov 07, 2011 at 04:29:36PM -0700, Brady S Edwards wrote:
> > Everything was fine until a large update ~300,000 rows.
> > Since then, seems like Bucardo can't quite process all of the rows before
> > encountering an error and rolling everything back.
>
> The error has nothing to do with the number of rows, but the failure
> to quote a non-numeric field:
>
> > LINE 1: ...vices WHERE (test_id,serial_number) IN
> > ((8526717,S2U4J9KBA0...
>
> That should be ((8526717,'S2U4J9KBA0'...
>
> Could be a bug, but the first thing to do is to check what Bucardo
> thinks is the column type for the serial_number column in that
> table. Try from the command line:
>
> bucardo_ctl list table foobar -verbose -verbose
>
> There should be a pkeytype line there. If that doesn't work, query
> the bucardo database directly with:
>
> SELECT * FROM goat WHERE tablename = 'foobar';
>
> Either way, it should be reporting the first as an int, and the second
> as something else, probably text. If it's an int, change it and see if
> that fixes it. If it's already an int, let us know.
>
> --
> Greg Sabino Mullane greg at endpoint.com
> End Point Corporation
> PGP Key: 0x14964AC8
>



-- 
Brady Edwards
(720) 684-2984
Seagate Technology
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20111108/b63f69e2/attachment.html 


More information about the Bucardo-general mailing list