These build errors are seen during a recent PS 5.7 build:
Scanning dependencies of target rocksdb
[ 21%] Building CXX object storage/rocksdb/CMakeFiles/rocksdb.dir/ha_rocksdb.cc.o
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/include/mysql/plugin_audit.h:20:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/sql/./sql_audit.h:20,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:40:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:789:26: error: ‘kInitialMaxDeadlocks’ is not a member of ‘rocksdb’
rocksdb::kInitialMaxDeadlocks, 0, UINT32_MAX, 0);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/include/mysql/plugin.h:365:44: note: in definition of macro ‘MYSQL_SYSVAR_UINT’
#name, comment, check, update, &varname, def, min, max, blk }
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘virtual rocksdb::Status myrocks::Rdb_transaction_impl::get(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, rocksdb::PinnableSlice*) const’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2267:68: error: no matching function for call to ‘rocksdb::Transaction::Get(const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle* const&, const rocksdb::Slice&, rocksdb::PinnableSlice* const&)’
return m_rocksdb_tx->Get(m_read_opts, column_family, key, value);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2267:68: note: candidates are:
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h:16:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./ha_rocksdb.h:45,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:24:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:168:18: note: virtual rocksdb::Status rocksdb::Transaction::Get(const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, std::string*)
virtual Status Get(const ReadOptions& options,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:168:18: note: no known conversion for argument 4 from ‘rocksdb::PinnableSlice* const’ to ‘std::string* {aka std::basic_string<char>*}’
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:172:18: note: virtual rocksdb::Status rocksdb::Transaction::Get(const rocksdb::ReadOptions&, const rocksdb::Slice&, std::string*)
virtual Status Get(const ReadOptions& options, const Slice& key,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:172:18: note: candidate expects 3 arguments, 4 provided
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘virtual rocksdb::Status myrocks::Rdb_transaction_impl::get_for_update(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, rocksdb::PinnableSlice*, bool)’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2281:48: error: no matching function for call to ‘rocksdb::Transaction::GetForUpdate(rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle* const&, const rocksdb::Slice&, rocksdb::PinnableSlice* const&, bool&)’
exclusive);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2281:48: note: candidates are:
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h:16:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./ha_rocksdb.h:45,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:24:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:210:18: note: virtual rocksdb::Status rocksdb::Transaction::GetForUpdate(const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, std::string*, bool)
virtual Status GetForUpdate(const ReadOptions& options,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:210:18: note: no known conversion for argument 4 from ‘rocksdb::PinnableSlice* const’ to ‘std::string* {aka std::basic_string<char>*}’
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:215:18: note: virtual rocksdb::Status rocksdb::Transaction::GetForUpdate(const rocksdb::ReadOptions&, const rocksdb::Slice&, std::string*, bool)
virtual Status GetForUpdate(const ReadOptions& options, const Slice& key,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h:215:18: note: candidate expects 4 arguments, 5 provided
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘virtual rocksdb::Status myrocks::Rdb_writebatch_impl::get(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, rocksdb::PinnableSlice*) const’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2494:44: error: no matching function for call to ‘rocksdb::WriteBatchWithIndex::GetFromBatchAndDB(rocksdb::TransactionDB*&, const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle* const&, const rocksdb::Slice&, rocksdb::PinnableSlice* const&)’
value);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2494:44: note: candidates are:
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./ha_rocksdb.h:46:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:24:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h:187:10: note: rocksdb::Status rocksdb::WriteBatchWithIndex::GetFromBatchAndDB(rocksdb::DB*, const rocksdb::ReadOptions&, const rocksdb::Slice&, std::string*)
Status GetFromBatchAndDB(DB* db, const ReadOptions& read_options,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h:187:10: note: candidate expects 4 arguments, 5 provided
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h:189:10: note: rocksdb::Status rocksdb::WriteBatchWithIndex::GetFromBatchAndDB(rocksdb::DB*, const rocksdb::ReadOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, std::string*)
Status GetFromBatchAndDB(DB* db, const ReadOptions& read_options,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h:189:10: note: no known conversion for argument 5 from ‘rocksdb::PinnableSlice* const’ to ‘std::string* {aka std::basic_string<char>*}’
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: At global scope:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3032:25: error: ‘DeadlockInfo’ in namespace ‘rocksdb’ does not name a type
get_dl_txn_info(const rocksdb::DeadlockInfo &txn,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3032:48: error: ISO C++ forbids declaration of ‘txn’ with no type [-fpermissive]
get_dl_txn_info(const rocksdb::DeadlockInfo &txn,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3061:30: error: ‘DeadlockPath’ in namespace ‘rocksdb’ does not name a type
get_dl_path_trx_info(const rocksdb::DeadlockPath &path_entry) {
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3061:53: error: ISO C++ forbids declaration of ‘path_entry’ with no type [-fpermissive]
get_dl_path_trx_info(const rocksdb::DeadlockPath &path_entry) {
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In static member function ‘static myrocks::Rdb_deadlock_info::Rdb_dl_trx_info myrocks::Rdb_snapshot_status::get_dl_txn_info(const int&, const GL_INDEX_ID&)’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3036:27: error: request for member ‘m_txn_id’ in ‘txn’, which is of non-class type ‘const int’
txn_data.trx_id = txn.m_txn_id;
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3049:62: error: request for member ‘m_cf_id’ in ‘txn’, which is of non-class type ‘const int’
rocksdb::ColumnFamilyHandle *cfh = cf_manager.get_cf(txn.m_cf_id);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3053:25: error: request for member ‘m_waiting_key’ in ‘txn’, which is of non-class type ‘const int’
rdb_hexdump(txn.m_waiting_key.c_str(), txn.m_waiting_key.length());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3053:52: error: request for member ‘m_waiting_key’ in ‘txn’, which is of non-class type ‘const int’
rdb_hexdump(txn.m_waiting_key.c_str(), txn.m_waiting_key.length());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3055:35: error: request for member ‘m_exclusive’ in ‘txn’, which is of non-class type ‘const int’
txn_data.exclusive_lock = txn.m_exclusive;
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In static member function ‘static myrocks::Rdb_deadlock_info myrocks::Rdb_snapshot_status::get_dl_path_trx_info(const int&)’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3063:43: error: request for member ‘path’ in ‘path_entry’, which is of non-class type ‘const int’
deadlock_info.path.reserve(path_entry.path.size());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3065:39: error: request for member ‘path’ in ‘path_entry’, which is of non-class type ‘const int’
for (const auto& txn : path_entry.path) {
^
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/util/mutexlock.h:11:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/monitoring/statistics.h:17,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/util/stop_watch.h:7,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:62:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3071:32: error: request for member ‘limit_exceeded’ in ‘path_entry’, which is of non-class type ‘const int’
DBUG_ASSERT_IFF(path_entry.limit_exceeded, path_entry.path.empty());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./././rdb_utils.h:110:3: note: in expansion of macro ‘DBUG_ASSERT’
DBUG_ASSERT(static_cast<bool>(a) == static_cast<bool>(b))
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3071:5: note: in expansion of macro ‘DBUG_ASSERT_IFF’
DBUG_ASSERT_IFF(path_entry.limit_exceeded, path_entry.path.empty());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3071:59: error: request for member ‘path’ in ‘path_entry’, which is of non-class type ‘const int’
DBUG_ASSERT_IFF(path_entry.limit_exceeded, path_entry.path.empty());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./././rdb_utils.h:110:3: note: in expansion of macro ‘DBUG_ASSERT’
DBUG_ASSERT(static_cast<bool>(a) == static_cast<bool>(b))
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3071:5: note: in expansion of macro ‘DBUG_ASSERT_IFF’
DBUG_ASSERT_IFF(path_entry.limit_exceeded, path_entry.path.empty());
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3073:21: error: request for member ‘path’ in ‘path_entry’, which is of non-class type ‘const int’
if (!path_entry.path.empty() && !path_entry.limit_exceeded) {
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3073:49: error: request for member ‘limit_exceeded’ in ‘path_entry’, which is of non-class type ‘const int’
if (!path_entry.path.empty() && !path_entry.limit_exceeded) {
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3074:50: error: request for member ‘path’ in ‘path_entry’, which is of non-class type ‘const int’
const auto& deadlocking_txn = *(path_entry.path.end() - 1);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘std::vector<myrocks::Rdb_deadlock_info> myrocks::Rdb_snapshot_status::get_deadlock_info()’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3109:37: error: ‘class rocksdb::TransactionDB’ has no member named ‘GetDeadlockInfoBuffer’
const auto& dlock_buffer = rdb->GetDeadlockInfoBuffer();
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:3110:35: error: unable to deduce ‘auto&&’ from ‘dlock_buffer’
for (const auto& path_entry : dlock_buffer) {
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In function ‘void myrocks::update_rocksdb_stall_status()’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:11085:60: error: no matching function for call to ‘rocksdb::TransactionDB::GetMapProperty(rocksdb::ColumnFamilyHandle*&, const char [16], std::map<std::basic_string<char>, std::basic_string<char> >*)’
if (!rdb->GetMapProperty(cfh, "rocksdb.cfstats", &props)) {
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:11085:60: note: candidates are:
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h:15:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./ha_rocksdb.h:45,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:24:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h:161:16: note: virtual bool rocksdb::StackableDB::GetMapProperty(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, std::map<std::basic_string<char>, double>*)
virtual bool GetMapProperty(ColumnFamilyHandle* column_family,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h:161:16: note: no known conversion for argument 3 from ‘std::map<std::basic_string<char>, std::basic_string<char> >*’ to ‘std::map<std::basic_string<char>, double>*’
In file included from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h:14:0,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/./ha_rocksdb.h:44,
from /git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:24:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/db.h:600:16: note: virtual bool rocksdb::DB::GetMapProperty(const rocksdb::Slice&, std::map<std::basic_string<char>, double>*)
virtual bool GetMapProperty(const Slice& property,
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/rocksdb/include/rocksdb/db.h:600:16: note: candidate expects 2 arguments, 3 provided
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In function ‘void myrocks::rocksdb_set_max_latest_deadlocks(THD*, st_mysql_sys_var*, void*, const void*)’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:11623:10: error: ‘class rocksdb::TransactionDB’ has no member named ‘SetDeadlockInfoBufferSize’
rdb->SetDeadlockInfoBufferSize(rocksdb_max_latest_deadlocks);
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘virtual rocksdb::Status myrocks::Rdb_writebatch_impl::get(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, rocksdb::PinnableSlice*) const’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2495:3: error: control reaches end of non-void function [-Werror=return-type]
}
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘virtual rocksdb::Status myrocks::Rdb_transaction_impl::get_for_update(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, rocksdb::PinnableSlice*, bool)’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2282:3: error: control reaches end of non-void function [-Werror=return-type]
}
^
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc: In member function ‘virtual rocksdb::Status myrocks::Rdb_transaction_impl::get(rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, rocksdb::PinnableSlice*) const’:
/git/PS-5.7-new/PS-5.7-trunk_dbg/storage/rocksdb/ha_rocksdb.cc:2268:3: error: control reaches end of non-void function [-Werror=return-type]
}
^
Laurynas has made a pre-final fix;
cd storage/ rocksdb/ rocksdb e405267eaa2e2a6 03a77d570b
git checkout ab0542f5ec6e7c7
cd ../../..