On Mon, Aug 8, 2016 at 12:37 PM, Adrian Klaver <adrian.kla...@aklaver.com>
wrote:

> On 08/08/2016 09:28 AM, Ioana Danes wrote:
>
>>
>>
>> On Mon, Aug 8, 2016 at 12:19 PM, Adrian Klaver
>> <adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>> wrote:
>>
>>     On 08/08/2016 09:11 AM, Ioana Danes wrote:
>>
>>         Hi,
>>
>>         I suspect I am having a case of data corruption. Here are the
>>         details:
>>
>>         I am running postgres 9.4.8:
>>
>>         postgresql94-9.4.8-1PGDG.rhel7.x86_64
>>         postgresql94-contrib-9.4.8-1PGDG.rhel7.x86_64
>>         postgresql94-libs-9.4.8-1PGDG.rhel7.x86_64
>>         postgresql94-server-9.4.8-1PGDG.rhel7.x86_64
>>
>>         on CentOS Linux release 7.2.1511 (Core)
>>
>>         This is happening in a production environment but luckily on the
>>         reporting database.
>>         I have a cluster of 3 databases, db1 and db2 are masters and
>>         replicate
>>         between each other and also replicate to db3 (db1 <-> db2, db1
>>         -> db3,
>>         db2 -> db3).
>>         For replication I am using Bucardo.
>>
>>
>>     I would say this is more a question for the Burcardo list:
>>
>>     https://mail.endcrypt.com/mailman/listinfo/bucardo-general
>>     <https://mail.endcrypt.com/mailman/listinfo/bucardo-general>
>>
>>     I am just not seeing that replicating two masters on to a single
>>     database is going to end well.
>>
>>
>> Only one master is active at one time the other one is in stand by that
>> is a topic for another discussion but in our case that works well.
>>
>> That was my first assumption, that it is a kind of a race condition or a
>> bug on replication but I quickly ruled that out because that does not
>> explain why when I filtered the table by transactionid = 75315815 it
>> shows one record with transactionid 75315811...
>>
>> select gameplayid, transactionid, encodedplay from abrazo.matchgameplay
>> where transactionid in (75315815) order by transactionid;;
>>  gameplayid | transactionid | encodedplay
>> ------------+---------------+--------------
>>   160019271 |      75315815 | mix:9,0,9
>>   160019269 |      75315815 | mix:9,8,9
>>   160019267 |      75315815 | mix:9,2,2
>>   160019265 |      75315815 | mix:2,2,8
>>   160019263 |      *75315811 *| backup:1,9,1
>>   160019261 |      75315815 | backup:2,0,9
>>
>> So I don't think it is a replication issue...
>>
>>
> Other that, if I am following correctly, it is on the database(db3) being
> replicated to. The only way db3 is getting its data is through replication,
> is that correct?. On the master databases the data is correct.
>
> OK, let's assume that what you're saying is correct and the replication
has a bug, or corruption or whatever that is and the record gets created
with transactionid = 75315811. Bucardo replication is trigger based and it
is using a copy command to insert the new records into the replicated
database.

Then how can I explain that my query select gameplayid, transactionid,
encodedplay from abrazo.matchgameplay where transactionid in (75315815)
order by transactionid; returns me a record with transactionid 75315811???

Thanks,
ioana



> --
> Adrian Klaver
> adrian.kla...@aklaver.com
>

Reply via email to