{"push_id":649754960,"size":41,"distinct_size":1,"ref":"refs/heads/bb-10.0-serg","head":"d8f4897199601811ad65ebb982f194d083000bdf","before":"d61573d3e5c8f9d85b88f9fa2e79160b159bf67d","commits":[{"sha":"6fc0a8af243befc8504676b9d7a6f6bbeafb85b1","author":{"email":"633ba0aba45a800b488838f34ba080f3df388e57@montyprogram.com","name":"Elena Stepanova"},"message":"MDEV-7187 perfschema.aggregate fails sporadically in buildbot\n\nDuring slow execution, e.g. under valgrind, there was a chance\nthat Aria checkpoint would happen while P_S tables were being\nqueried; it could cause different data in joined P_S, and\nthus combinations of results that the test did not expect.\n\nFixed by disabling Aria checkpoints for the test.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/6fc0a8af243befc8504676b9d7a6f6bbeafb85b1"},{"sha":"040027c888f9b9e1a41c82fd793e0cde289e5eb1","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"MDEV-7627 :Some symbols in table name can cause to Error Code: 1050\nwhen created FK\n\nAnalysis: Table name is on filename charset but foreign key\nidentifiers are not. This lead incorrect foreign key\nidentifier number to be used.\n\nFix: Convert foreign key identifier to filename charset before\ncomparing it to table name when largest foreign key identifier\nnumber is resolved.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/040027c888f9b9e1a41c82fd793e0cde289e5eb1"},{"sha":"96784eb106d9e0ab6ce717a937a9be9af714b223","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"MDEV-7668: Intermediate master groups CREATE TEMPORARY with INSERT, causing parallel replication failure\n\nParallel replication depends on locking (table locks, row locks, etc.) to\nprevent two conflicting transactions from running and committing in parallel.\nBut temporary tables are designed to be visible only to one thread, and have\nno such locking.\n\nIn the concrete issue, an intermediate master could commit a CREATE TEMPORARY\nTABLE in the same group commit as in INSERT into that table. Thus, a\nlower-level master could attempt to run them in parallel and get an error.\n\nMore generally, we need protection from parallel replication trying to run\ntransactions in parallel that access a common temporary table.\n\nThis patch simply causes use of a temporary table from parallel replication\nto wait for all previous transactions to commit, serialising the replication\nat that point.\n\n(A more fine-grained locking could be added later, possibly. However,\nusing temporary tables in statement-based replication is in any case\nnormally undesirable; for example a restart of the server will lose\ntemporary tables and can break replication).\n\nNote that row-based replication is not affected, as it does not do any\ntemporary tables on the slave-side.\n\nThis patch also cleans up the locking around protecting the list of\ntemporary tables in Relay_log_info. This used to take the\nrli->data_lock at the end of every statement, which is very bad for\nconcurrency. With this patch, the lock is not taken unless temporary\ntables (with statement-based binlogging) are in use on the slave.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/96784eb106d9e0ab6ce717a937a9be9af714b223"},{"sha":"ec16d1b62fb08b4dd3aa415a9bf717b5039a56cc","author":{"email":"633ba0aba45a800b488838f34ba080f3df388e57@montyprogram.com","name":"Elena Stepanova"},"message":"MDEV-7107 Sporadic test failure in multi_source.multisource\n\nExtend show_slave_status.inc to run SHOW ALL SLAVES STATUS and\nSHOW SLAVE 'name' STATUS on demand, and make the test use\nthe include file instead of direct SHOW statements","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/ec16d1b62fb08b4dd3aa415a9bf717b5039a56cc"},{"sha":"a7fd11b31d52b62ef7b61783bb83a5e62271307b","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"MDEV-7685: MariaDB - server crashes when inserting more rows than\navailable space on disk\n\nAdd error handling when disk full situation happens and\nintentionally bring server down with stacktrace because\non all cases InnoDB can't continue anyway.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/a7fd11b31d52b62ef7b61783bb83a5e62271307b"},{"sha":"ed04c40b01c122436eda6552c550d62ce8a3920b","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"MDEV-5289: master server starts slave parallel threads\n\nDelay spawning parallel replication worker threads until a slave SQL\nthread is running, and de-spawn them when the last SQL thread stops.\n\nThis is especially useful to avoid needless threads on a master in a\nsetup where same my.cnf is used on masters and slaves.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/ed04c40b01c122436eda6552c550d62ce8a3920b"},{"sha":"702fdc52fa02c5f20004d169ad48494122d8ffed","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"MDEV-7714: Make possible to get innodb internal primary key for wrapper\ntype storage engine.\n\nAuthored by: Kentoku Shiba","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/702fdc52fa02c5f20004d169ad48494122d8ffed"},{"sha":"bc902a2bfc46add0708896c07621e3707f66d95f","author":{"email":"62cdb7020ff920e5aa642c3d4066950dd1f01f4d@mariadb.org","name":"Alexander Barkov"},"message":"MDEV-7387 [PATCH] Alter table xxx CHARACTER SET utf8, CONVERT TO CHARACTER SET latin1 should fail\nA contribution from Daniel Black, with minor additional enhancements.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/bc902a2bfc46add0708896c07621e3707f66d95f"},{"sha":"184f718fef0101a7559364cb97e22ee568e64c12","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"MDEV-7249: Performance problem in parallel replication with multi-level slaves\n\nParallel replication (in 10.0 / \"conservative\" mode) relies on binlog group\ncommits to group transactions that can be safely run in parallel on the\nslave. The --binlog-commit-wait-count and --binlog-commit-wait-usec options\nexist to increase the number of commits per group. But in case of conflicts\nbetween transactions, this can cause unnecessary delay and reduced througput,\nespecially on a slave where commit order is fixed.\n\nThis patch adds a heuristics to reduce this problem. When transaction T1 goes\nto commit, it will first wait for N transactions to queue up for a group\ncommit. However, if we detect that another transaction T2 is waiting for a row\nlock held by T1, then we will skip the wait and let T1 commit immediately,\nreleasing locks and let T2 continue.\n\nOn a slave, this avoids the unfortunate situation where T1 is waiting for T2\nto join the group commit, but T2 is waiting for T1 to release locks, causing\nno work to be done for the duration of the --binlog-commit-wait-usec timeout.\n\n(The heuristic seems reasonable on the master as well, so it is enabled for\nall transactions, not just replication transactions).","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/184f718fef0101a7559364cb97e22ee568e64c12"},{"sha":"2e82a8233c841dc2c2ace77d749363dec0bd4f98","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"MDEV-7785: errorneous -> erroneous spelling mistake","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/2e82a8233c841dc2c2ace77d749363dec0bd4f98"},{"sha":"3d4850158fdd62a57cf76515db99f07457f344d5","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"Fix embarrassing bug in test case that caused sporadic test failures.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/3d4850158fdd62a57cf76515db99f07457f344d5"},{"sha":"99a2c061d7bfc181b04a0adc14ce036fab821d85","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"MDEV-7754: innodb assert \"array->n_elems < array->max_elems\" on a huge blob update\n\nProblem was that static array was used for storing thread mutex sync levels.\nFixed by using std::vector instead.\n\nDoes not contain test case to avoid too big memory/disk space usage\non buildbot VMs.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/99a2c061d7bfc181b04a0adc14ce036fab821d85"},{"sha":"c14d9c21f0a6974d9909e00a23522114caad3bfc","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"Make sure that sync level vector is emptied.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/c14d9c21f0a6974d9909e00a23522114caad3bfc"},{"sha":"2bdbfd334bba93f75b2952e8e76f20ed29fb2bd4","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"Fix assertion failure seen on Buildbot win32-debug\n\nThere is a bug in Visual Studio 2010\nVisual Studio has a feature \"Checked Iterators\". In a debug build, every\niterator operation is checked at runtime for errors, e g, out of range.\nDisable this \"Checked Iterators\" for Windows and Debug if defined.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/2bdbfd334bba93f75b2952e8e76f20ed29fb2bd4"},{"sha":"1020d569343aab2de2a96cf630f3e7d9fa7ca84f","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"Better and more correct comment.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/1020d569343aab2de2a96cf630f3e7d9fa7ca84f"},{"sha":"323a7e93ee2445e6d5918b4946cbec99b1ab650c","author":{"email":"2684b34324e4c416e773d490feeb83d074e85151@askmonty.org","name":"Sergei Petrunia"},"message":"Backport from 10.1 to 10.0: Merge pull request #33 from k0da/mdev-7839\n\nFix BigEndian build for Cassandra SE","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/323a7e93ee2445e6d5918b4946cbec99b1ab650c"},{"sha":"a4082918c8942b4c72b8f2a65cb237aeaaf10b3e","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"MDEV-7882: Excessive transaction retry in parallel replication\n\nWhen a transaction in parallel replication needs to retry (eg. because of\ndeadlock kill), first wait for all prior transactions to commit before doing\nthe retry. This way, we avoid the retry once again conflicting with a prior\ntransaction, requiring yet another retry.\n\nWithout this patch, we saw \"in the wild\" that transactions had to be retried\nmore than 10 times to succeed, which exceeds the default\n--slave_transaction_retries value and is in any case undesirable.\n\n(We already do this in 10.1 in \"optimistic\" parallel replication mode; this\npatch just makes the code use the same logic for \"conservative\" mode (only\nmode in 10.0)).","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/a4082918c8942b4c72b8f2a65cb237aeaaf10b3e"},{"sha":"880f2273fdc39cd1a2ab28f448cdfbf3d6581af2","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"MDEV-7847: \"Slave worker thread retried transaction 10 time(s) in vain, giving up\", followed by replication hanging\n\nThis patch fixes a bug in the error handling in parallel replication, when one\nworker thread gets a failure and other worker threads processing later\ntransactions have to rollback and abort.\n\nThe problem was with the lifetime of group_commit_orderer objects (GCOs).\nA GCO is freed when we register that its last event group has committed. This\nrelies on register_wait_for_prior_commit() and wait_for_prior_commit() to\nensure that the fact that T2 has committed implies that any earlier T1 has\nalso committed, and can thus no longer execute mark_start_commit().\n\nHowever, in the error case, the code was skipping the\nregister_wait_for_prior_commit() and wait_for_prior_commit() calls. Thus\ncommit ordering was not guaranteed, and a GCO could be freed too early. Then a\nlater mark_start_commit() would reference deallocated GCO, which could lead to\nlost wakeup (causing slave threads to hang) or other corruption.\n\nThis patch makes also the error case respect commit order. This way, also the\nerror case gets the GCO lifetime correct, and the hang no longer occurs.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/880f2273fdc39cd1a2ab28f448cdfbf3d6581af2"},{"sha":"c41e4d3b49d27475a907d225fe326e38cb65f1b0","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"Merge MDEV-7847 and MDEV-7882 into 10.0.\n\nConflicts:\n\tmysql-test/suite/rpl/r/rpl_parallel.result\n\tmysql-test/suite/rpl/t/rpl_parallel.test","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/c41e4d3b49d27475a907d225fe326e38cb65f1b0"},{"sha":"0563f49ba355e27543e940052f35e1a904ef077b","author":{"email":"abe77250017703a420e405c014bb9c0d57a60c8f@mariadb.com","name":"Jan Lindström"},"message":"MDEV-7754: innodb assert \"array->n_elems < array->max_elems\" on a huge blob update\n\nReplace static array of thread sync levels with std::vector.","distinct":false,"url":"https://api.github.com/repos/MariaDB/server/commits/0563f49ba355e27543e940052f35e1a904ef077b"}]}