Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.

ISSUE-595: Create Ledger NameSpace #106

Open
sijie opened this issue Jan 15, 2020 · 0 comments
Open

ISSUE-595: Create Ledger NameSpace #106

sijie opened this issue Jan 15, 2020 · 0 comments

Comments

@sijie
Copy link
Member

sijie commented Jan 15, 2020

Original Issue: apache#595


JIRA: https://issues.apache.org/jira/browse/BOOKKEEPER-918

Reporter: Venkateswararao Jujjuri (JV) @jvrao

Bookkeeper doesn't really have a real NameSpace, it operates by ledgerId. I have opened and worked on https://issues.apache.org/jira/browse/BOOKKEEPER-873 which allows applications to pass-in LedgerId instead of BK client API picking one for them. But that really doesn't offer much flexibility.

Since ledgerId is a long we can't have 128-bit UUIDs as ledgerIDs and this severely restricts the range if we are generating ledgerIDs through a random generator (https://issues.apache.org/jira/browse/BOOKKEEPER-864)

Best solution for this is to offer a real name space, and I believe it is relatively simple than offering 128-bit ledgerIDs.

Analogous to regular filesystem, we treat our ledgerId as inode-number. Create a new name space in ZK with the user provided pretty-name and provide simple mapping at ZK between name-to-ledgerId. This mapping is static, and never changes once created. i.e name-x always points ledgerId-z. Given this most part of bookie code doesn't need to be aware of this mapping, and changes mostly will be confined client code and in create/delete/list paths.

Comments from JIRA


Sijie Guo 2016-04-07T14:32:36.864+0000

[~jujjuri] could this be done in a upper level who is using the bookkeeper core library?


Venkateswararao Jujjuri (JV) 2016-04-07T19:08:53.988+0000

It is very well possible to do at upper level, and the good thing is it is same level of complexity/code even at Bk level. Hence my thought process is - why not have it at BK level so everyone else can make use of it. Do you see any issues of having it at BK client level? Of course we will create a new ledger handle interface, keeping backward compatibility.


Sijie Guo 2016-04-07T20:22:45.277+0000

at BK level? you mean in current bookkeeper client? or a wrapper over bookkeeper-client. do you have a proposal about how the namespace API looks like?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant