You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org> on 2012/03/19 12:45:39 UTC

[jira] [Commented] (BOOKKEEPER-175) Bookie code is very coupled

    [ https://issues.apache.org/jira/browse/BOOKKEEPER-175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232571#comment-13232571 ] 

jiraposter@reviews.apache.org commented on BOOKKEEPER-175:
----------------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4405/
-----------------------------------------------------------

Review request for bookkeeper.


Summary
-------

Patch creates LedgerCache interface, and LedgerCacheImpl, which implements the interface. LedgerCacheImpl's contains what LedgerCache did before the change. LedgerDescriptor uses LedgerCacheImpl directly now, which is ugly, but its only temporary as BOOKKEEPER-175 will fix LedgerDescriptors.


This addresses bug BOOKKEEPER-175.
    https://issues.apache.org/jira/browse/BOOKKEEPER-175


Diffs
-----

  bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 6e47c08 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/HandleFactory.java PRE-CREATION 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/HandleFactoryImpl.java PRE-CREATION 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 87a1e66 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorImpl.java PRE-CREATION 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptorReadOnlyImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/4405/diff


Testing
-------


Thanks,

Ivan


                
> Bookie code is very coupled
> ---------------------------
>
>                 Key: BOOKKEEPER-175
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-175
>             Project: Bookkeeper
>          Issue Type: Improvement
>            Reporter: Ivan Kelly
>            Assignee: Ivan Kelly
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-175.diff
>
>
> Bookie owns EntryLogger, LedgerCache, LedgerDescriptors which all depend on each other in strange ways. Sometimes we access the ledgerCache directly, sometimes through LedgerDescriptors. etc, etc. It's messy and there's no hierarchy.
> I propose that we refactor Bookie to only contain the EntryLogger and journalling code (this should be factored at some stage also). The EntryLogger can then own the ledgerCache and the LedgerDescriptors, and then we would how have to have the entanglement as observed on BOOKKEEPER-160.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira