Right, we can still detect and handle collisions in either way, and in both
methods (seq-long or uuid) it is extremely unlikely to see collision.

But general assumption and practice is, lot of software built on the
assumption that UUID will never have a collision.

- Ledgers are unique across multiple clusters. Useful if storage tiers with
different stores are employed.
- No centralized id creation - Allows client to give the name instead of
server generating name on create.



On Wed, Oct 26, 2016 at 9:40 AM, Flavio Junqueira <f...@apache.org> wrote:

> Agreed that the probability of collision is low, but it exists and there
> is no way to check if it kicks in if we don't have that information
> centralized. For wraparounds, we at least have a way of detecting that we
> reached the maximum value, but granted that if we reach the maximum value,
> then we may have duplicates as we reset the counter.
>
> Assuming that we still keep ledger metadata in the metadata service and it
> is keyed by ledger id, we can check whether the ledger id is taken upon
> writing the ledger metadata, can't we?
>
> -Flavio
>
> > On 26 Oct 2016, at 16:41, Venkateswara Rao Jujjuri <jujj...@gmail.com>
> wrote:
> >
> > Flavio,
> >
> > In theory you are right. But in practice it is virtually unique.
> > RFC 4122 (https://www.ietf.org/rfc/rfc4122.txt) talks about multiple
> ways
> > to generate virtually unique ID.
> > Even in the sequence-id we have a theoretical chance of wrapping. So if
> we
> > are worried about duplicates,
> > we need a way to handle it. But in both cases (64 bit long or 128 bit
> uuid)
> > collisions are impractical.
> >
> > Also I am not advocating to get rid of metadata server completely, Just
> > saying for this purpose we don't need to.
> > Thanks,
> > JV
> >
> >
> > On Wed, Oct 26, 2016 at 3:43 AM, Flavio Junqueira <f...@apache.org>
> wrote:
> >
> >> Hi JV,
> >>
> >> Do I understand correctly that you're proposing to generate 128-bit
> UUIDs
> >> locally to use as ledger ids? If so, I'm concerned that even if the
> >> probability of collision is low, there is still a chance of having
> >> collisions with no way to verify in the case you aren't relying on a
> >> metadata server.
> >>
> >> I feel that I'm missing something here because you can't completely get
> >> rid of the metadata server without getting in trouble or at least
> without
> >> deeper changes. I'd appreciate if you could clarify, please.
> >>
> >> -Flavio
> >>
> >>> On 26 Oct 2016, at 00:39, Venkateswara Rao Jujjuri <jujj...@gmail.com>
> >> wrote:
> >>>
> >>> We are using 64 bit ledger ids internally right now, but the ledger id
> is
> >>> supported by the application/caller.
> >>> We have extended Hierarchical ledger manger to Long hierarchical ledger
> >>> manger for this.
> >>>
> >>> Ultimately we would like to move to 128 bit UUID as the ledger id. That
> >>> makes ledgers unique without
> >>> the need of centralized ZK/metadata server.
> >>>
> >>> On Tue, Oct 25, 2016 at 4:11 PM, Sijie Guo <si...@apache.org> wrote:
> >>>
> >>>> *Problem: *
> >>>>
> >>>> Currently the ledger id is long, which it should be 64-bits. However
> >>>> currently bookkeeper only can generate 32-bits ledger id as
> zookeeper's
> >>>> sequence znode only produce 32-bits.
> >>>>
> >>>> This problem was basically raised before at BOOKKEEPER-421. Jiannan
> has
> >>>> already done fair amount of work on this and there were several
> patches
> >> for
> >>>> it.
> >>>>
> >>>> This email thread is to start the discussion for 64-bits ledger id
> >> support
> >>>> in bookkeeper.
> >>>>
> >>>> *Discuss*:
> >>>>
> >>>> Based on bookkeeper-421, the changes will relatively happen in
> following
> >>>> places. Assume the metadata store is ZooKeeper.
> >>>>
> >>>>
> >>>>  1. How to generate 64-bits ledger id? (64 Bits Ledger ID Generation
> >>>>  <https://issues.apache.org/jira/browse/BOOKKEEPER-552>)
> >>>>  2. How to store the 64-bits ledger id in zookeeper? (New
> LedgerManager
> >>>>  for 64 Bits Ledger ID Management in ZooKeeper
> >>>>  <https://issues.apache.org/jira/browse/BOOKKEEPER-553>)
> >>>>  3. How can the garbage collect handle correctly with 64-bits ledger
> >> id?
> >>>> (
> >>>>  https://issues.apache.org/jira/browse/BOOKKEEPER-553?
> >>>> focusedCommentId=13558192&page=com.atlassian.jira.
> >>>> plugin.system.issuetabpanels:comment-tabpanel#comment-13558192
> >>>>  )
> >>>>  4. How can we upgrade current HierarchicalLedgerManager to support
> >>>>  64-bits. [??]
> >>>>
> >>>> Feel free to take a look at those tickets and make any proposals.
> >>>>
> >>>> - Sijie
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Jvrao
> >>> ---
> >>> First they ignore you, then they laugh at you, then they fight you,
> then
> >>> you win. - Mahatma Gandhi
> >>
> >>
> >
> >
> > --
> > Jvrao
> > ---
> > First they ignore you, then they laugh at you, then they fight you, then
> > you win. - Mahatma Gandhi
>
>


-- 
Jvrao
---
First they ignore you, then they laugh at you, then they fight you, then
you win. - Mahatma Gandhi

Reply via email to