why does DBImpl::IngestExternalFile() have to check ExternalSstFileIngestionJob::NeedsFlush()?

27 views
Skip to first unread message

farsee...@gmail.com

unread,
May 26, 2024, 9:19:32 AMMay 26
to rocksdb
Hello guys,
I'm wondering why in DBImpl::IngestExternalFile() it has to check ExternalSstFileIngestionJob::NeedsFlush() before calling ExternalSstFileIngestionJob::Run()? IMHO if it is on ingest-behind mode, there's no real reason for that check.

Forcing a flush before ExternalSstFileIngestionJob::Run() in IngestExternalFile seems like a way to honor the ingest-before(which is the default) semantics? Thus there's no real reason for DBImpl to do that in ingest-behind mode, right?

The thing is, my QA colleague and I had spent pretty much the 1/2 of last week together to figure out a way to batch load via IngestExternalFile(ingest_behind=true) without hurting the write throughput too much, yet failed. 

Any help is appreciated. Thanks.
Reply all
Reply to author
Forward
0 new messages