Bug #69028 Not-So-Multithreaded-Slave
Submitted: 22 Apr 2013 0:35 Modified: 22 Apr 2013 7:49
Reporter: Domas Mituzas Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.6.11 OS:Any
Assigned to: CPU Architecture:Any

[22 Apr 2013 0:35] Domas Mituzas
Description:
MultiThreadedSlave uses my_calc_hash which is a very poor hashing function to map threads to workers. 

That would result in e.g. "db100001" and "db1000002" and "db1000003" all mapped to single worker thread, with not much of concurrency left. 

I also wrote about it a bit at http://dom.as/2013/04/22/hash-of-shame/

How to repeat:
Run MTS on a stream which has lots of databases sharing a common prefix. 

Suggested fix:
Use a real hashing function. my_calc_hash is a joke.
[22 Apr 2013 2:06] Domas Mituzas
I may be wrong here, apparently hashing function input for me is always empty string.
[22 Apr 2013 7:49] Domas Mituzas
will close until I know what exactly goes south here