[
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)