-
Notifications
You must be signed in to change notification settings - Fork 51
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
supportsTransactionalSchema cause metadata sync problem in multi jvms #509
Comments
after more analyze, i found that if we invoke after Commit in afterRollback which not supportsTransactionalSchema. this will case the data in metadata table was rollback, but the schema created, then no change notification and other node cannot create schema anymore. |
I am not fully understanding what database you are running on? |
we use mariadb, and i found the root cause is that when we rollback, the data in V_log will rollback too, and we even send the notification but cannot load change anymore. |
Ok, ddl statments are not transactional on Are you creating schema elements as part of a bigger transaction, or the failure/rollback happens because of the ddl/schema change statement itself? Are you creating the schema using Sqlg's topology api? |
actually most of the time we will not create schema user sqlg api, but we will create table use sqlg api. |
Ok, I'd have to investigate it further,
MariaDb does not support transactional schema, so Can you explain this more, where are you invoking |
In Topology.java line 539
|
when we add graph change notify support by kafka for database not postgre, we found that metadata of different nodes is not the same in multi jvm nodes senario.
we implement notifyChange by send kafka message, and all nodes listen the same topic to recieve change and notifyFromJson.
but we found TestMultipleThreadMultipleJvm.java we reproduce the problem.
and the root cause is the code in Topology.java as below:
when the database not supportsTransactionalSchema, this code indicate that use commit instead of rollback, and this will cause the change is not be send.
The text was updated successfully, but these errors were encountered: