Commit Graph

241 Commits

Author SHA1 Message Date
Jingyu Zhou 2d2a2144f4
Update copyright years to 2013-2026 (#12653)
No functional changes.
2026-01-22 10:49:41 -08:00
walter e2baa88a84
Add rocksdb options index_block_restart_interval and index_type (#12639) 2026-01-21 12:42:38 -08:00
walter 5614ae64aa
Add rocksdb option max_bytes_for_level_multiplier (#12634) 2026-01-13 09:46:24 -08:00
Xiaoge Su 0a58b63133 Reformat fdbserver/KeyValueStoreRocksDB.actor.cpp 2025-11-18 13:02:35 -08:00
Akanksha Mahajan abb530fbe6
Add BlockCacheStats metrics for RocksDB (#12556) 2025-11-17 13:25:33 -08:00
Trevor Clinkenbeard 7920dc2e66
Fix unit for `readRangeKVPairsReturnedHistogram` (#12439)
* Fix unit for readRangeKVPairsReturnedHistogram

* Update histogram units for rocksdbReadRangeKVPairsReturnedHistogram
2025-10-14 17:22:54 -07:00
neethuhaneesha 19b3f29cc0
Rocksdb trace event changes. (#12259) 2025-07-18 10:20:37 -07:00
Syed Paymaan Raza 8c6bc892b2
ShardedRocks determinism phase 2 (PSM, Checkpoint) (#12203) 2025-06-23 20:37:10 -07:00
Akanksha Mahajan e78a799add Remove comments 2025-05-14 10:15:21 -07:00
Akanksha Mahajan e20e95465d Fix ServerKnob fetching on fdbcli json 2025-05-14 10:15:21 -07:00
Michael Stack f063dd40cb
Ingest sst files rather than their keyvalue content (2nd attempt) (#12108)
* Ingest sst files rather than their keyvalue content.

* fdbclient/ServerKnobs.cpp
* fdbclient/include/fdbclient/ServerKnobs.h
 Add BULK_LOAD_USE_SST_INGEST knob.

* fdbclient/include/fdbclient/IKeyValueStore.actor.h
 Add ingestSSTFiles and supportSStIngestion.

* fdbserver/KeyValueStoreRocksDB.actor.cpp
* fdbserver/KeyValueStoreShardedRocksDB.actor.cpp
 Implement ingestSSTFiles and supportSStIngestion

* fdbserver/storageserver.actor.cpp
 If BULK_LOAD_USE_SST_INGEST and BulkLoadType::SST, ingest sst file
 rather than read keyvalues.

* fdbclient/tests/fdb_cluster_fixture.sh
 Use rocksdb instead of sqllite in tests.

* Revert "Ingest sst files rather than their keyvalue content."

This reverts commit 6d50bf15d3566de17fa6febf2afba0f220846ca6.

* ctests pass

* Restore ingest minus metric

* Add back ingestDuration metric

* Formatting

---------

Co-authored-by: michael stack <stack@duboce.com>
2025-04-30 09:14:48 -07:00
Vishesh Yadav ad8da65713 clang-format 2025-04-25 16:45:57 -07:00
Vishesh Yadav 04b4619bca ThreadReturnPromiseStream: Re-write to use thread-safe primitives
The original `ThreadReturnPromiseStream` had a fundamental flaw: it didn't handle reference counting
in a thread-safe way. This led to subtle and hard-to-debug race conditions, especially since Future
and Promise often live on different threads in this use case.

This patch introduces a new implementation of ThreadReturnPromiseStream that uses an atomics backed
spinlock to safely manage reference counts. As a result, the Flow compiler also needs to support a
new type: `ThreadFutureStream`, in addition to the existing `FutureStream`.

The underlying `NotifiedQueue` now has a parallel implementation called `ThreadNotifiedQueue` to
make this possible. The higher-level thread-safe promise and promise counterpart are built on top of
that.

The new `ThreadFutureStream` is compatible with both Flow and C++ coroutines. The original
non-threaded Flow primitives remain untouched and free from the overhead of atomics.

Joshua:
  20250417-000356-vishesh-16ce18efeab40158           compressed=True data_size=41124943 duration=5436274 ended=99998 fail=1 fail_fast=10 max_runs=100000 pass=99997 priority=100 remaining=0:00:00 runtime=1:00:47 sanity=False started=100000 submitted=20250417-000356 timeout=5400 username=vishesh

clang-format
2025-04-25 16:45:57 -07:00
Syed Paymaan Raza bafb5ca6a3
Apply latest clang-format (#12080) 2025-04-10 20:29:51 -07:00
neethuhaneesha 0192debce9
Limit the number of clearRanges per commit to a knob value only for rocksdb storage engine and added few metrics. (#12060) 2025-03-28 15:53:18 -07:00
neethuhaneesha 15e35ed3a1
Adding rocksdb obsolete files size property in metrics. (#12017) 2025-03-12 15:11:34 -07:00
neethuhaneesha 1d9f16bf07
Added compaction knobs. (#12018) 2025-03-12 12:38:23 -07:00
Vishesh Yadav b66cf62cca rocksdb: fix crash due to uninitialized/stale ColumnFamilyHandle
`CreateColumnFamilyWithImport()` expects that the value inside
handle is `nullptr`. This patch fixed a codepath where we pass
a stale handle left by destroyed column family.
2025-02-28 10:46:59 -08:00
Yao Xiao 67b9b5c9f3
Remove per thread histogram in storage engine and fix bugs in range scan. (#11967) 2025-02-25 10:52:46 -08:00
Syed Paymaan Raza d9ea00ef5e
Fix rocksdb crash caused because of passing uninitialized metadata to ExportColumnFamily (#11957) 2025-02-17 20:46:02 -08:00
neethuhaneesha f4c3565aff
Rocksdb manual flush code changes (#11849) 2025-01-17 12:44:44 -08:00
Syed Paymaan Raza 5a615df85f
Make rocksdb deterministic in simulation (#11790) 2024-11-19 15:42:15 -08:00
neethuhaneesha 1f7a9f4768
Manual flush if the rocksdb flush does not happen within a time interval. (#11791) 2024-11-19 11:57:32 -08:00
neethuhaneesha 5be60d50d3
Histogram sample rate updated to 1. (#11793) 2024-11-19 11:53:16 -08:00
Zhe Wang 6c502e9707
Solve RocksDB external timeout error and re-enable RocksDB simulation tests (#11577)
* init knob tune

* include rocksdb in tests

* probably reuse rocksdb iterator in simulation

* clear unnecessary knob change
2024-08-16 12:37:18 -07:00
Syed Paymaan Raza c3e7542cda Update end year in copyright header 2024-08-02 09:40:11 -07:00
neethuhaneesha adf0e8fa18
Rocksdb metrics in status json (#11321) 2024-04-18 22:00:58 -07:00
neethuhaneesha ed7a275231
Rocksdb caching knob options. (#11282) 2024-04-17 10:09:14 -07:00
neethuhaneesha c96dcc74a7 Add rocksdb direct_io knobs. 2024-03-27 10:34:00 -07:00
neethuhaneesha e26981a7a9
Added max range deletions before flush knob and some knob changes. (#11242) 2024-03-12 14:46:16 -07:00
neethuhaneesha 7db980e185
Rocksdb in-memory data structures protection checksums. (#11206) 2024-02-19 16:46:12 -08:00
neethuhaneesha 73e40985b1
Throttle commit on rocksdb flush state and some rocksdb knob changes. (#11177) 2024-02-08 10:14:04 -08:00
Zhe Wang 02182d556a
add omitted checksum for rocksdb (#11169) 2024-02-01 18:33:14 -08:00
neethuhaneesha b9166aa164
Removed latencySamples in kvstorerockddb to avoid DDSketch race access. (#11113) 2024-01-05 10:46:58 -08:00
neethuhaneesha 220ad87cc4
Rocksdb new options configuration (#11048) 2023-11-03 13:45:03 -07:00
neethuhaneesha b7148ba67e
Compaction rate limiter changes. (#11015) 2023-10-23 13:39:46 -07:00
neethuhaneesha 08cc6518bb Deleting rocksdb keysSet after the commit completes. 2023-08-30 15:25:23 -07:00
neethuhaneesha 68d5708e02 Storing the inprocess-commit deleted keysets until the commit is complete. (#10672) 2023-08-30 15:25:23 -07:00
Zhe Wang e7528aca09
Revert inappropriate setting of ApiCorrectness test (#10771)
* add max_manifest_file_size to rocksdb

* revert ApiCorrectness config change
2023-08-11 12:41:55 -07:00
Xiaoge Su 0036bab8a4 Rename SSD_ROCKSDB_EXPERIMENTAL to WITH_ROCKSDB 2023-07-27 14:04:10 -07:00
Evan Tschannen ef682d304e fix IKeyValueStore include 2023-06-16 13:28:40 -07:00
neethuhaneesha 7ccc734f87
Avoiding read timeout checks for eager reads(write path) and system keys. (#10486) 2023-06-14 09:56:23 -07:00
Evan Tschannen 22665f6163 fixed another missing knobs include 2023-06-13 08:32:37 -07:00
Evan Tschannen 359e178dcd Merge branch 'main' into feature-durable-change-feed
# Conflicts:
#	fdbclient/ClientKnobs.cpp
#	fdbserver/BlobManager.actor.cpp
#	fdbserver/worker.actor.cpp
2023-06-11 13:58:35 -07:00
Yao Xiao cef93f7d22
knobs (#10253) 2023-05-18 14:58:09 -07:00
neethuhaneesha 854464a6af
Hex values in TSS logs and rocksb debuglogs mode knob (#10231) 2023-05-16 10:34:58 -07:00
neethuhaneesha 92d1da79a9
RocksDB WAL archive options. (#10211) 2023-05-10 21:36:18 -07:00
Evan Tschannen 3dd86d6c22 move IKeyValueStore.h to the client 2023-05-10 15:41:47 -07:00
Yao Xiao 2d1b5d02e2 Range deletion memory usage improvements (#10048) 2023-05-10 10:23:01 -07:00
neethuhaneesha 8b2f3bcfdc Rocksdb paranoid file checks knob. 2023-05-04 11:49:38 -07:00