titan icon indicating copy to clipboard operation
titan copied to clipboard

A RocksDB plugin for key-value separation, inspired by WiscKey.

Results 46 titan issues
Sort by recently updated
recently updated
newest added

The issue is here #238. I push 3 commits. One is add a status check. One is change the `void BatchWriteNewIndices(BlobFileBuilder::OutContexts& contexts, Status* s)` to `Status BatchWriteNewIndices(BlobFileBuilder::OutContexts& contexts)` One is...

# Description Titan now can use delta compression. Here is my code [repository](https://github.com/apple-ouyang/titan/tree/1io) Acording to the test result, the compression ratio for compressed record can reach up to 77.88x! However...

how to do YCSB test in titan, can anyone help me?

In BlobGCJob::InstallOutputBlobFiles, which is blob_gc_joob.cc:415, the status are not checked. ```C++ for (auto& builder : blob_file_builders_) { BlobFileBuilder::OutContexts contexts; s = builder.second->Finish(&contexts); // Status not check BatchWriteNewIndices(contexts, &s); // Status...

In BlobGCJob::DoRunGC(), the `file_size` is always = 0. I guess this variable is used to accumulate the file size of blob file. Once the `file_size >= blob_gc_->titan_cf_options().blob_file_target_size`, Titan will create...

type/bug

The test version is the latested master(2ad9c586345b606718362351f5c88e3c8348c4f4) After cmake and compiling, run the: ```bash ctest -R titan ``` the only test that not pass is the titan_titan_db_test. Here is the...

Signed-off-by: jason 我们线上使用titan的时候经常发现get会产生几百毫秒延时,原因是get命令创建snapshot的时候会mutex_.Lock()。但BlobGCJob对象在析构的时候会持有mutex_,该对象中保存了需要回写sst中的kv,如果需要回写的kv很多(线下测试可能会有几十万条),那么该对象会很大,析构的时候比较耗时,持有mutex_的时间就会比较长,导致get命令加锁被阻塞。所以建议析构大对象的时候,不要持有锁。我们修复后,线上已经跑了一个月,get已经不会产生延时抖动。 优化前:一天get超过200ms延时大概在10w条左右 优化后:一天get超过200ms延时大概在100条左右

contribution

![image](https://user-images.githubusercontent.com/16376959/69535677-64098a00-0fb7-11ea-92b5-a4f19bf8834a.png) Value of metric `live-blob-size` is much larger than total size of blob file, and when most of data has been removed, it is still so larger (ten times than...

status/discussion

Limit GC and Titan read IO with rate_limiter, to avoid burst of IO starve online read and write.