GithubHelp home page GithubHelp logo

Comments (14)

avelanarius avatar avelanarius commented on June 2, 2024 3

The main difficulty in supporting collection types is supporting non-frozen types. In Scylla there are two types of collections/UDTs: frozen and non-frozen. When you update a frozen collection, its entire contents after the update are stored in the CDC log. On the other hand, you can partially update non-frozen collections (such as appending items to a list). In the CDC log, only the added/removed elements would be saved in such a case.

We (cc: @haaawk) have decided to not overcomplicate the generated Kafka message to accommodate those different operations in case of non-frozen collections (appending, removing, overwriting), especially since this is not what the Debezium model expects and most Sink Connectors would not support it. However, if we implemented support for postimages (#8 which we plan to do), a state of non-frozen collection/UDT after an update would be known (at the additional requirement that you have to enable postimages on your CDC table) - that way adding support for non-frozen collection types.

(You can read https://docs.scylladb.com/using-scylla/cdc/cdc-advanced-types/ for more info)

In the meantime, I have pushed (a very early) implementation of support of frozen collections: #12. To support post-images, we plan to implement a higher-level abstraction in scylla-cdc-java repo, that combines pre-images, delta and post-image rows and parses delta information of non-frozen collection updates.

from scylla-cdc-source-connector.

haaawk avatar haaawk commented on June 2, 2024 1

@avelanarius and @Lorak-mmk are working on support for frozen and non-frozen collection

from scylla-cdc-source-connector.

brbrown25 avatar brbrown25 commented on June 2, 2024

I’d be interested in assisting with this if no one else is.

from scylla-cdc-source-connector.

hartmut-co-uk avatar hartmut-co-uk commented on June 2, 2024

(apologies for issue title rename, wrong browser tab -> please ignore)

from scylla-cdc-source-connector.

hartmut-co-uk avatar hartmut-co-uk commented on June 2, 2024

Hi @avelanarius is there an ETA for post-image support?
Alternatively could the support of frozen collections #12 be completed and merged any time soon?

from scylla-cdc-source-connector.

hartmut-co-uk avatar hartmut-co-uk commented on June 2, 2024

To support post-images, we plan to implement a higher-level abstraction in scylla-cdc-java repo, that combines pre-images, delta and post-image rows and parses delta information of non-frozen collection updates.

@avelanarius is this already in the making, are you also looking for contributors?
Are there any dependencies on an upcoming Scylla release? (4.6+/5.0)

from scylla-cdc-source-connector.

jain-vandit avatar jain-vandit commented on June 2, 2024

@avelanarius @hartmut-co-uk
can we merge #12 to have support for collection type / UDT? Is there something blocking us to go ahead with this?

from scylla-cdc-source-connector.

hartmut-co-uk avatar hartmut-co-uk commented on June 2, 2024

I have done more code changes on my fork last week to accommodate using UDT with Avro, but haven't had time to test them yet.
I'll try to make time this week to progress this further.

from scylla-cdc-source-connector.

jain-vandit avatar jain-vandit commented on June 2, 2024

hi @hartmut-co-uk @avelanarius
can I create a fork out of #12 and use it? Did you do any testing for this or shall I do it?

from scylla-cdc-source-connector.

Lorak-mmk avatar Lorak-mmk commented on June 2, 2024

If I remember correctly #12 contains a performance problem - if you want to use non-merged version, then #21 should be better. It is based on #12 , supports non-frozen collections too, and doesn't have the performance problem I mentioned.

from scylla-cdc-source-connector.

hansh0801 avatar hansh0801 commented on June 2, 2024

track

from scylla-cdc-source-connector.

alonomri avatar alonomri commented on June 2, 2024

Hi, is there a plan to merge #21? we can really use this feature.

from scylla-cdc-source-connector.

arceushui avatar arceushui commented on June 2, 2024

+1. This is an important feature

from scylla-cdc-source-connector.

BruAPAHE avatar BruAPAHE commented on June 2, 2024

+1

from scylla-cdc-source-connector.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.