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

Josh Elser commented on HBASE-21456:
------------------------------------

{quote}Just wondering if a write-up/plan/spec to consult to help navigate the 
changes. Would address comments like mine and [~reidchan]'s where our first 
blush is to ask why the change at all? Thanks.
{quote}
I think this came up in the doc that Ted was putting together a few months 
back. The high level goals are still the same there: all WAL related operations 
go through WALProvider, and get pulled out of other places.

To this specific patch, I see this as a natural progression. I think keeping 
WALFactory around with its current methods just adds more indirection without 
much value. The final state would be WAL(Provider)Factory instantiates a 
WALProvider for you, given the configuration. WALProvider gives you the 
interface to do "all things WAL" (read, write, create), returning you a WAL (or 
Reader or Writer) when relevant.

Does that help, or would you rather see more than just this?

> 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