{"action":"opened","issue":{"url":"https://api.github.com/repos/facebook/mysql-5.6/issues/482","repository_url":"https://api.github.com/repos/facebook/mysql-5.6","labels_url":"https://api.github.com/repos/facebook/mysql-5.6/issues/482/labels{/name}","comments_url":"https://api.github.com/repos/facebook/mysql-5.6/issues/482/comments","events_url":"https://api.github.com/repos/facebook/mysql-5.6/issues/482/events","html_url":"https://github.com/facebook/mysql-5.6/issues/482","id":196740957,"number":482,"title":"incorrect duplicate key error from sysbench read-write","user":{"login":"mdcallag","id":1641037,"avatar_url":"https://avatars.githubusercontent.com/u/1641037?v=3","gravatar_id":"","url":"https://api.github.com/users/mdcallag","html_url":"https://github.com/mdcallag","followers_url":"https://api.github.com/users/mdcallag/followers","following_url":"https://api.github.com/users/mdcallag/following{/other_user}","gists_url":"https://api.github.com/users/mdcallag/gists{/gist_id}","starred_url":"https://api.github.com/users/mdcallag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdcallag/subscriptions","organizations_url":"https://api.github.com/users/mdcallag/orgs","repos_url":"https://api.github.com/users/mdcallag/repos","events_url":"https://api.github.com/users/mdcallag/events{/privacy}","received_events_url":"https://api.github.com/users/mdcallag/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-12-20T18:09:10Z","updated_at":"2016-12-20T18:09:10Z","closed_at":null,"body":"tl;dr - I am getting a dup key error from sysbench with MyRocks and I don't think I should be getting it.\r\n\r\nI have been running a few sysbench tests with all combinations of the following options (or option groups). There are 4 option groups and each is off or on, so there are 16 combinations:\r\n* rocksdb_disable_2pc\r\n* concurrent memtable -  rocksdb_allow_concurrent_memtable_write, rocksdb_enable_write_thread_adaptive_yield\r\n* binlog_order_commits\r\n* sync_binlog\r\n\r\nFor InnoDB I tested 4 configurations, the cross product of binlog_order_commits and sync_binlog.\r\nI used a MyRocks build from November 21 and 8 tables with 1M rows/table for sysbench. The sysbench client was run for 5 minutes at these concurrency levels: 1 2 4 8 16 24 32 40 48 64 80 96 128. The test sequence is prepare, update-only, read-write, insert-only. For 2 of the 16 MyRocks configurations I get a dup key error on the insert during the read-write test. This doesn't occur for any of the 4 InnoDB configurations. I repeated the result (errors in the 2 configs) with sysbench running for 10 minutes at each level of concurrency and these concurrency levels: 1 8 32 64 128 256 512 1024. There is no error for 14 of the 16 MyRocks configs and there is no error for InnoDB so I doubt this is an InnoDB bug.\r\n\r\nThe 2 configurations for which I get the error are: 2pc enabled, concurrent memtable enabled, binlog_order_commits disabled and sync_binlog enabled/disabled. The failure only occurs at high concurrency -- 64 or more clients on server with 48 cores after HT was enabled.\r\n\r\nThe smallest reproduction test is:\r\n```\r\nnsecs=$(( 3600 * 24 )); nt=64; ./sysbench --test=tests/db/oltp.lua --db-driver=mysql --mysql-engine-trx=yes --mysql-user=root --mysql-password=pw --mysql-host=127.0.0.1 --mysql-db=test --mysql-table-engine=rocksdb --oltp-range-size=100 --oltp-table-size=1000000 --oltp-tables-count=8 --num-threads=$nt --max-requests=0 --max-time=$nsecs --oltp-read-only=off --oltp-index-updates=1 --oltp-non-index-updates=1 --oltp-delete-inserts=1 prepare\r\n\r\nnsecs=$(( 3600 * 24 )); nt=64; ./sysbench --test=tests/db/oltp.lua --db-driver=mysql --mysql-engine-trx=yes --mysql-user=root --mysql-password=pw --mysql-host=127.0.0.1 --mysql-db=test --mysql-table-engine=rocksdb --oltp-range-size=100 --oltp-table-size=1000000 --oltp-tables-count=8 --num-threads=$nt --max-requests=0 --max-time=$nsecs --oltp-read-only=off --oltp-index-updates=1 --oltp-non-index-updates=1 --oltp-delete-inserts=1 run\r\n``` \r\n"}}
{"actor":{"display_login":"mdcallag"}}