Il sab 18 ago 2018, 17:26 Sijie Guo <guosi...@gmail.com> ha scritto: > On Sat, Aug 18, 2018 at 2:12 AM Enrico Olivelli <eolive...@gmail.com> > wrote: > > > Nice work Sijie, > > Some comments after the first read, just thinking out loud... > > Overall looks a good idea and implementable. > > > > We should cite somewhere the case of scope=0 and ledgerId = -1 which is a > > very special case for usthe. > > > > For BC reason, negative ledger id are not supported when scope == 0. We > effectively only support 63 bit. >
Fine to me We should state clearly in the BP and then in javadocs and docs that not the full 128bit space is handled, but there is a class of combinations which won't work (scopeid = 0 and ledgerid < 0). > We can use versions on clients to distinguish whether they are old clients > or new clients, then handle this case differently. > > So this special case should not be special for any new clients. > > We should also state that scopeid and ledgerid < 0 is not supported or it > > is not clear to me how we will handle that case. > > The case of scope < 0 is not clear to me as well, maybe I have to read > more > > carefully the doc. > > > I think I answer this with my comment above. > > > > > > We are treating the global space of ledgerids as a 2 level hierarchy and > > this is good for compatibility. > > But thinking about a new application, which starts with uuids I think it > > can be tricky, maybe we should add utilities/APIs to work with UUID > > directly. > > > The ledgerQualifiedName is the hex presentation of UUID, proposed to add to > CLI tool. > > We can add it to API as well. However I would defer adding it until we need > it or after we are on 128 bits. BC is the top concern. > > > > For this new kind of application the space of ids would be flat and not > > hierarchical (UUID are not hierarchical as far as I know, but I may be > > wrong). > > > In a lot of places, 128 bit is not well supported. So people would divide > into two parts any way, msb and lsb. > > > > > > > > We should also support listing the whole flat space > > > Sure it can be added. I don’t see a reason we can’t. However IMO these are > new features after we are on 128 bit. For the concerns in this BP, we are > more focused on how we can transition from 64 bit to 128 bit. > Okay Last comment: We are going to have a lot of special cases in layout of data/zk ledger manager, to handle scopeid = 0. I am thinking to a brand new installation, without upgrade/BC concerns, I wonder if we have some flag not to have that tricks, I am talking about the different dbs on rocks db, the layout of indexes...and so on. This is not a real problem but I wonder if we ca handle this case of new applications cleanly Enrico > or as a last > > alternative we should add a way to list the space of scopeids, because > > otherwise the application must store the list of scopeids, and for it it > > will be a set of half UUIDs. > > > > Thanks for driving this > > > > Enrico > > > > > > > > Il ven 17 ago 2018, 23:52 Venkateswara Rao Jujjuri <jujj...@gmail.com> > ha > > scritto: > > > > > Thanks a lot, Sijie for the awesome doc. > > > Let's pool some more thoughts into this and size the work. > > > > > > Thanks, > > > JV > > > > > > On Fri, Aug 17, 2018 at 2:36 PM, Sijie Guo <guosi...@gmail.com> wrote: > > > > > > > Hi all, > > > > > > > > As promised in last community meeting, I put up all the thoughts and > > > > discussion with JV I had into a BP for supporting 128-bit ledger id. > I > > > > tried my best to cover all the aspects that I can think of. There can > > be > > > > places that I miss. so please take a look and let me know what you > > think. > > > > > > > > BP PR: https://github.com/apache/bookkeeper/pull/1611 > > > > Google doc: > > > > https://docs.google.com/document/d/1cu54dNSV2ZrdWCi40LcyX8NxXGRCW > > > > 0609T_ewmK9BWM > > > > > > > > - Sijie > > > > > > > > > > > > > > > > -- > > > Jvrao > > > --- > > > First they ignore you, then they laugh at you, then they fight you, > then > > > you win. - Mahatma Gandhi > > > > > -- > > > > > > -- Enrico Olivelli > > > -- -- Enrico Olivelli