I did most of this a few years back, and the first cut isn't too hard.
You have to move all the proto package out though, and then slowly
move stuff back in.

Another thing to consider, though not for the first step, is that
eventually there will be different versions of the client, depending
on what metadata technology is in use. bookkeeper-client-thinclient
should have very few dependencies.

I think we should try to do this, at least the first cut before 4.7.
It would be nice to not distribute rocksdb with our client.

-Ivan

On Sun, Feb 25, 2018 at 10:46 PM, Sijie Guo <guosi...@gmail.com> wrote:
> Yes, we should split the modules at 4.8. And there is already a task marked
> for it at 4.8. And yes, the tests would live at bookkeeper-server modules,
> only client implementation is moved out.
>
> However i dont think we are there to easily split the client module by just
> doing repo refactor. It has a few cleanup before split: (all classes that
> client and server depend on should be moved out first)
>
> - it need to wait BP-29. Both server and client depend on metadata
> interfaces. The metadata api should be moved to a separate module first.
> - protocol is also shared between server and client. We have to move the
> classes to bookkeeper-proto as well.
> - util classes need to be cleaned up and moved to common packages.
>
>
> Also I think we should consider remove “bookkeeper-“ from the directory
> name, which is redundant for dir name.
>
> Sijie
>
>
>
> On Sun, Feb 25, 2018 at 9:12 AM Enrico Olivelli <eolive...@gmail.com> wrote:
>
>> Hi Bookkeepers,
>> Since Yahoo and Salesforce merge is close to end and DL is now inside main
>> codebase, I think it is time to think about separating client side code
>> from server side.
>>
>> Initially it will be like a simple repository layout refactor, keeping most
>> of the test cases inside the bookkeeper-server module.
>>
>> We have a  mockito based framework for client side code and hopefully in
>> the mid term we could have client code tested mostly this way.
>>
>> Server sode code tests rely much on client and this is to be addressed as a
>> further step in my opinion.
>>
>> Is it too early to make this move?
>>
>> Thoughts?
>>
>> Enrico
>> --
>>
>>
>> -- Enrico Olivelli
>>

Reply via email to