-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make MyRocks DD commits always durable #1403
Make MyRocks DD commits always durable #1403
Conversation
@luqun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
how about check thd_is_dd_update_stmt() during trx prepare(or m_ddl_transaction = thd_is_dd_update_stmt(thd))? so that we have similar behavior as innodb? such as
|
Unfortunately Some examples of queries where the two differ, test
|
There are also some cases where |
Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag Rdb_transaction::m_dd_transaction, which is set in ha_rocksdb::external_lock and checked in rocksdb_prepare. To avoid confusion, rename the existing m_ddl_transaction flag to m_bulk_index_transaction. At the same time tweak ha_rocksdb::is_dd_update to downgrade the DD/system engine check to an assert.
e863973
to
0f14207
Compare
@laurynas-biveinis has updated the pull request. You must reimport the pull request before landing. |
@luqun, rebased with no substantial changes (for now?), added a small tweak to |
@luqun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: #1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 GitHub Author: Laurynas Biveinis <laurynas.biveinis@gmail.com> Test Plan: Imported from GitHub, without a `Test Plan:` line. Reviewers: herman, chni, #mysql_eng Reviewed By: chni Differential Revision: https://phabricator.intern.facebook.com/D51872251
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Summary: Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag `Rdb_transaction::m_dd_transaction`, which is set in `ha_rocksdb::external_lock` and checked in `rocksdb_prepare`. To avoid confusion, rename the existing `m_ddl_transaction` flag to `m_bulk_index_transaction`. Pull Request resolved: facebook#1403 Differential Revision: D51872251 fbshipit-source-id: 64290c8
Regular commit durability is governed by the binlog group commit algorithm and system variables. Make any commits (and prepares in 2PC) involving DD tables always durable unconditionally, just like InnoDB does. It is implemented through a new flag
Rdb_transaction::m_dd_transaction
, which is set inha_rocksdb::external_lock
and checked inrocksdb_prepare
. To avoid confusion, rename the existingm_ddl_transaction
flag tom_bulk_index_transaction
.