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

xinxin fan edited comment on HBASE-18090 at 9/9/17 12:38 AM:
-------------------------------------------------------------

Thanks for your review!

{quote}Before I go in reviews..opening regions in read-only mode for snapshots 
seems reasonable. That change would only affect MR over snapshots codebase or 
some other paths too?{quote}
I think the read-only regions only affect MR over snapshots codebase.

{quote} if we set readonly flag we skip replaying WAL and don't create those 
tmp files. {quote}
It seem that primary regions even opened in read only mode should replay the 
edits, just see HRegion.#initializeRegionInternals:

{code:java}
if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {
      // Recover any edits if available.
      maxSeqId = Math.max(maxSeqId,
        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, 
reporter, status));
      // Make sure mvcc is up to max.
      this.mvcc.advanceTo(maxSeqId);
    }
{code}

{quote}Will that work for snapshots created with skipFlush option? Is it always 
safe to skip WAL in that case?{quote}
The MR just work on the snapshot store files, so i think it make no different 
if the region is read-only or not. How do you think?


was (Author: xinxin fan):
[[mailto:Mikhail Antonov]] Thanks for your review!

{quote}Before I go in reviews..opening regions in read-only mode for snapshots 
seems reasonable. That change would only affect MR over snapshots codebase or 
some other paths too?{quote}
I think the read-only regions only affect MR over snapshots codebase.

{quote} if we set readonly flag we skip replaying WAL and don't create those 
tmp files. {quote}
It seem that primary regions even opened in read only mode should replay the 
edits, just see HRegion.#initializeRegionInternals:

{code:java}
if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {
      // Recover any edits if available.
      maxSeqId = Math.max(maxSeqId,
        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, 
reporter, status));
      // Make sure mvcc is up to max.
      this.mvcc.advanceTo(maxSeqId);
    }
{code}

{quote}Will that work for snapshots created with skipFlush option? Is it always 
safe to skip WAL in that case?{quote}
The MR just work on the snapshot store files, so i think it make no different 
if the region is read-only or not. How do you think?

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --------------------------------------------------------------------------
>
>                 Key: HBASE-18090
>                 URL: https://issues.apache.org/jira/browse/HBASE-18090
>             Project: HBase
>          Issue Type: Improvement
>          Components: mapreduce
>    Affects Versions: 1.4.0
>            Reporter: Mikhail Antonov
>            Assignee: xinxin fan
>         Attachments: HBASE-18090-branch-1.3-v1.patch, 
> HBASE-18090-branch-1.3-v2.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to