Github user bzz commented on the issue: https://github.com/apache/zeppelin/pull/1231 @onkarshedge thank you for drawing very nice diagram. Let me be very clear - you did a great job and quite possible that it is me, as a mentor who under communicate the expectations about the architecture for this project. But.. But in order to make your work useful for the project in the nearest future, this PR must not introduce new client-facing APIs, servlets or change the existing filesystem structure a lot. So we need to refactor your implementation and simplify, so it has a single entry point `BittorentNotebookRepo`, a class that implements `NotebookRepo`, that is both a server and a client for bittorrent protocol, and that has all the code necessary for: 1. listing existing notes that shared through Bittorrent (local FS cache of the latest version?) 2. checkpointing AKA creating revisions (and how use `Mutable Items` to [store them in DHT](http://bittorrent.org/beps/bep_0044.html)) 3. listing revisions for each note, stored in DHT 4. importing new note by magnet URL (should work similar to current "import by URL") Lifecycle of all objects that are needed to perform this task (i.e TorrentEngine and all others) must be tied to NotebookRepo lifecycle: - all connections must be opened from it's constructor - all connections must be closed from `.close()` Please let me know if that makes sense to you. Let's start by finding answers to the questions on how to do 1-4 on DHT. Let's write answers down in English first, here or on the GDoc, before moving on to coding\refactoring them in a programming language. Please think about it and let me know if you have question - we can schedule a call.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---