- 
                Notifications
    
You must be signed in to change notification settings  - Fork 3.7k
 
[fix][io] Upgrade Debezium connector version to 2.6.1.Final #23078
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
        
          
                ...n/src/test/java/org/apache/pulsar/tests/integration/containers/DebeziumMongoDbContainer.java
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...ion/src/test/java/org/apache/pulsar/tests/integration/containers/DebeziumMySQLContainer.java
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...rc/test/java/org/apache/pulsar/tests/integration/containers/DebeziumPostgreSqlContainer.java
              
                Outdated
          
            Show resolved
            Hide resolved
        
      | <opensearch.version>1.2.4</opensearch.version> | ||
| <elasticsearch-java.version>8.12.1</elasticsearch-java.version> | ||
| <debezium.version>1.9.7.Final</debezium.version> | ||
| <debezium.version>2.6.1.Final</debezium.version> | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to https://debezium.io/ , latest stable Debezium release series is 2.7.x . Could we upgrade directly to 2.7.x instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From 2.6.2.Final onwards the postgres tester is not working. The consumer is expecting a message event just after the insertion into the table but the source is taking some time to process the event. I have tested this locally as well.
I think it is due to PostgreSQL offset flush race condition. More details are here:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From 2.6.2.Final onwards the postgres tester is not working.
DBZ-7816 is fixed in 2.6.2.Final. Perhaps something needs to be adjusted in the Pulsar Debezium integration?
| @Slf4j | ||
| @ThreadSafe | ||
| public final class PulsarDatabaseHistory extends AbstractDatabaseHistory { | ||
| public final class PulsarDatabaseHistory extends AbstractSchemaHistory { | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this change needed? I don't know Debezium very well, but it seems that "database history" and "schema history" are separate concepts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be more consistent naming if PulsarDatabaseHistory is renamed to PulsarSchemaHistory. For example, in Debezium, KafkaDatabaseHistory was renamed to KafkaSchemaHistory.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They renamed DatabaseHistory to SchemaHistory in 2.0 version of debezium. See here
| 
           I'd recommend running tests for this PR in your own fork so that you get CI feedback without consuming apache/pulsar CI resources. 
  | 
    
| 
           The PR checks passed on my fork for 2.6.1.Final. Check here.  | 
    
| 
           Since upgrading Debezium will be a breaking change. We need to document the upgrade notes for our users. What is the upgrade path and instructions for existing installations? Is it possible to upgrade an existing installation without loosing events etc.?  | 
    
| 
           Here is the doc for the breaking changes.  | 
    
| 
           Superseded by #24712  | 
    
Fixes #22626
Motivation
To Upgrade debezium version to 2.6.1.Final for all source connectors.
It will address this comment as well.
Modifications
Upgraded debezium version from 1.9.7.Final to 2.6.1.Final all debezium source connectors which includes mysql, postgresql, mongodb, mssql & oracle.
Verifying this change
(example:)
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
Check the box below or label this PR directly (if you have committer privilege).
Need to update docs?
docdoc-requireddoc-not-neededdoc-complete