diff --git a/RocksDBFactory_8cpp_source.html b/RocksDBFactory_8cpp_source.html
index 5a4113f955..c3dda01304 100644
--- a/RocksDBFactory_8cpp_source.html
+++ b/RocksDBFactory_8cpp_source.html
@@ -269,307 +269,311 @@ $(function() {
192 if (keyValues.exists(
"bbt_options"))
- 194 auto const s = rocksdb::GetBlockBasedTableOptionsFromString(
- 195 table_options,
get(keyValues,
"bbt_options"), &table_options);
-
- 197 Throw<std::runtime_error>(
- 198 std::string(
"Unable to set RocksDB bbt_options: ") +
-
-
-
- 202 m_options.table_factory.reset(NewBlockBasedTableFactory(table_options));
-
- 204 if (keyValues.exists(
"options"))
-
- 206 auto const s = rocksdb::GetOptionsFromString(
- 207 m_options,
get(keyValues,
"options"), &m_options);
-
- 209 Throw<std::runtime_error>(
-
-
-
-
-
- 215 rocksdb::GetStringFromDBOptions(&s1, m_options,
"; ");
- 216 rocksdb::GetStringFromColumnFamilyOptions(&s2, m_options,
"; ");
- 217 JLOG(m_journal.
debug()) <<
"RocksDB DBOptions: " << s1;
- 218 JLOG(m_journal.
debug()) <<
"RocksDB CFOptions: " << s2;
-
-
- 221 ~RocksDBBackend()
override
-
-
-
-
-
- 227 open(
bool createIfMissing)
override
-
-
-
-
- 232 "ripple::NodeStore::RocksDBBackend::open : database is already "
-
- 234 JLOG(m_journal.
error()) <<
"database is already open";
-
-
- 237 rocksdb::DB* db =
nullptr;
- 238 m_options.create_if_missing = createIfMissing;
- 239 rocksdb::Status
status = rocksdb::DB::Open(m_options, m_name, &db);
-
- 241 Throw<std::runtime_error>(
-
-
-
-
-
-
-
-
- 250 return static_cast<bool>(m_db);
-
-
-
-
-
-
-
-
-
-
- 261 boost::filesystem::path dir = m_name;
- 262 boost::filesystem::remove_all(dir);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 280 "ripple::NodeStore::RocksDBBackend::fetch : non-null database");
-
-
-
-
- 285 rocksdb::ReadOptions
const options;
- 286 rocksdb::Slice
const slice(
static_cast<char const*
>(key), m_keyBytes);
-
-
-
- 290 rocksdb::Status getStatus = m_db->Get(options, slice, &
string);
+ 194 rocksdb::ConfigOptions config_options;
+ 195 auto const s = rocksdb::GetBlockBasedTableOptionsFromString(
+
+
+ 198 get(keyValues,
"bbt_options"),
+
+
+ 201 Throw<std::runtime_error>(
+ 202 std::string(
"Unable to set RocksDB bbt_options: ") +
+
+
+
+ 206 m_options.table_factory.reset(NewBlockBasedTableFactory(table_options));
+
+ 208 if (keyValues.exists(
"options"))
+
+ 210 auto const s = rocksdb::GetOptionsFromString(
+ 211 m_options,
get(keyValues,
"options"), &m_options);
+
+ 213 Throw<std::runtime_error>(
+
+
+
+
+
+ 219 rocksdb::GetStringFromDBOptions(&s1, m_options,
"; ");
+ 220 rocksdb::GetStringFromColumnFamilyOptions(&s2, m_options,
"; ");
+ 221 JLOG(m_journal.
debug()) <<
"RocksDB DBOptions: " << s1;
+ 222 JLOG(m_journal.
debug()) <<
"RocksDB CFOptions: " << s2;
+
+
+ 225 ~RocksDBBackend()
override
+
+
+
+
+
+ 231 open(
bool createIfMissing)
override
+
+
+
+
+ 236 "ripple::NodeStore::RocksDBBackend::open : database is already "
+
+ 238 JLOG(m_journal.
error()) <<
"database is already open";
+
+
+ 241 rocksdb::DB* db =
nullptr;
+ 242 m_options.create_if_missing = createIfMissing;
+ 243 rocksdb::Status
status = rocksdb::DB::Open(m_options, m_name, &db);
+
+ 245 Throw<std::runtime_error>(
+
+
+
+
+
+
+
+
+ 254 return static_cast<bool>(m_db);
+
+
+
+
+
+
+
+
+
+
+ 265 boost::filesystem::path dir = m_name;
+ 266 boost::filesystem::remove_all(dir);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 284 "ripple::NodeStore::RocksDBBackend::fetch : non-null database");
+
+
+
+
+ 289 rocksdb::ReadOptions
const options;
+ 290 rocksdb::Slice
const slice(
static_cast<char const*
>(key), m_keyBytes);
-
-
- 294 DecodedBlob decoded(key,
string.
data(),
string.
size());
+
+
+ 294 rocksdb::Status getStatus = m_db->Get(options, slice, &
string);
-
-
- 298 *pObject = decoded.createObject();
-
-
+
+
+ 298 DecodedBlob decoded(key,
string.
data(),
string.
size());
+
+
-
-
-
-
-
-
-
- 309 if (getStatus.IsCorruption())
-
-
-
- 313 else if (getStatus.IsNotFound())
+ 302 *pObject = decoded.createObject();
+
+
+
+
+
+
+
+
+
+
+ 313 if (getStatus.IsCorruption())
-
+
-
+ 317 else if (getStatus.IsNotFound())
-
- 320 Status(customCode + unsafe_cast<int>(getStatus.code()));
-
- 322 JLOG(m_journal.
error()) << getStatus.ToString();
-
-
+
+
+
+
+
+ 324 Status(customCode + unsafe_cast<int>(getStatus.code()));
-
-
-
-
-
-
-
-
- 334 for (
auto const& h : hashes)
-
-
-
-
-
-
-
-
-
- 344 return {results,
ok};
-
-
-
-
-
- 350 m_batch.store(
object);
-
-
-
- 354 storeBatch(Batch
const& batch)
override
-
-
-
- 358 "ripple::NodeStore::RocksDBBackend::storeBatch : non-null "
-
- 360 rocksdb::WriteBatch wb;
-
- 362 for (
auto const& e : batch)
-
- 364 EncodedBlob encoded(e);
+ 326 JLOG(m_journal.
error()) << getStatus.ToString();
+
+
+
+
+
+
+
+
+
+
+
+ 338 for (
auto const& h : hashes)
+
+
+
+
+
+
+
+
+
+ 348 return {results,
ok};
+
+
+
+
+
+ 354 m_batch.store(
object);
+
+
+
+ 358 storeBatch(Batch
const& batch)
override
+
+
+
+ 362 "ripple::NodeStore::RocksDBBackend::storeBatch : non-null "
+
+ 364 rocksdb::WriteBatch wb;
-
-
- 368 reinterpret_cast<char const*
>(encoded.getKey()),
-
-
- 371 reinterpret_cast<char const*
>(encoded.getData()),
-
-
-
- 375 rocksdb::WriteOptions
const options;
-
- 377 auto ret = m_db->Write(options, &wb);
+ 366 for (
auto const& e : batch)
+
+ 368 EncodedBlob encoded(e);
+
+
+
+ 372 reinterpret_cast<char const*
>(encoded.getKey()),
+
+
+ 375 reinterpret_cast<char const*
>(encoded.getData()),
+
+
-
- 380 Throw<std::runtime_error>(
"storeBatch failed: " + ret.ToString());
-
+ 379 rocksdb::WriteOptions
const options;
+
+ 381 auto ret = m_db->Write(options, &wb);
-
-
-
-
-
-
-
-
-
-
- 393 "ripple::NodeStore::RocksDBBackend::for_each : non-null database");
- 394 rocksdb::ReadOptions
const options;
-
-
-
- 398 for (it->SeekToFirst(); it->Valid(); it->Next())
-
- 400 if (it->key().size() == m_keyBytes)
-
-
- 403 it->key().data(), it->value().data(), it->value().size());
-
-
-
- 407 f(decoded.createObject());
-
-
+
+ 384 Throw<std::runtime_error>(
"storeBatch failed: " + ret.ToString());
+
+
+
+
+
+
+
+
+
+
+
+
+ 397 "ripple::NodeStore::RocksDBBackend::for_each : non-null database");
+ 398 rocksdb::ReadOptions
const options;
+
+
+
+ 402 for (it->SeekToFirst(); it->Valid(); it->Next())
+
+ 404 if (it->key().size() == m_keyBytes)
+
+
+ 407 it->key().data(), it->value().data(), it->value().size());
+
+
-
- 412 JLOG(m_journal.
fatal())
- 413 <<
"Corrupt NodeObject #" << it->key().ToString(
true);
-
-
-
-
-
-
- 420 JLOG(m_journal.
fatal())
- 421 <<
"Bad key size = " << it->key().size();
-
-
-
-
-
- 427 getWriteLoad()
override
-
- 429 return m_batch.getWriteLoad();
-
-
-
- 433 setDeletePath()
override
-
-
-
-
-
-
-
- 441 writeBatch(Batch
const& batch)
override
-
-
-
-
-
- 448 fdRequired()
const override
-
-
-
-
-
-
-
- 456class RocksDBFactory :
public Factory
-
-
-
-
-
-
- 463 Manager::instance().insert(*
this);
-
-
- 466 ~RocksDBFactory()
override
-
- 468 Manager::instance().erase(*
this);
-
-
-
- 472 getName()
const override
-
-
-
-
-
-
-
- 480 Section
const& keyValues,
-
- 482 Scheduler& scheduler,
-
-
- 485 return std::make_unique<RocksDBBackend>(
- 486 keyBytes, keyValues, scheduler, journal, &m_env);
-
-
-
- 490static RocksDBFactory rocksDBFactory;
-
-
-
-
-
+ 411 f(decoded.createObject());
+
+
+
+
+ 416 JLOG(m_journal.
fatal())
+ 417 <<
"Corrupt NodeObject #" << it->key().ToString(
true);
+
+
+
+
+
+
+ 424 JLOG(m_journal.
fatal())
+ 425 <<
"Bad key size = " << it->key().size();
+
+
+
+
+
+ 431 getWriteLoad()
override
+
+ 433 return m_batch.getWriteLoad();
+
+
+
+ 437 setDeletePath()
override
+
+
+
+
+
+
+
+ 445 writeBatch(Batch
const& batch)
override
+
+
+
+
+
+ 452 fdRequired()
const override
+
+
+
+
+
+
+
+ 460class RocksDBFactory :
public Factory
+
+
+
+
+
+
+ 467 Manager::instance().insert(*
this);
+
+
+ 470 ~RocksDBFactory()
override
+
+ 472 Manager::instance().erase(*
this);
+
+
+
+ 476 getName()
const override
+
+
+
+
+
+
+
+ 484 Section
const& keyValues,
+
+ 486 Scheduler& scheduler,
+
+
+ 489 return std::make_unique<RocksDBBackend>(
+ 490 keyBytes, keyValues, scheduler, journal, &m_env);
+
+
+
+ 494static RocksDBFactory rocksDBFactory;
+
+
+
+
+
diff --git a/md____w_rippled_rippled_BUILD.html b/md____w_rippled_rippled_BUILD.html
index 680b5955ec..c062328ccc 100644
--- a/md____w_rippled_rippled_BUILD.html
+++ b/md____w_rippled_rippled_BUILD.html
@@ -161,9 +161,9 @@ Multiple compilers
conan export --version 1.1.10 external/snappy
Export our Conan recipe for RocksDB. It does not override paths to dependencies when building with Visual Studio.
# Conan 1.x
-
conan export external/rocksdb rocksdb/6.29.5@
+
conan export external/rocksdb rocksdb/9.7.3@
# Conan 2.x
-
conan export --version 6.29.5 external/rocksdb
+
conan export --version 9.7.3 external/rocksdb
Export our Conan recipe for SOCI. It patches their CMake to correctly import its dependencies.
# Conan 1.x
conan export external/soci soci/4.0.3@