ok-dmr / python-mariadb-replication Goto Github PK
View Code? Open in Web Editor NEWPatched version of noplay/python-mysql-replication for MariaDB and Python3
Patched version of noplay/python-mysql-replication for MariaDB and Python3
Hello,
Could you give a few pointers about how to investigate and potentially solve this problem?
So, MariaDB 10.4. UpdateRowsEvent (and similar data modification events) missing the actual data.
type: <class 'pymysqlreplication.row_event.UpdateRowsEvent'>
rows: []
binlogevent.__dict__:
{'packet': <pymysqlreplication.packet.BinLogPacketWrapper object at 0x7f2f6fe75d60>, 'table_map': {86: <pymysqlreplication.table.Table object at 0x7f2f6fe8ac10>, 114: <pymysqlreplication.table.Table object at 0x7f2f6fe75610>, 89: <pymysqlreplication.table.Table object at 0x7f2f6fe75160>, 146: <pymysqlreplication.table.Table object at 0x7f2f6fe93640>}, 'event_type': 24, 'timestamp': 1583095502, 'event_size': 67, '_ctl_connection': <pymysql.connections.Connection object at 0x7f2f705e2370>, '_fail_on_table_metadata_unavailable': False, '_processed': True, 'complete': False, '_RowsEvent__rows': [], '_RowsEvent__only_tables': None, '_RowsEvent__ignored_tables': None, '_RowsEvent__only_schemas': None, '_RowsEvent__ignored_schemas': None, 'table_id': 114, 'primary_key': '', 'schema': 'dbispconfig', 'table': 'sys_cron', 'flags': 1, 'number_of_columns': 4, 'columns': [], 'columns_present_bitmap': b'\xff', 'columns_present_bitmap2': b'\xff'}
binlogevent.packet.__dict__:
{'read_bytes': 11, '_BinLogPacketWrapper__data_buffer': b'', 'packet': <pymysql.protocol.MysqlPacket object at 0x7f2f6fe75d30>, 'charset': 'utf8', 'timestamp': 1583095502, 'event_type': 24, 'server_id': 1, 'event_size': 90, 'log_pos': 10349686, 'flags': 0, 'event': <pymysqlreplication.row_event.UpdateRowsEvent object at 0x7f2f6fe75f70>}
packet.get_all_data():
b'\x00\xce\x1e\\^\x18\x01\x00\x00\x00Z\x00\x00\x00v\xec\x9d\x00\x00\x00r\x00\x00\x00\x00\x00\x01\x00\x04\xff\xff\xf0\x0fcronjob_cleanup\x99\xa5\xc3[B\x99\xa5\xc3\\\x80\x01\xf0\x0fcronjob_cleanup\x99\xa5\xc3[B\x99\xa5\xc3\\\x80\x00m\xfaVC'
dump():
=== UpdateRowsEvent ===
Date: 2020-03-01T21:45:02
Log position: 10349686
Event size: 67
Read bytes: 11
Table: dbispconfig.sys_cron
Affected columns: 4
Changed rows: 0
Affected columns: 4
Values:
I've tried rebasing on current noplay/master, but no luck. Using MySQL 8 works.
mysqlbinlog shows the values (so the binlog format is ROW, and the binlog image format is full)
(a different event/tx, but the same table):
# at 9938480
#200301 21:25:01 server id 1 end_log_pos 9938570 CRC32 0x8761fdb3 Update_rows: table id 114 flags: STMT_END_F
'/*!*/;
### UPDATE `dbispconfig`.`sys_cron`
### WHERE
### @1='cronjob_cleanup'
### @2='2020-03-01 21:25:01'
### @3='2020-03-01 21:30:00'
### @4=1
### SET
### @1='cronjob_cleanup'
### @2='2020-03-01 21:25:01'
### @3='2020-03-01 21:30:00'
### @4=0
# Number of rows: 1
# at 9938570
#200301 21:25:01 server id 1 end_log_pos 9938601 CRC32 0xa7012403 Xid = 7282
COMMIT/*!*/;
Thank you in advance!
Hello, wondering why not submit the support for mariadb's GTID to the upstream repo as a PR?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.