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

Sean Busbey commented on HBASE-21641:
-------------------------------------

Please write a scope document. Consider emailing dev@hbase to gather feedback 
once you have one.

Important bits to cover:
* What use cases this enables
* How will this impact upgrades
* How/where we'll document this
* How we'll test this feature

Some example scope documents:
* [HBase Spark 
Integration|https://issues.apache.org/jira/secure/attachment/12878023/Apache%20HBase%20-%20Apache%20Spark%20Integration%20Scope%20-%20update%201.pdf]
 (HBASE-18405)
* [Read Replica 
Clusters|https://issues.apache.org/jira/secure/attachment/12888376/HBase%20Read-Replica%20Clusters%20Scope%20doc_v2.pdf]
 (HBASE-18477)

> RegionServer Group based WAL creation & replication
> ---------------------------------------------------
>
>                 Key: HBASE-21641
>                 URL: https://issues.apache.org/jira/browse/HBASE-21641
>             Project: HBase
>          Issue Type: Improvement
>          Components: wal
>            Reporter: Nikhil Bafna
>            Priority: Minor
>
> I'm looking at extending HBASE-6721 to apply it to WALs such that WALs are 
> created & replicated within an RSGroup. This extends multi-tenancy to WALs 
> also, and not just cover Hbase data. I was working out of 1.2.x code. The 
> feedback on mailing list was to continue the discussion on Jira and target 2.x
>   
>  The approach I'm using is
>  - Strategy interface for WAL placement on the filesystem. Default to 
> delegate it to respective filesystem (which is the old behavior). FavoredNode 
> strategy computes the favoured nodes from the RSGroup memberships.
>  - FavoredNode strategy requires instance of hbase.Server, to get the current 
> server name and an instance of Zookeeper watch to listen for changes to 
> RSGroup memberships
>  - The strategy is initialised in HRegionServer init and set in a static 
> field in DefaultWALProvider
>  - DefaultWALProvider.Writer takes the strategy in its init, and invokes it 
> before output stream creation and passes the favored nodes information to 
> DistributedFileSystem.create()
>   
>  Few questions
>  - Any glaring miss in the approach?
>  - I have hesitation in setting the strategy in static field in 
> DefaultWALProvider. I would have preferred it to be passed in "init" itself, 
> but that change seems to be too expansive.
>  - Also, this introduces the dependency of server/zookeeper instance inside 
> the WAL code path, which seems to be not there till now. Is that an explicit 
> choice to keep them separate?



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

Reply via email to