[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   

MariaDB [(none)]> install soname 'ha_rocksdb';
Query OK, 0 rows affected, 1 warning (0.06 sec)
 
MariaDB [(none)]> show warnings;
+---------+------+--------------------------------------------------------------
---------+
| Level   | Code | Message
         |
+---------+------+--------------------------------------------------------------
---------+
| Warning | 1105 | Cannot enable tc-log at run-time. XA features of ROCKSDB are
disabled |
+---------+------+--------------------------------------------------------------
---------+
1 row in set (0.00 sec)



 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:

2017-05-10 20:28:41 70864 [ERROR] C:\Program Files\MariaDB 10.2\bin\mysqld.exe: unknown option '--tc-log'
2017-05-10 20:28:41 70864 [ERROR] Aborting

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):

https://mariadb.com/kb/en/mariadb/server-system-variables/

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:

MariaDB [(none)]> show engines;
+----------+---------+---------------------------+--------------+------+------------+
| Engine   | Support | Comment                   | Transactions | XA   | Savepoints |
+----------+---------+---------------------------+--------------+------+------------+
| ROCKSDB  | YES     | RocksDB storage engine    | YES          | YES  | YES        |
...

Comment by Chris Calender (Inactive) [ 2017-05-11 ]

Also, log_tc is not recognized as a server variable:

MariaDB [(none)]> select @@log_tc;
ERROR 1193 (HY000): Unknown system variable 'log_tc'

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 I have not understood anything from the message, thus I filed the bug

Comment by Sergei Petrunia [ 2018-03-29 ]

Run into this MDEV-15708.

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 ]

3. Should "log-tc" even be used with RocksDB? The manual is quite lacking when it comes to this variable.

As the docs say: Commandline: --log-tc=name
Description: Path to transaction coordinator log (used for transactions that affect more than one storage engine, when binary log is disabled).

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.

Generated at Thu Feb 08 07:58:36 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.