Skip to content
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

Upgrading Docker Compose Plugin breaks build #149

Open
cer opened this issue Aug 23, 2023 · 0 comments
Open

Upgrading Docker Compose Plugin breaks build #149

cer opened this issue Aug 23, 2023 · 0 comments

Comments

@cer
Copy link
Contributor

cer commented Aug 23, 2023

dfae8b1 reverted by a3f1e0e

See failed build: https://app.circleci.com/pipelines/github/eventuate-foundation/eventuate-cdc/200/workflows/66dc6724-8d80-4ec2-8d3f-94d291a62984

Specifically: https://app.circleci.com/pipelines/github/eventuate-foundation/eventuate-cdc/200/workflows/66dc6724-8d80-4ec2-8d3f-94d291a62984/jobs/3605

This script is stopping/starting containers:

startContainer mysql
testMysqlMessageColumnsReordering
restartContainer mysql
testMysqlMessageTableRecreation
stopContainer mysql

Previously the containers were removed, now they are stopped/started. Unclear why.

As a result, MySqlBinlogClient is processing events (e.g. TABLE_MAP) that occurs before the schema was changed. As a result, the column ordering is no longer correct since the metadata query retrieves the current metadata - not what exists at the time of the event.

10:04:42.338 [blc-localhost:3306] INFO  i.e.l.m.binlog.ColumnOrderExtractor - Table io.eventuate.common.jdbc.SchemaAndTable@4c242629[schema=eventuate,tableName=message] has these columns {creation_time=5, headers=2, payload=7, message_partition=4, destination=6, id=1, published=3}
10:04:42.340 [blc-localhost:3306] ERROR i.e.l.m.binlog.MySqlBinaryLogClient - Stopping due to exception
java.lang.IllegalArgumentException: Unexpected type class [B of column published, should be int or stringified int
	at io.eventuate.local.common.BinlogEntry.getBooleanColumn(BinlogEntry.java:19)
	at io.eventuate.tram.cdc.connector.BinlogEntryToMessageConverter.convert(BinlogEntryToMessageConverter.java:24)
	at io.eventuate.local.common.BinlogEntryHandler.publish(BinlogEntryHandler.java:37)
	at io.eventuate.local.mysql.binlog.MySqlBinaryLogClient.publish(MySqlBinaryLogClient.java:348)
	at io.eventuate.local.mysql.binlog.MySqlBinaryLogClient.lambda$handleWriteRowsEvent$5(MySqlBinaryLogClient.java:331)

Action items:

  • Investigate plugin behavior. removeContainers = project.ext.removeContainers vs. removeContainers = project.ext.removeContainers.toBoolean()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant