-
Notifications
You must be signed in to change notification settings - Fork 287
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
DM can't sync uppercase tables if forget to set case-sensitive: true
in task config
#5255
Comments
The root case is when tiflow/dm/dm/config/task_converters.go Line 102 in b15d639
inside Adjust, filter.New will modify the value of the pointer of BAList, so it's converted to lowercase tiflow/dm/dm/config/subtask.go Line 454 in b15d639
But when When DM-worker uses |
my expected behaviour for case sensitive: the case sensitivity of source should be decided by source's For
This issue doesn't satisfy B For
https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html Or we deprecate case sensitive in task configuration? |
more intuitive, and can handle cases when different source with different |
deprecate |
So the final expected behaviour is the case sensitivity of source should be decided by source's lower_case_table_names, user can't set it For allow list: DB.TBL -> replicated For allow list: DB.TBL -> replicated |
behaviours of typical versions:
|
the upgrading case is very complex, I'll list the available combination of config in different versions. To replicate DB.TBL in v2.0.7:
in v5.3.1
If we're going to use A: if we can upgrade the value of "case sensitive in source" stored in etcd, and for the lowercase allow-list in etcd, we upgrade the values by checking the upstream table names, no breaking compatibility(if user uses a consistent naming convention, i.e no mixing cases) |
/assign lance6716 |
introduced by pingcap/dm#2055 |
What did you do?
task config uses uppercase block-allow-list
start-task
What did you expect to see?
not sure what's the expected behaviour for test.TM_DATA 🤔
but v2.0.7 can replicate test.TM_DATA with above config.
What did you see instead?
test.TM_DATA is not replicated
Versions of the cluster
DM version (run
dmctl -V
ordm-worker -V
ordm-master -V
):(paste DM version here, and you must ensure versions of dmctl, DM-worker and DM-master are same)
Upstream MySQL/MariaDB server version:
(paste upstream MySQL/MariaDB server version here)
Downstream TiDB cluster version (execute
SELECT tidb_version();
in a MySQL client):(paste TiDB cluster version here)
How did you deploy DM: tiup or manually?
(leave TiUP or manually here)
Other interesting information (system version, hardware config, etc):
current status of DM cluster (execute
query-status <task-name>
in dmctl)(paste current status of DM cluster here)
The text was updated successfully, but these errors were encountered: