[ https://issues.apache.org/jira/browse/HBASE-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13048494#comment-13048494 ]
Andrew Purtell commented on HBASE-2357: --------------------------------------- I do have mixed feelings. Slaves would need to access foreign store files for regions that are not open on the RS. So then tailing HLogs, more foreign files, at the slave is not unreasonable. But that is a major violation of assumptions that store files are private. Sharing store files will require a coordination dance between master and slaves upon compaction and flushes. Sharing active HLogs is more evil given the master may become involved. Also, the trouble with watching the WAL either on the slave side at the file or on the master side with WALObserver is that .writeToWAL(false) edits will be unnoticed until flush. I'd like to reevaluation if this limitation could be acceptable. Your thoughts? A solution is for the master to stream edits to slaves from Put, Delete, etc. post hooks via synchronous replication (or ZAB transaction). Could also be via asynchronously drained replication queues that don't block the current client operation unless full, but one should worry about increasing heap pressure. > Coprocessors: Add read-only region replicas (slaves) for availability and > fast region recovery > ---------------------------------------------------------------------------------------------- > > Key: HBASE-2357 > URL: https://issues.apache.org/jira/browse/HBASE-2357 > Project: HBase > Issue Type: Sub-task > Components: master, regionserver > Reporter: Todd Lipcon > Assignee: Andrew Purtell > > I dont plan on working on this in the short term, but the idea is to extend > region ownership to have two modes. Each region has one primary region server > and N slave region servers. The slaves would follow the master (probably by > streaming the relevant HLog entries directly from it) and be able to serve > stale reads. The benefit is twofold: (a) provides the ability to spread read > load, (b) enables very fast region failover/rebalance since the memstore is > already nearly up to date on the slave RS. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira