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