hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bharath Vissapragada (Jira)" <j...@apache.org>
Subject [jira] [Created] (HBASE-24590) Clone snapshot with optional table level property overrides
Date Fri, 19 Jun 2020 01:48:00 GMT
Bharath Vissapragada created HBASE-24590:

             Summary: Clone snapshot with optional table level property overrides
                 Key: HBASE-24590
                 URL: https://issues.apache.org/jira/browse/HBASE-24590
             Project: HBase
          Issue Type: Improvement
          Components: API, master, shell
    Affects Versions: 1.6.0, 3.0.0-alpha-1, 2.3.0
            Reporter: Bharath Vissapragada

We have this use case where we try to clone from snapshots of a table with replication enabled.
Cloning process just reads the TableDescriptor from the manifest and uses it for the new target

In our case, the moment we clone it, replication kicks in and attempts to replicate table
to peers but since the target table doesn't exist, it keeps throwing TNFE in a loop. I propose
to add additional *optional* parameters to clone_snapshot that takes the target table property
overrides (table leve/cf level).

For example:

clone_snapshot 'snapshotName', 'tableName'    # default
clone_snapshot 'snapshotName', 'tableName', {NAME => 'f1', REPLICATION_SCOPE => 0 }
clone_snapshot 'snapshotName, 'tableName', {MERGE_ENABLED => false}

Implementation wise, this just adds a {{ModifyTableProcedure}} as a child procedure (if args
are provided) for {{CloneSnapshotProcedure}} after {{CLONE_SNAPSHOT_ADD_TO_META}}, so we
reuse most of the "modifyTable" code. 

Also, since clone puts the table in a disabled state, using "ModifyTableProcedure" shouldn't
cause any issues.

 Thoughts? Is there any easier way to do it?


This message was sent by Atlassian Jira

View raw message