Skip to content

Missing Updates with Timestamp+incrementing mode in Postgres #172

@salemn

Description

@salemn

Hello Everybody,

i'm deploying kafka-connect, in timestamp+incrementing mode, on our platform in order to get data transferred from our main database to secondary one. I'm using source and sink connectors. Both databases are Postgres databases

I'm facing a missing lines issues. the case is not frequent but happens from time to time.

Here is the situation:

postgres=# CREATE TABLE foo(id serial primary key, updated timestamp without time zone);
CREATE TABLE
postgres=# CREATE TRIGGER update_updated_column
postgres-#   BEFORE INSERT OR UPDATE
postgres-#   ON foo
postgres-#   FOR EACH ROW
postgres-#   EXECUTE PROCEDURE update_updated_column();
--
SESSION 1:
postgres=# begin;
BEGIN
postgres=# INSERT INTO foo(updated) VALUES (null);
INSERT 0 1
postgres=# SELECT * FROM foo;
 id |          updated           
----+----------------------------
  1 | 2016-12-01 08:53:54.099995
(1 ligne)
---

SESSION 2 :
postgres=# BEGIN;
BEGIN
postgres=# INSERT INTO foo(updated) VALUES (null);
INSERT 0 1
postgres=# SELECT * FROM foo;
 id |          updated           
----+----------------------------
  3 | 2016-12-01 08:54:46.420757
(1 ligne)

postgres=# COMMIT;
COMMIT
postgres=# SELECT * FROM foo;
 id |          updated           
----+----------------------------
  3 | 2016-12-01 08:54:46.420757
(1 ligne)
----

SESSION 1 :
postgres=# COMMIT;
COMMIT
postgres=# SELECT * FROM foo;
 id |          updated           
----+----------------------------
  1 | 2016-12-01 08:53:54.099995
  3 | 2016-12-01 08:54:46.420757
(2 lignes)

Line 1 is missing in my target database.

Is there any way to use to source connector to avoird such situation?

Best Regards
Naoufel

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions