You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/12/06 14:53:02 UTC

[21/34] hbase-site git commit: Published site at 12e75a8a635785b279900b6905c86a1617526c72.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8d58bba5/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
index 1606c61..7cdc8d2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
@@ -2038,45 +2038,45 @@
 <span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
 <span class="sourceLineNo">2031</span><a name="line.2031"></a>
 <span class="sourceLineNo">2032</span>  @Override<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>  public long createTable(<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      final TableDescriptor tableDescriptor,<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>      final byte [][] splitKeys,<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>      final long nonceGroup,<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>      final long nonce) throws IOException {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>    checkInitialized();<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span><a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    String namespace = tableDescriptor.getTableName().getNamespaceAsString();<a name="line.2040"></a>
+<span class="sourceLineNo">2033</span>  public long createTable(final TableDescriptor tableDescriptor, final byte[][] splitKeys,<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    checkInitialized();<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>    TableDescriptor desc = getMasterCoprocessorHost().preCreateTableRegionsInfos(tableDescriptor);<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>    if (desc == null) {<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>      throw new IOException("Creation for " + tableDescriptor + " is canceled by CP");<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>    }<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>    String namespace = desc.getTableName().getNamespaceAsString();<a name="line.2040"></a>
 <span class="sourceLineNo">2041</span>    this.clusterSchemaService.getNamespace(namespace);<a name="line.2041"></a>
 <span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(tableDescriptor, splitKeys);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(tableDescriptor);<a name="line.2044"></a>
+<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(desc, splitKeys);<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(desc);<a name="line.2044"></a>
 <span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>      @Override<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>      protected void run() throws IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        getMaster().getMasterCoprocessorHost().preCreateTable(tableDescriptor, newRegions);<a name="line.2050"></a>
+<span class="sourceLineNo">2046</span>    return MasterProcedureUtil<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>      .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>        @Override<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>        protected void run() throws IOException {<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>          getMaster().getMasterCoprocessorHost().preCreateTable(desc, newRegions);<a name="line.2050"></a>
 <span class="sourceLineNo">2051</span><a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>        LOG.info(getClientIdAuditPrefix() + " create " + tableDescriptor);<a name="line.2052"></a>
+<span class="sourceLineNo">2052</span>          LOG.info(getClientIdAuditPrefix() + " create " + desc);<a name="line.2052"></a>
 <span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        //       TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>        //<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>        submitProcedure(new CreateTableProcedure(<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>            procedureExecutor.getEnvironment(), tableDescriptor, newRegions, latch));<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>        latch.await();<a name="line.2062"></a>
+<span class="sourceLineNo">2054</span>          // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>          // TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>          //<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>          // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>          // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>          ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>          submitProcedure(<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>            new CreateTableProcedure(procedureExecutor.getEnvironment(), desc, newRegions, latch));<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>          latch.await();<a name="line.2062"></a>
 <span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>        getMaster().getMasterCoprocessorHost().postCreateTable(tableDescriptor, newRegions);<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>      }<a name="line.2065"></a>
+<span class="sourceLineNo">2064</span>          getMaster().getMasterCoprocessorHost().postCreateTable(desc, newRegions);<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>        }<a name="line.2065"></a>
 <span class="sourceLineNo">2066</span><a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>      @Override<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>      protected String getDescription() {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>        return "CreateTableProcedure";<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>      }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    });<a name="line.2071"></a>
+<span class="sourceLineNo">2067</span>        @Override<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>        protected String getDescription() {<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>          return "CreateTableProcedure";<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>        }<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>      });<a name="line.2071"></a>
 <span class="sourceLineNo">2072</span>  }<a name="line.2072"></a>
 <span class="sourceLineNo">2073</span><a name="line.2073"></a>
 <span class="sourceLineNo">2074</span>  @Override<a name="line.2074"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8d58bba5/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
index 1606c61..7cdc8d2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
@@ -2038,45 +2038,45 @@
 <span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
 <span class="sourceLineNo">2031</span><a name="line.2031"></a>
 <span class="sourceLineNo">2032</span>  @Override<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>  public long createTable(<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      final TableDescriptor tableDescriptor,<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>      final byte [][] splitKeys,<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>      final long nonceGroup,<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>      final long nonce) throws IOException {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>    checkInitialized();<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span><a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    String namespace = tableDescriptor.getTableName().getNamespaceAsString();<a name="line.2040"></a>
+<span class="sourceLineNo">2033</span>  public long createTable(final TableDescriptor tableDescriptor, final byte[][] splitKeys,<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    checkInitialized();<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>    TableDescriptor desc = getMasterCoprocessorHost().preCreateTableRegionsInfos(tableDescriptor);<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>    if (desc == null) {<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>      throw new IOException("Creation for " + tableDescriptor + " is canceled by CP");<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>    }<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>    String namespace = desc.getTableName().getNamespaceAsString();<a name="line.2040"></a>
 <span class="sourceLineNo">2041</span>    this.clusterSchemaService.getNamespace(namespace);<a name="line.2041"></a>
 <span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(tableDescriptor, splitKeys);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(tableDescriptor);<a name="line.2044"></a>
+<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(desc, splitKeys);<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(desc);<a name="line.2044"></a>
 <span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>      @Override<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>      protected void run() throws IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        getMaster().getMasterCoprocessorHost().preCreateTable(tableDescriptor, newRegions);<a name="line.2050"></a>
+<span class="sourceLineNo">2046</span>    return MasterProcedureUtil<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>      .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>        @Override<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>        protected void run() throws IOException {<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>          getMaster().getMasterCoprocessorHost().preCreateTable(desc, newRegions);<a name="line.2050"></a>
 <span class="sourceLineNo">2051</span><a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>        LOG.info(getClientIdAuditPrefix() + " create " + tableDescriptor);<a name="line.2052"></a>
+<span class="sourceLineNo">2052</span>          LOG.info(getClientIdAuditPrefix() + " create " + desc);<a name="line.2052"></a>
 <span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        //       TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>        //<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>        submitProcedure(new CreateTableProcedure(<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>            procedureExecutor.getEnvironment(), tableDescriptor, newRegions, latch));<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>        latch.await();<a name="line.2062"></a>
+<span class="sourceLineNo">2054</span>          // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>          // TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>          //<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>          // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>          // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>          ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>          submitProcedure(<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>            new CreateTableProcedure(procedureExecutor.getEnvironment(), desc, newRegions, latch));<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>          latch.await();<a name="line.2062"></a>
 <span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>        getMaster().getMasterCoprocessorHost().postCreateTable(tableDescriptor, newRegions);<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>      }<a name="line.2065"></a>
+<span class="sourceLineNo">2064</span>          getMaster().getMasterCoprocessorHost().postCreateTable(desc, newRegions);<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>        }<a name="line.2065"></a>
 <span class="sourceLineNo">2066</span><a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>      @Override<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>      protected String getDescription() {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>        return "CreateTableProcedure";<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>      }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    });<a name="line.2071"></a>
+<span class="sourceLineNo">2067</span>        @Override<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>        protected String getDescription() {<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>          return "CreateTableProcedure";<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>        }<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>      });<a name="line.2071"></a>
 <span class="sourceLineNo">2072</span>  }<a name="line.2072"></a>
 <span class="sourceLineNo">2073</span><a name="line.2073"></a>
 <span class="sourceLineNo">2074</span>  @Override<a name="line.2074"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8d58bba5/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
index 1606c61..7cdc8d2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
@@ -2038,45 +2038,45 @@
 <span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
 <span class="sourceLineNo">2031</span><a name="line.2031"></a>
 <span class="sourceLineNo">2032</span>  @Override<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>  public long createTable(<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      final TableDescriptor tableDescriptor,<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>      final byte [][] splitKeys,<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>      final long nonceGroup,<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>      final long nonce) throws IOException {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>    checkInitialized();<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span><a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    String namespace = tableDescriptor.getTableName().getNamespaceAsString();<a name="line.2040"></a>
+<span class="sourceLineNo">2033</span>  public long createTable(final TableDescriptor tableDescriptor, final byte[][] splitKeys,<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    checkInitialized();<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>    TableDescriptor desc = getMasterCoprocessorHost().preCreateTableRegionsInfos(tableDescriptor);<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>    if (desc == null) {<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>      throw new IOException("Creation for " + tableDescriptor + " is canceled by CP");<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>    }<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>    String namespace = desc.getTableName().getNamespaceAsString();<a name="line.2040"></a>
 <span class="sourceLineNo">2041</span>    this.clusterSchemaService.getNamespace(namespace);<a name="line.2041"></a>
 <span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(tableDescriptor, splitKeys);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(tableDescriptor);<a name="line.2044"></a>
+<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(desc, splitKeys);<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(desc);<a name="line.2044"></a>
 <span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>      @Override<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>      protected void run() throws IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        getMaster().getMasterCoprocessorHost().preCreateTable(tableDescriptor, newRegions);<a name="line.2050"></a>
+<span class="sourceLineNo">2046</span>    return MasterProcedureUtil<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>      .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>        @Override<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>        protected void run() throws IOException {<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>          getMaster().getMasterCoprocessorHost().preCreateTable(desc, newRegions);<a name="line.2050"></a>
 <span class="sourceLineNo">2051</span><a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>        LOG.info(getClientIdAuditPrefix() + " create " + tableDescriptor);<a name="line.2052"></a>
+<span class="sourceLineNo">2052</span>          LOG.info(getClientIdAuditPrefix() + " create " + desc);<a name="line.2052"></a>
 <span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        //       TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>        //<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>        submitProcedure(new CreateTableProcedure(<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>            procedureExecutor.getEnvironment(), tableDescriptor, newRegions, latch));<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>        latch.await();<a name="line.2062"></a>
+<span class="sourceLineNo">2054</span>          // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>          // TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>          //<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>          // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>          // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>          ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>          submitProcedure(<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>            new CreateTableProcedure(procedureExecutor.getEnvironment(), desc, newRegions, latch));<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>          latch.await();<a name="line.2062"></a>
 <span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>        getMaster().getMasterCoprocessorHost().postCreateTable(tableDescriptor, newRegions);<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>      }<a name="line.2065"></a>
+<span class="sourceLineNo">2064</span>          getMaster().getMasterCoprocessorHost().postCreateTable(desc, newRegions);<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>        }<a name="line.2065"></a>
 <span class="sourceLineNo">2066</span><a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>      @Override<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>      protected String getDescription() {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>        return "CreateTableProcedure";<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>      }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    });<a name="line.2071"></a>
+<span class="sourceLineNo">2067</span>        @Override<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>        protected String getDescription() {<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>          return "CreateTableProcedure";<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>        }<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>      });<a name="line.2071"></a>
 <span class="sourceLineNo">2072</span>  }<a name="line.2072"></a>
 <span class="sourceLineNo">2073</span><a name="line.2073"></a>
 <span class="sourceLineNo">2074</span>  @Override<a name="line.2074"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8d58bba5/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
index 1606c61..7cdc8d2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
@@ -2038,45 +2038,45 @@
 <span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
 <span class="sourceLineNo">2031</span><a name="line.2031"></a>
 <span class="sourceLineNo">2032</span>  @Override<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>  public long createTable(<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      final TableDescriptor tableDescriptor,<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>      final byte [][] splitKeys,<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>      final long nonceGroup,<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>      final long nonce) throws IOException {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>    checkInitialized();<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span><a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    String namespace = tableDescriptor.getTableName().getNamespaceAsString();<a name="line.2040"></a>
+<span class="sourceLineNo">2033</span>  public long createTable(final TableDescriptor tableDescriptor, final byte[][] splitKeys,<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    checkInitialized();<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>    TableDescriptor desc = getMasterCoprocessorHost().preCreateTableRegionsInfos(tableDescriptor);<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>    if (desc == null) {<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>      throw new IOException("Creation for " + tableDescriptor + " is canceled by CP");<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>    }<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>    String namespace = desc.getTableName().getNamespaceAsString();<a name="line.2040"></a>
 <span class="sourceLineNo">2041</span>    this.clusterSchemaService.getNamespace(namespace);<a name="line.2041"></a>
 <span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(tableDescriptor, splitKeys);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(tableDescriptor);<a name="line.2044"></a>
+<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(desc, splitKeys);<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(desc);<a name="line.2044"></a>
 <span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>      @Override<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>      protected void run() throws IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        getMaster().getMasterCoprocessorHost().preCreateTable(tableDescriptor, newRegions);<a name="line.2050"></a>
+<span class="sourceLineNo">2046</span>    return MasterProcedureUtil<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>      .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>        @Override<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>        protected void run() throws IOException {<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>          getMaster().getMasterCoprocessorHost().preCreateTable(desc, newRegions);<a name="line.2050"></a>
 <span class="sourceLineNo">2051</span><a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>        LOG.info(getClientIdAuditPrefix() + " create " + tableDescriptor);<a name="line.2052"></a>
+<span class="sourceLineNo">2052</span>          LOG.info(getClientIdAuditPrefix() + " create " + desc);<a name="line.2052"></a>
 <span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        //       TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>        //<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>        submitProcedure(new CreateTableProcedure(<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>            procedureExecutor.getEnvironment(), tableDescriptor, newRegions, latch));<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>        latch.await();<a name="line.2062"></a>
+<span class="sourceLineNo">2054</span>          // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>          // TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>          //<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>          // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>          // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>          ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>          submitProcedure(<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>            new CreateTableProcedure(procedureExecutor.getEnvironment(), desc, newRegions, latch));<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>          latch.await();<a name="line.2062"></a>
 <span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>        getMaster().getMasterCoprocessorHost().postCreateTable(tableDescriptor, newRegions);<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>      }<a name="line.2065"></a>
+<span class="sourceLineNo">2064</span>          getMaster().getMasterCoprocessorHost().postCreateTable(desc, newRegions);<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>        }<a name="line.2065"></a>
 <span class="sourceLineNo">2066</span><a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>      @Override<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>      protected String getDescription() {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>        return "CreateTableProcedure";<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>      }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    });<a name="line.2071"></a>
+<span class="sourceLineNo">2067</span>        @Override<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>        protected String getDescription() {<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>          return "CreateTableProcedure";<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>        }<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>      });<a name="line.2071"></a>
 <span class="sourceLineNo">2072</span>  }<a name="line.2072"></a>
 <span class="sourceLineNo">2073</span><a name="line.2073"></a>
 <span class="sourceLineNo">2074</span>  @Override<a name="line.2074"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8d58bba5/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
index 1606c61..7cdc8d2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
@@ -2038,45 +2038,45 @@
 <span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
 <span class="sourceLineNo">2031</span><a name="line.2031"></a>
 <span class="sourceLineNo">2032</span>  @Override<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>  public long createTable(<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      final TableDescriptor tableDescriptor,<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>      final byte [][] splitKeys,<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>      final long nonceGroup,<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>      final long nonce) throws IOException {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>    checkInitialized();<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span><a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    String namespace = tableDescriptor.getTableName().getNamespaceAsString();<a name="line.2040"></a>
+<span class="sourceLineNo">2033</span>  public long createTable(final TableDescriptor tableDescriptor, final byte[][] splitKeys,<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    checkInitialized();<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>    TableDescriptor desc = getMasterCoprocessorHost().preCreateTableRegionsInfos(tableDescriptor);<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>    if (desc == null) {<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>      throw new IOException("Creation for " + tableDescriptor + " is canceled by CP");<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>    }<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>    String namespace = desc.getTableName().getNamespaceAsString();<a name="line.2040"></a>
 <span class="sourceLineNo">2041</span>    this.clusterSchemaService.getNamespace(namespace);<a name="line.2041"></a>
 <span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(tableDescriptor, splitKeys);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(tableDescriptor);<a name="line.2044"></a>
+<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(desc, splitKeys);<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(desc);<a name="line.2044"></a>
 <span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>      @Override<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>      protected void run() throws IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        getMaster().getMasterCoprocessorHost().preCreateTable(tableDescriptor, newRegions);<a name="line.2050"></a>
+<span class="sourceLineNo">2046</span>    return MasterProcedureUtil<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>      .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>        @Override<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>        protected void run() throws IOException {<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>          getMaster().getMasterCoprocessorHost().preCreateTable(desc, newRegions);<a name="line.2050"></a>
 <span class="sourceLineNo">2051</span><a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>        LOG.info(getClientIdAuditPrefix() + " create " + tableDescriptor);<a name="line.2052"></a>
+<span class="sourceLineNo">2052</span>          LOG.info(getClientIdAuditPrefix() + " create " + desc);<a name="line.2052"></a>
 <span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        //       TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>        //<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>        submitProcedure(new CreateTableProcedure(<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>            procedureExecutor.getEnvironment(), tableDescriptor, newRegions, latch));<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>        latch.await();<a name="line.2062"></a>
+<span class="sourceLineNo">2054</span>          // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>          // TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>          //<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>          // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>          // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>          ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>          submitProcedure(<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>            new CreateTableProcedure(procedureExecutor.getEnvironment(), desc, newRegions, latch));<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>          latch.await();<a name="line.2062"></a>
 <span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>        getMaster().getMasterCoprocessorHost().postCreateTable(tableDescriptor, newRegions);<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>      }<a name="line.2065"></a>
+<span class="sourceLineNo">2064</span>          getMaster().getMasterCoprocessorHost().postCreateTable(desc, newRegions);<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>        }<a name="line.2065"></a>
 <span class="sourceLineNo">2066</span><a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>      @Override<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>      protected String getDescription() {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>        return "CreateTableProcedure";<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>      }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    });<a name="line.2071"></a>
+<span class="sourceLineNo">2067</span>        @Override<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>        protected String getDescription() {<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>          return "CreateTableProcedure";<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>        }<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>      });<a name="line.2071"></a>
 <span class="sourceLineNo">2072</span>  }<a name="line.2072"></a>
 <span class="sourceLineNo">2073</span><a name="line.2073"></a>
 <span class="sourceLineNo">2074</span>  @Override<a name="line.2074"></a>