From: | Yason TR <tryasontr(at)gmail(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: JDBC: logical replication and LSN feedback |
Date: | 2017-09-21 15:31:43 |
Message-ID: | CANcxKGKn6Yt=0iZgTn80=GgsZE1dpg4+XM9v1nxDaELa-SCvXA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Hi Dave,
I am currently on version 9.5.8.
About setAppliedLSN vs. setFlushedLSN: I'll try to find out which one
is for logical.
Thank you. Kind regards,
Yason TR
On Thu, Sep 21, 2017 at 5:28 PM, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
>
>
>
>
> On 21 September 2017 at 06:50, Yason TR <tryasontr(at)gmail(dot)com> wrote:
>>
>> Hi,
>>
>> This is a follow-up from my previous question
>>
>> (https://www.postgresql.org/message-id/trinity-903b9111-dde7-4901-8130-86924336c456-1505912478894%403c-app-mailcom-bs15)
>>
>> I created a git to guide my question, see
>> https://github.com/yasontr/pg-jdbc-logical-decoding.
>>
>> Please follow the install steps on this page. After this, you can run
>> the application with Maven. This application listens to a replication
>> slot. See
>> https://github.com/yasontr/pg-jdbc-logical-decoding/blob/master/src/main/java/yasontr/pg_jdbc_logical_decoding/Main.java
>> for the code of the application.
>>
>> The problem I am seeing can be reproduced as following:
>>
>> 1) start the application
>> 2) insert a dummy row to the test table: insert into test(key, value)
>> values (1, 'test');
>> 3) now you see in the console:
>>
>> event:
>> {"change":[{"kind":"insert","schema":"public","table":"test","columnnames":["key","value"],"columntypes":["int4","text"],"columnvalues":[1,"test"]}]}
>> last received LSN: LSN{1A/AD2EEB0}
>>
>> 4) close the application
>> 5) start the application again
>> 6) now you see again the same event again in the console:
>>
>> event:
>> {"change":[{"kind":"insert","schema":"public","table":"test","columnnames":["key","value"],"columntypes":["int4","text"],"columnvalues":[1,"test"]}]}
>> last received LSN: LSN{1A/AD2EEB0}
>>
>> As you can see in the code, I am confirming the event with its LSN:
>>
>> stream.setAppliedLSN(stream.getLastReceiveLSN());
>> stream.setFlushedLSN(stream.getLastReceiveLSN());
>> stream.forceUpdateStatus();
>
>
> Pretty sure you only need one of them. I have to check again which one. One
> if for binary replication and the other is for logical.
>
> as for why you are getting the event twice. I don't know but am equally
> interested in finding out why.
>
> What version of postgres is this on ?
>
>
> Dave Cramer
>
> davec(at)postgresintl(dot)com
> www.postgresintl.com
From | Date | Subject | |
---|---|---|---|
Next Message | Vladimir Sitnikov | 2017-09-21 16:05:53 | Re: Reading and writing off-heap data |
Previous Message | Dave Cramer | 2017-09-21 15:31:23 | Re: Reading and writing off-heap data |