[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 14:04:54 UTC 2011


The few tables prior to this one that have varchar or varchar|varchar
pkeytype's seem to process fine.
Perhaps if the first column is an int, the rest are assumed to be as well.

On Tue, Nov 8, 2011 at 6:54 AM, Brady S Edwards <brady.s.edwards at seagate.com
> wrote:

>
> 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
>



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


More information about the Bucardo-general mailing list