[MDEV-12552] Warning "Cannot enable tc-log at run-time" after "install soname ha_rocksdb" Created: 2017-04-21 Updated: 2018-03-29 Resolved: 2018-03-29 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - RocksDB |
| Affects Version/s: | 10.2.5 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Minor |
| Reporter: | Vladislav Vaintroub | Assignee: | Sergei Petrunia |
| Resolution: | Not a Bug | Votes: | 1 |
| Labels: | None | ||
| Environment: |
Windows x64 |
||
| Description |
|
|
| Comments |
| Comment by Sergei Golubchik [ 2017-04-21 ] | ||||||
|
Well, that's correct behavior. TokuDB does the same. And InnoDB too. What would you think the fix should be? | ||||||
| Comment by Chris Calender (Inactive) [ 2017-05-11 ] | ||||||
|
It may be correct, but personally, I think that it could be improved in terms of being clear, and then what action one should take to correct the problem. 1. I think it should say "log-tc" instead of "tc-log", since "tc-log" is not a recognized option:
2. Perhaps this is a separate issue, but if I add "log-tc" to my.ini file on Windows, the service fails to start, and nothing is logged to the error log. Should this work on Windows? 3. Should "log-tc" even be used with RocksDB? The manual is quite lacking when it comes to this variable. https://mariadb.com/kb/en/mariadb/mysqld-options/#-log-tc And this same variable is not even mentioned on this page (though log_tc_size is): | ||||||
| Comment by Chris Calender (Inactive) [ 2017-05-11 ] | ||||||
|
Regarding point #2, once I removed the "log-tc" option from my.ini, then mysqld started fine and it created the tc.log file! And thus per the following, the answer to #3 is "Yes", because now SHOW ENGINES reports "YES" for "XA" for RocksDB:
| ||||||
| Comment by Chris Calender (Inactive) [ 2017-05-11 ] | ||||||
|
Also, log_tc is not recognized as a server variable:
Perhaps this should be some separate bug? Or is this expected behavior? | ||||||
| Comment by Vladislav Vaintroub [ 2017-05-11 ] | ||||||
|
The error message was quite confusing, I think ccalender agrees at least | ||||||
| Comment by Sergei Petrunia [ 2018-03-29 ] | ||||||
|
Run into this tc-log is a "transaction coordinator" that is used to coordinate multiple transaction participants. (There are two possible coordnators - this one, and the binlog). Coordinator is enabled at server start, if there are multiple transactional "storage engines" (binlog counts as one as well). | ||||||
| Comment by Sergei Petrunia [ 2018-03-29 ] | ||||||
As the docs say: Commandline: --log-tc=name So, it can and should be used with MyRocks when you have "transactions that affect more than one storage engine, when binary log is disabled" (which is rare) | ||||||
| Comment by Sergei Petrunia [ 2018-03-29 ] | ||||||
|
Closing as I think this is insignificant. If there are issues with log-tc on Windows, feel free to file another MDEV. |