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

Ankit Singhal commented on HBASE-21456:
---------------------------------------

{quote}Do we reach a consensus, or any info i needed to be synced?
{quote}
{quote}I have similar sort of question: whats wrong w/ WALFactory being the 
place you go to to manufacture anything to do w/ WALs...? Obviously you have 
some larger plan in mind. Is there a pointer? Thanks.
{quote}
Sorry [~reidchan], I thought consensus was reached after your comment, but it 
seems not ,that's my bad.


 [~stack], I think(and this probably was also the same thought when Josh 
created this Jira) that currently there is a confusion in responsibility of 
walFactory vs walProvider. As with new API's added in walProvider, it is better 
to access walProvider directly instead creating a shim for them in the factory 
and on the other hand , we can redefine WalFactory (or WalProviderFactory) to 
just help in initializing the configured WAL provider and let other WAL related 
stuff to provider itself. 
 But that's all said, would like to hear your thought on the need of having 
WalFactory intercepting all the request made to the provider.

> Make WALFactory only used for creating WALProviders
> ---------------------------------------------------
>
>                 Key: HBASE-21456
>                 URL: https://issues.apache.org/jira/browse/HBASE-21456
>             Project: HBase
>          Issue Type: Sub-task
>          Components: wal
>            Reporter: Josh Elser
>            Assignee: Ankit Singhal
>            Priority: Major
>         Attachments: HBASE-21456.HBASE-20952.001.patch, 
> HBASE-21456.HBASE-20952.wip.patch
>
>
> As a Factory, WALFactory should only have one job: creating instances of 
> WALProvider.
> However, over the years, it has been a landing place for lots of wal-related 
> methods (e.g. constructing readers, WALEntryStream, and more). We want all of 
> this to live in the WALProvider.
> We can do this in two steps: have the WALFactory methods invoke the method on 
> the WALProvider (handled elsewhere), then here we can replace usage of the 
> WALFactory "wrapper methods" with the WALProvider itself.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to