ircd::db: Add define for versions w/ buggy MultiRead.

This commit is contained in:
Jason Volk 2023-03-24 19:13:50 -07:00
parent 674b6489a4
commit 02c862e4bc
3 changed files with 10 additions and 6 deletions

View File

@ -4892,7 +4892,7 @@ ircd::db::_read(const vector_view<_read_op> &op,
const bool parallelize
{
#ifdef IRCD_DB_HAS_MULTIGET_DIRECT
#if defined(IRCD_DB_HAS_MULTIGET_DIRECT) && defined(IRCD_DB_HAS_MULTIREAD_FIX)
true && num > 1
#else
false

View File

@ -3265,7 +3265,11 @@ catch(const std::exception &e)
return error_to_status{e};
}
#ifdef IRCD_DB_HAS_ENV_MULTIREAD
#if defined(IRCD_DB_HAS_ENV_MULTIREAD) && !defined(IRCD_DB_HAS_MULTIREAD_FIX)
#warning "RocksDB MultiRead is buggy in this version. Please upgrade to 6.12.6+"
#endif
#if defined(IRCD_DB_HAS_ENV_MULTIREAD)
rocksdb::Status
ircd::db::database::env::random_access_file::MultiRead(rocksdb::ReadRequest *const req,
size_t num)

View File

@ -94,13 +94,13 @@
#if ROCKSDB_MAJOR > 6 \
|| (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR > 12) \
|| (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR == 12 && ROCKSDB_PATCH >= 6)
#define IRCD_DB_HAS_MANIFEST_WRITE
#define IRCD_DB_HAS_MULTIREAD_FIX
#endif
#if ROCKSDB_MAJOR > 6 \
|| (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR > 14) \
|| (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR == 14 && ROCKSDB_PATCH >= 5)
#define IRCD_DB_HAS_FLUSH_RETRY
|| (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR > 12) \
|| (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR == 12 && ROCKSDB_PATCH >= 6)
#define IRCD_DB_HAS_MANIFEST_WRITE
#endif
#if ROCKSDB_MAJOR > 6 \