Project

General

Profile

Actions

Feature #20324

open

Change default filestore 'omap' backend to 'rocksdb' from 'leveldb'

Added by Vikhyat Umrao almost 7 years ago. Updated over 6 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Support
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

Change default filestore 'omap' backend to 'rocksdb' from 'leveldb'

This is the option: "filestore_omap_backend":

Version-Release number of selected component (if applicable):
Red Hat Ceph Storage 2.3/3.0
Upstream Jewel and Luminous

We have seen a lot of issues when OMAP directories become very large(40G+) and then leveldb compaction takes a lot of time and this cause OSD's to hit suicide timeout because they won't respond when compaction is running.

Rocksdb will help because it uses multi-threading in compaction and it has other benefits also.

This change does not need code work because the option is already implemented. A simple Pull request would be necessary to change the default we can do that but before that, we need to do upstream and downstream QA testing on an average scale so we can check it is fixing this issue.

For this, we would also need package/release engineering team help to package rocksdb library downstream.

Downstream Features:

RHCS 2.y: https://bugzilla.redhat.com/show_bug.cgi?id=1462011
RHCS 3.0: https://bugzilla.redhat.com/show_bug.cgi?id=1462012

Actions #1

Updated by Nathan Cutler almost 7 years ago

Why exactly would "rocksdb" need to be packaged downstream? In luminous, at least, rocksdb is already used by Bluestore and is pulled in as a submodule: https://github.com/ceph/ceph/blob/master/.gitmodules#L15-L18

(I looked, and the same applies for jewel and kraken as well.)

Actions #2

Updated by Vikhyat Umrao almost 7 years ago

Nathan Cutler wrote:

Why exactly would "rocksdb" need to be packaged downstream? In luminous, at least, rocksdb is already used by Bluestore and is pulled in as a submodule: https://github.com/ceph/ceph/blob/master/.gitmodules#L15-L18

(I looked, and the same applies for jewel and kraken as well.)

Thanks Nathan for your inputs. I was confused with leveldb because for leveldb we ship the package. Sounds Great! as we build the rocksdb as submodule with Ceph.

Actions #3

Updated by Nathan Cutler almost 7 years ago

So, there is https://github.com/ceph/ceph/commit/ba96197e6d4 which appears to do what this issue is asking for. Is that all, or is something more needed?

Actions #4

Updated by Josh Durgin over 6 years ago

  • Status changed from New to In Progress
  • Assignee set to Josh Durgin
Actions

Also available in: Atom PDF