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.
---

Reply via email to