julien-duponchelle / julien-duponchelle/python-mysql-replication
Memory Error
- Dominant language
- Python
- Stars
- 2.4k
- Forks
- 690
- PR merge metrics
- No merged PRs in 30d
Description
May i know what are we receiving in __read_string ?
`Traceback (most recent call last):
File "run.py", line 97, in
main()
File "run.py", line 94, in main
streamer.run()
File "/usr/src/app/lib/streamer.py", line 137, in run
for row in binlog_event.rows:
File "/usr/local/lib/python3.6/site-packages/pymysqlreplication/row_event.py", line 429, in rows
self._fetch_rows()
File "/usr/local/lib/python3.6/site-packages/pymysqlreplication/row_event.py", line 424, in _fetch_rows
self.__rows.append(self._fetch_one_row())
File "/usr/local/lib/python3.6/site-packages/pymysqlreplication/row_event.py", line 515, in _fetch_one_row
row["after_values"] = self._read_column_data(self.columns_present_bitmap2)
File "/usr/local/lib/python3.6/site-packages/pymysqlreplication/row_event.py", line 136, in _read_column_data
values[name] = self.__read_string(column.length_size, column)
File "/usr/local/lib/python3.6/site-packages/pymysqlreplication/row_event.py", line 220, in __read_string
string = string.decode(charset_to_encoding(column.character_set_name))
MemoryError`
Contributor guide
Research direction
Start with lib/streamer.py at line 137 and the traceback path in pymysqlreplication/row_event.py, especially __read_string at line 220. Reproduce the MemoryError with the reported binlog input and inspect the value and charset metadata reaching that call. Done means the cause is confirmed and a narrowly scoped fix or regression test is added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mysql, python
- Domain
- database
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100