-
Notifications
You must be signed in to change notification settings - Fork 1
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
PLAT-6952 Test all connector options #23
Conversation
368c209
to
23cf6cb
Compare
Looks like the |
I found several more options that are not tested here
|
didn't include them because we don't have any converters or post-processors to test |
Hmm… |
Converter should implement CustomConverter interface and could be used. We don't have pre-defined list of converters but customer could write own custom connector and configure it like described here https://debezium.io/documentation/reference/stable/development/converters.html#configuring-and-using-converters. Some other clients has pre-defined list of converters like TinyIntOneToBooleanConverter in Mysql. |
@@ -0,0 +1,598 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> |
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.
Can you use the Eclipse XML profile?
It will allow me to use the same settings in VScode
https://stackoverflow.com/a/76326075
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.
done, could you check if works for you?
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.
Yep, it works.
Can you also add this to the .vscode/settings.json
{
"java.configuration.updateBuildConfiguration": "interactive",
"files.watcherExclude": {
"**/target": true
},
"java.format.enabled": true,
"java.format.settings.url": "./codestyle/eclipse-java-google-style.xml",
"[java]": {
"editor.defaultFormatter": "redhat.java"
}
}
import static io.debezium.config.CommonConnectorConfig.DATABASE_CONFIG_PREFIX; | ||
import static io.debezium.config.CommonConnectorConfig.DRIVER_CONFIG_PREFIX; | ||
|
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.
Looks like this file is just reformatted.
Can we perform formatting in another PR?
It will make review process easier :)
} | ||
} | ||
} | ||
} |
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.
nit: add empty line at the end of file
assertConnectorIsRunning(); | ||
|
||
try { | ||
conn.execute("INSERT INTO `song` VALUES ('test1', 'test1')"); |
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.
Something that we need to consider for the future.
Tests that are using the same tables may conflict. Need to find a way to clear info. Probably - delete everything row by row and perform a snapshot after the test.
assertThat(mBeanServer.getAttribute(objectName, "TotalNumberOfEventsSeen")).isEqualTo( | ||
4L);//todo fix should be 2 (create custom metrics SingleStoreDBConnectorTask?) |
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.
Can you file a task for this?
assertThat(mBeanServer.getAttribute(objectName, "TotalNumberOfUpdateEventsSeen")).isEqualTo(0L); | ||
assertThat(mBeanServer.getAttribute(objectName, "TotalNumberOfDeleteEventsSeen")).isEqualTo(0L); |
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.
What about create and read events?
protected void waitForStreamingToStart() throws InterruptedException { | ||
waitForStreamingRunning("singlestoredb", "singlestore_topic"); | ||
} |
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.
nice!
We can reuse it in other tests
aaf0183
to
d48d995
Compare
Excluded:
snapshot.include.collection.list - excluded(single table currently used)
signal.data.collection excluded (pause/stop incremental snapshot is not supported)
signal.poll.interval.ms excluded
signal.enabled.channels excluded
message.key.columns - excluded(internald used)
snapshot.select.statement.overrides - excluded(observe used)
snapshot.scan.all.columns.force excluded(single table currently used)
snapshot.tables.order.by.row.count excluded(single table currently used)
Unable to alter schema during observe, but left these options as theoretically possible:
inconsistent.schema.handling.mode
event.processing.failure.handling.mode
General options(non functional unit tests coverage):
max.batch.size
max.queue.size
poll.interval.ms
max.queue.size.in.bytes
retriable.restart.connector.wait.ms
errors.max.retries
connect.timeout.ms
topic.cache.size
sourceinfo.struct.maker