http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/devapidocs/src-html/org/apache/hadoop/hbase/client/example/ExportEndpointExample.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/example/ExportEndpointExample.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/example/ExportEndpointExample.html index 6553e14..f2c7811 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/client/example/ExportEndpointExample.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/example/ExportEndpointExample.html @@ -64,8 +64,8 @@ <span class="sourceLineNo">056</span> Admin admin = con.getAdmin()) {<a name="line.56"></a> <span class="sourceLineNo">057</span> TableDescriptor desc = TableDescriptorBuilder.newBuilder(tableName)<a name="line.57"></a> <span class="sourceLineNo">058</span> // MUST mount the export endpoint<a name="line.58"></a> -<span class="sourceLineNo">059</span> .addCoprocessor(Export.class.getName())<a name="line.59"></a> -<span class="sourceLineNo">060</span> .addColumnFamily(ColumnFamilyDescriptorBuilder.of(family))<a name="line.60"></a> +<span class="sourceLineNo">059</span> .setCoprocessor(Export.class.getName())<a name="line.59"></a> +<span class="sourceLineNo">060</span> .setColumnFamily(ColumnFamilyDescriptorBuilder.of(family))<a name="line.60"></a> <span class="sourceLineNo">061</span> .build();<a name="line.61"></a> <span class="sourceLineNo">062</span> admin.createTable(desc);<a name="line.62"></a> <span class="sourceLineNo">063</span><a name="line.63"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/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 c0d1f4b..6e98f08 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 @@ -2165,7 +2165,7 @@ <span class="sourceLineNo">2157</span> }<a name="line.2157"></a> <span class="sourceLineNo">2158</span><a name="line.2158"></a> <span class="sourceLineNo">2159</span> TableDescriptor newDesc = TableDescriptorBuilder<a name="line.2159"></a> -<span class="sourceLineNo">2160</span> .newBuilder(old).addColumnFamily(column).build();<a name="line.2160"></a> +<span class="sourceLineNo">2160</span> .newBuilder(old).setColumnFamily(column).build();<a name="line.2160"></a> <span class="sourceLineNo">2161</span> return modifyTable(tableName, newDesc, nonceGroup, nonce);<a name="line.2161"></a> <span class="sourceLineNo">2162</span> }<a name="line.2162"></a> <span class="sourceLineNo">2163</span><a name="line.2163"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/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 c0d1f4b..6e98f08 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 @@ -2165,7 +2165,7 @@ <span class="sourceLineNo">2157</span> }<a name="line.2157"></a> <span class="sourceLineNo">2158</span><a name="line.2158"></a> <span class="sourceLineNo">2159</span> TableDescriptor newDesc = TableDescriptorBuilder<a name="line.2159"></a> -<span class="sourceLineNo">2160</span> .newBuilder(old).addColumnFamily(column).build();<a name="line.2160"></a> +<span class="sourceLineNo">2160</span> .newBuilder(old).setColumnFamily(column).build();<a name="line.2160"></a> <span class="sourceLineNo">2161</span> return modifyTable(tableName, newDesc, nonceGroup, nonce);<a name="line.2161"></a> <span class="sourceLineNo">2162</span> }<a name="line.2162"></a> <span class="sourceLineNo">2163</span><a name="line.2163"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/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 c0d1f4b..6e98f08 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 @@ -2165,7 +2165,7 @@ <span class="sourceLineNo">2157</span> }<a name="line.2157"></a> <span class="sourceLineNo">2158</span><a name="line.2158"></a> <span class="sourceLineNo">2159</span> TableDescriptor newDesc = TableDescriptorBuilder<a name="line.2159"></a> -<span class="sourceLineNo">2160</span> .newBuilder(old).addColumnFamily(column).build();<a name="line.2160"></a> +<span class="sourceLineNo">2160</span> .newBuilder(old).setColumnFamily(column).build();<a name="line.2160"></a> <span class="sourceLineNo">2161</span> return modifyTable(tableName, newDesc, nonceGroup, nonce);<a name="line.2161"></a> <span class="sourceLineNo">2162</span> }<a name="line.2162"></a> <span class="sourceLineNo">2163</span><a name="line.2163"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/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 c0d1f4b..6e98f08 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html @@ -2165,7 +2165,7 @@ <span class="sourceLineNo">2157</span> }<a name="line.2157"></a> <span class="sourceLineNo">2158</span><a name="line.2158"></a> <span class="sourceLineNo">2159</span> TableDescriptor newDesc = TableDescriptorBuilder<a name="line.2159"></a> -<span class="sourceLineNo">2160</span> .newBuilder(old).addColumnFamily(column).build();<a name="line.2160"></a> +<span class="sourceLineNo">2160</span> .newBuilder(old).setColumnFamily(column).build();<a name="line.2160"></a> <span class="sourceLineNo">2161</span> return modifyTable(tableName, newDesc, nonceGroup, nonce);<a name="line.2161"></a> <span class="sourceLineNo">2162</span> }<a name="line.2162"></a> <span class="sourceLineNo">2163</span><a name="line.2163"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.TableStateNotFoundException.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.TableStateNotFoundException.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.TableStateNotFoundException.html index c9a422c..39f61de 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.TableStateNotFoundException.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.TableStateNotFoundException.html @@ -278,64 +278,65 @@ <span class="sourceLineNo">270</span> */<a name="line.270"></a> <span class="sourceLineNo">271</span> @Deprecated<a name="line.271"></a> <span class="sourceLineNo">272</span> private void migrateZooKeeper() throws IOException {<a name="line.272"></a> -<span class="sourceLineNo">273</span> if (this.master.getConfiguration().getBoolean(MIGRATE_TABLE_STATE_FROM_ZK_KEY, false)) {<a name="line.273"></a> -<span class="sourceLineNo">274</span> return;<a name="line.274"></a> -<span class="sourceLineNo">275</span> }<a name="line.275"></a> -<span class="sourceLineNo">276</span> try {<a name="line.276"></a> -<span class="sourceLineNo">277</span> for (Map.Entry<TableName, TableState.State> entry:<a name="line.277"></a> -<span class="sourceLineNo">278</span> ZKDataMigrator.queryForTableStates(this.master.getZooKeeper()).entrySet()) {<a name="line.278"></a> -<span class="sourceLineNo">279</span> if (this.master.getTableDescriptors().get(entry.getKey()) == null) {<a name="line.279"></a> -<span class="sourceLineNo">280</span> deleteZooKeeper(entry.getKey());<a name="line.280"></a> -<span class="sourceLineNo">281</span> LOG.info("Purged table state entry from zookeepr for table not in hbase:meta: " +<a name="line.281"></a> -<span class="sourceLineNo">282</span> entry.getKey());<a name="line.282"></a> -<span class="sourceLineNo">283</span> continue;<a name="line.283"></a> -<span class="sourceLineNo">284</span> }<a name="line.284"></a> -<span class="sourceLineNo">285</span> TableState ts = null;<a name="line.285"></a> -<span class="sourceLineNo">286</span> try {<a name="line.286"></a> -<span class="sourceLineNo">287</span> ts = getTableState(entry.getKey());<a name="line.287"></a> -<span class="sourceLineNo">288</span> } catch (TableStateNotFoundException e) {<a name="line.288"></a> -<span class="sourceLineNo">289</span> // This can happen; table exists but no TableState.<a name="line.289"></a> -<span class="sourceLineNo">290</span> }<a name="line.290"></a> -<span class="sourceLineNo">291</span> if (ts == null) {<a name="line.291"></a> -<span class="sourceLineNo">292</span> TableState.State zkstate = entry.getValue();<a name="line.292"></a> -<span class="sourceLineNo">293</span> // Only migrate if it is an enable or disabled table. If in-between -- ENABLING or<a name="line.293"></a> -<span class="sourceLineNo">294</span> // DISABLING then we have a problem; we are starting up an hbase-2 on a cluster with<a name="line.294"></a> -<span class="sourceLineNo">295</span> // RIT. It is going to be rough!<a name="line.295"></a> -<span class="sourceLineNo">296</span> if (zkstate.equals(TableState.State.ENABLED) ||<a name="line.296"></a> -<span class="sourceLineNo">297</span> zkstate.equals(TableState.State.DISABLED)) {<a name="line.297"></a> -<span class="sourceLineNo">298</span> LOG.info("Migrating table state from zookeeper to hbase:meta; tableName=" +<a name="line.298"></a> -<span class="sourceLineNo">299</span> entry.getKey() + ", state=" + entry.getValue());<a name="line.299"></a> -<span class="sourceLineNo">300</span> updateMetaState(entry.getKey(), entry.getValue());<a name="line.300"></a> -<span class="sourceLineNo">301</span> } else {<a name="line.301"></a> -<span class="sourceLineNo">302</span> LOG.warn("Table={} has no state and zookeeper state is in-between={} (neither " +<a name="line.302"></a> -<span class="sourceLineNo">303</span> "ENABLED or DISABLED); NOT MIGRATING table state", entry.getKey(), zkstate);<a name="line.303"></a> -<span class="sourceLineNo">304</span> }<a name="line.304"></a> -<span class="sourceLineNo">305</span> }<a name="line.305"></a> -<span class="sourceLineNo">306</span> // What if the table states disagree? Defer to the hbase:meta setting rather than have the<a name="line.306"></a> -<span class="sourceLineNo">307</span> // hbase-1.x support prevail.<a name="line.307"></a> -<span class="sourceLineNo">308</span> }<a name="line.308"></a> -<span class="sourceLineNo">309</span> } catch (KeeperException |InterruptedException e) {<a name="line.309"></a> -<span class="sourceLineNo">310</span> LOG.warn("Failed reading table state from zookeeper", e);<a name="line.310"></a> -<span class="sourceLineNo">311</span> }<a name="line.311"></a> -<span class="sourceLineNo">312</span> }<a name="line.312"></a> -<span class="sourceLineNo">313</span><a name="line.313"></a> -<span class="sourceLineNo">314</span> /**<a name="line.314"></a> -<span class="sourceLineNo">315</span> * Utility method that knows how to delete the old hbase-1.x table state znode.<a name="line.315"></a> -<span class="sourceLineNo">316</span> * Used also by the Mirroring subclass.<a name="line.316"></a> -<span class="sourceLineNo">317</span> * @deprecated Since 2.0.0. To be removed in hbase-3.0.0.<a name="line.317"></a> -<span class="sourceLineNo">318</span> */<a name="line.318"></a> -<span class="sourceLineNo">319</span> @Deprecated<a name="line.319"></a> -<span class="sourceLineNo">320</span> protected void deleteZooKeeper(TableName tableName) {<a name="line.320"></a> -<span class="sourceLineNo">321</span> try {<a name="line.321"></a> -<span class="sourceLineNo">322</span> // Delete from ZooKeeper<a name="line.322"></a> -<span class="sourceLineNo">323</span> String znode = ZNodePaths.joinZNode(this.master.getZooKeeper().getZNodePaths().tableZNode,<a name="line.323"></a> -<span class="sourceLineNo">324</span> tableName.getNameAsString());<a name="line.324"></a> -<span class="sourceLineNo">325</span> ZKUtil.deleteNodeFailSilent(this.master.getZooKeeper(), znode);<a name="line.325"></a> -<span class="sourceLineNo">326</span> } catch (KeeperException e) {<a name="line.326"></a> -<span class="sourceLineNo">327</span> LOG.warn("Failed deleting table state from zookeeper", e);<a name="line.327"></a> -<span class="sourceLineNo">328</span> }<a name="line.328"></a> -<span class="sourceLineNo">329</span> }<a name="line.329"></a> -<span class="sourceLineNo">330</span>}<a name="line.330"></a> +<span class="sourceLineNo">273</span> if (!this.master.getConfiguration().getBoolean(MIGRATE_TABLE_STATE_FROM_ZK_KEY,<a name="line.273"></a> +<span class="sourceLineNo">274</span> true)) {<a name="line.274"></a> +<span class="sourceLineNo">275</span> return;<a name="line.275"></a> +<span class="sourceLineNo">276</span> }<a name="line.276"></a> +<span class="sourceLineNo">277</span> try {<a name="line.277"></a> +<span class="sourceLineNo">278</span> for (Map.Entry<TableName, TableState.State> entry:<a name="line.278"></a> +<span class="sourceLineNo">279</span> ZKDataMigrator.queryForTableStates(this.master.getZooKeeper()).entrySet()) {<a name="line.279"></a> +<span class="sourceLineNo">280</span> if (this.master.getTableDescriptors().get(entry.getKey()) == null) {<a name="line.280"></a> +<span class="sourceLineNo">281</span> deleteZooKeeper(entry.getKey());<a name="line.281"></a> +<span class="sourceLineNo">282</span> LOG.info("Purged table state entry from zookeepr for table not in hbase:meta: " +<a name="line.282"></a> +<span class="sourceLineNo">283</span> entry.getKey());<a name="line.283"></a> +<span class="sourceLineNo">284</span> continue;<a name="line.284"></a> +<span class="sourceLineNo">285</span> }<a name="line.285"></a> +<span class="sourceLineNo">286</span> TableState ts = null;<a name="line.286"></a> +<span class="sourceLineNo">287</span> try {<a name="line.287"></a> +<span class="sourceLineNo">288</span> ts = getTableState(entry.getKey());<a name="line.288"></a> +<span class="sourceLineNo">289</span> } catch (TableStateNotFoundException e) {<a name="line.289"></a> +<span class="sourceLineNo">290</span> // This can happen; table exists but no TableState.<a name="line.290"></a> +<span class="sourceLineNo">291</span> }<a name="line.291"></a> +<span class="sourceLineNo">292</span> if (ts == null) {<a name="line.292"></a> +<span class="sourceLineNo">293</span> TableState.State zkstate = entry.getValue();<a name="line.293"></a> +<span class="sourceLineNo">294</span> // Only migrate if it is an enable or disabled table. If in-between -- ENABLING or<a name="line.294"></a> +<span class="sourceLineNo">295</span> // DISABLING then we have a problem; we are starting up an hbase-2 on a cluster with<a name="line.295"></a> +<span class="sourceLineNo">296</span> // RIT. It is going to be rough!<a name="line.296"></a> +<span class="sourceLineNo">297</span> if (zkstate.equals(TableState.State.ENABLED) ||<a name="line.297"></a> +<span class="sourceLineNo">298</span> zkstate.equals(TableState.State.DISABLED)) {<a name="line.298"></a> +<span class="sourceLineNo">299</span> LOG.info("Migrating table state from zookeeper to hbase:meta; tableName=" +<a name="line.299"></a> +<span class="sourceLineNo">300</span> entry.getKey() + ", state=" + entry.getValue());<a name="line.300"></a> +<span class="sourceLineNo">301</span> updateMetaState(entry.getKey(), entry.getValue());<a name="line.301"></a> +<span class="sourceLineNo">302</span> } else {<a name="line.302"></a> +<span class="sourceLineNo">303</span> LOG.warn("Table={} has no state and zookeeper state is in-between={} (neither " +<a name="line.303"></a> +<span class="sourceLineNo">304</span> "ENABLED or DISABLED); NOT MIGRATING table state", entry.getKey(), zkstate);<a name="line.304"></a> +<span class="sourceLineNo">305</span> }<a name="line.305"></a> +<span class="sourceLineNo">306</span> }<a name="line.306"></a> +<span class="sourceLineNo">307</span> // What if the table states disagree? Defer to the hbase:meta setting rather than have the<a name="line.307"></a> +<span class="sourceLineNo">308</span> // hbase-1.x support prevail.<a name="line.308"></a> +<span class="sourceLineNo">309</span> }<a name="line.309"></a> +<span class="sourceLineNo">310</span> } catch (KeeperException |InterruptedException e) {<a name="line.310"></a> +<span class="sourceLineNo">311</span> LOG.warn("Failed reading table state from zookeeper", e);<a name="line.311"></a> +<span class="sourceLineNo">312</span> }<a name="line.312"></a> +<span class="sourceLineNo">313</span> }<a name="line.313"></a> +<span class="sourceLineNo">314</span><a name="line.314"></a> +<span class="sourceLineNo">315</span> /**<a name="line.315"></a> +<span class="sourceLineNo">316</span> * Utility method that knows how to delete the old hbase-1.x table state znode.<a name="line.316"></a> +<span class="sourceLineNo">317</span> * Used also by the Mirroring subclass.<a name="line.317"></a> +<span class="sourceLineNo">318</span> * @deprecated Since 2.0.0. To be removed in hbase-3.0.0.<a name="line.318"></a> +<span class="sourceLineNo">319</span> */<a name="line.319"></a> +<span class="sourceLineNo">320</span> @Deprecated<a name="line.320"></a> +<span class="sourceLineNo">321</span> protected void deleteZooKeeper(TableName tableName) {<a name="line.321"></a> +<span class="sourceLineNo">322</span> try {<a name="line.322"></a> +<span class="sourceLineNo">323</span> // Delete from ZooKeeper<a name="line.323"></a> +<span class="sourceLineNo">324</span> String znode = ZNodePaths.joinZNode(this.master.getZooKeeper().getZNodePaths().tableZNode,<a name="line.324"></a> +<span class="sourceLineNo">325</span> tableName.getNameAsString());<a name="line.325"></a> +<span class="sourceLineNo">326</span> ZKUtil.deleteNodeFailSilent(this.master.getZooKeeper(), znode);<a name="line.326"></a> +<span class="sourceLineNo">327</span> } catch (KeeperException e) {<a name="line.327"></a> +<span class="sourceLineNo">328</span> LOG.warn("Failed deleting table state from zookeeper", e);<a name="line.328"></a> +<span class="sourceLineNo">329</span> }<a name="line.329"></a> +<span class="sourceLineNo">330</span> }<a name="line.330"></a> +<span class="sourceLineNo">331</span>}<a name="line.331"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.html index c9a422c..39f61de 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/TableStateManager.html @@ -278,64 +278,65 @@ <span class="sourceLineNo">270</span> */<a name="line.270"></a> <span class="sourceLineNo">271</span> @Deprecated<a name="line.271"></a> <span class="sourceLineNo">272</span> private void migrateZooKeeper() throws IOException {<a name="line.272"></a> -<span class="sourceLineNo">273</span> if (this.master.getConfiguration().getBoolean(MIGRATE_TABLE_STATE_FROM_ZK_KEY, false)) {<a name="line.273"></a> -<span class="sourceLineNo">274</span> return;<a name="line.274"></a> -<span class="sourceLineNo">275</span> }<a name="line.275"></a> -<span class="sourceLineNo">276</span> try {<a name="line.276"></a> -<span class="sourceLineNo">277</span> for (Map.Entry<TableName, TableState.State> entry:<a name="line.277"></a> -<span class="sourceLineNo">278</span> ZKDataMigrator.queryForTableStates(this.master.getZooKeeper()).entrySet()) {<a name="line.278"></a> -<span class="sourceLineNo">279</span> if (this.master.getTableDescriptors().get(entry.getKey()) == null) {<a name="line.279"></a> -<span class="sourceLineNo">280</span> deleteZooKeeper(entry.getKey());<a name="line.280"></a> -<span class="sourceLineNo">281</span> LOG.info("Purged table state entry from zookeepr for table not in hbase:meta: " +<a name="line.281"></a> -<span class="sourceLineNo">282</span> entry.getKey());<a name="line.282"></a> -<span class="sourceLineNo">283</span> continue;<a name="line.283"></a> -<span class="sourceLineNo">284</span> }<a name="line.284"></a> -<span class="sourceLineNo">285</span> TableState ts = null;<a name="line.285"></a> -<span class="sourceLineNo">286</span> try {<a name="line.286"></a> -<span class="sourceLineNo">287</span> ts = getTableState(entry.getKey());<a name="line.287"></a> -<span class="sourceLineNo">288</span> } catch (TableStateNotFoundException e) {<a name="line.288"></a> -<span class="sourceLineNo">289</span> // This can happen; table exists but no TableState.<a name="line.289"></a> -<span class="sourceLineNo">290</span> }<a name="line.290"></a> -<span class="sourceLineNo">291</span> if (ts == null) {<a name="line.291"></a> -<span class="sourceLineNo">292</span> TableState.State zkstate = entry.getValue();<a name="line.292"></a> -<span class="sourceLineNo">293</span> // Only migrate if it is an enable or disabled table. If in-between -- ENABLING or<a name="line.293"></a> -<span class="sourceLineNo">294</span> // DISABLING then we have a problem; we are starting up an hbase-2 on a cluster with<a name="line.294"></a> -<span class="sourceLineNo">295</span> // RIT. It is going to be rough!<a name="line.295"></a> -<span class="sourceLineNo">296</span> if (zkstate.equals(TableState.State.ENABLED) ||<a name="line.296"></a> -<span class="sourceLineNo">297</span> zkstate.equals(TableState.State.DISABLED)) {<a name="line.297"></a> -<span class="sourceLineNo">298</span> LOG.info("Migrating table state from zookeeper to hbase:meta; tableName=" +<a name="line.298"></a> -<span class="sourceLineNo">299</span> entry.getKey() + ", state=" + entry.getValue());<a name="line.299"></a> -<span class="sourceLineNo">300</span> updateMetaState(entry.getKey(), entry.getValue());<a name="line.300"></a> -<span class="sourceLineNo">301</span> } else {<a name="line.301"></a> -<span class="sourceLineNo">302</span> LOG.warn("Table={} has no state and zookeeper state is in-between={} (neither " +<a name="line.302"></a> -<span class="sourceLineNo">303</span> "ENABLED or DISABLED); NOT MIGRATING table state", entry.getKey(), zkstate);<a name="line.303"></a> -<span class="sourceLineNo">304</span> }<a name="line.304"></a> -<span class="sourceLineNo">305</span> }<a name="line.305"></a> -<span class="sourceLineNo">306</span> // What if the table states disagree? Defer to the hbase:meta setting rather than have the<a name="line.306"></a> -<span class="sourceLineNo">307</span> // hbase-1.x support prevail.<a name="line.307"></a> -<span class="sourceLineNo">308</span> }<a name="line.308"></a> -<span class="sourceLineNo">309</span> } catch (KeeperException |InterruptedException e) {<a name="line.309"></a> -<span class="sourceLineNo">310</span> LOG.warn("Failed reading table state from zookeeper", e);<a name="line.310"></a> -<span class="sourceLineNo">311</span> }<a name="line.311"></a> -<span class="sourceLineNo">312</span> }<a name="line.312"></a> -<span class="sourceLineNo">313</span><a name="line.313"></a> -<span class="sourceLineNo">314</span> /**<a name="line.314"></a> -<span class="sourceLineNo">315</span> * Utility method that knows how to delete the old hbase-1.x table state znode.<a name="line.315"></a> -<span class="sourceLineNo">316</span> * Used also by the Mirroring subclass.<a name="line.316"></a> -<span class="sourceLineNo">317</span> * @deprecated Since 2.0.0. To be removed in hbase-3.0.0.<a name="line.317"></a> -<span class="sourceLineNo">318</span> */<a name="line.318"></a> -<span class="sourceLineNo">319</span> @Deprecated<a name="line.319"></a> -<span class="sourceLineNo">320</span> protected void deleteZooKeeper(TableName tableName) {<a name="line.320"></a> -<span class="sourceLineNo">321</span> try {<a name="line.321"></a> -<span class="sourceLineNo">322</span> // Delete from ZooKeeper<a name="line.322"></a> -<span class="sourceLineNo">323</span> String znode = ZNodePaths.joinZNode(this.master.getZooKeeper().getZNodePaths().tableZNode,<a name="line.323"></a> -<span class="sourceLineNo">324</span> tableName.getNameAsString());<a name="line.324"></a> -<span class="sourceLineNo">325</span> ZKUtil.deleteNodeFailSilent(this.master.getZooKeeper(), znode);<a name="line.325"></a> -<span class="sourceLineNo">326</span> } catch (KeeperException e) {<a name="line.326"></a> -<span class="sourceLineNo">327</span> LOG.warn("Failed deleting table state from zookeeper", e);<a name="line.327"></a> -<span class="sourceLineNo">328</span> }<a name="line.328"></a> -<span class="sourceLineNo">329</span> }<a name="line.329"></a> -<span class="sourceLineNo">330</span>}<a name="line.330"></a> +<span class="sourceLineNo">273</span> if (!this.master.getConfiguration().getBoolean(MIGRATE_TABLE_STATE_FROM_ZK_KEY,<a name="line.273"></a> +<span class="sourceLineNo">274</span> true)) {<a name="line.274"></a> +<span class="sourceLineNo">275</span> return;<a name="line.275"></a> +<span class="sourceLineNo">276</span> }<a name="line.276"></a> +<span class="sourceLineNo">277</span> try {<a name="line.277"></a> +<span class="sourceLineNo">278</span> for (Map.Entry<TableName, TableState.State> entry:<a name="line.278"></a> +<span class="sourceLineNo">279</span> ZKDataMigrator.queryForTableStates(this.master.getZooKeeper()).entrySet()) {<a name="line.279"></a> +<span class="sourceLineNo">280</span> if (this.master.getTableDescriptors().get(entry.getKey()) == null) {<a name="line.280"></a> +<span class="sourceLineNo">281</span> deleteZooKeeper(entry.getKey());<a name="line.281"></a> +<span class="sourceLineNo">282</span> LOG.info("Purged table state entry from zookeepr for table not in hbase:meta: " +<a name="line.282"></a> +<span class="sourceLineNo">283</span> entry.getKey());<a name="line.283"></a> +<span class="sourceLineNo">284</span> continue;<a name="line.284"></a> +<span class="sourceLineNo">285</span> }<a name="line.285"></a> +<span class="sourceLineNo">286</span> TableState ts = null;<a name="line.286"></a> +<span class="sourceLineNo">287</span> try {<a name="line.287"></a> +<span class="sourceLineNo">288</span> ts = getTableState(entry.getKey());<a name="line.288"></a> +<span class="sourceLineNo">289</span> } catch (TableStateNotFoundException e) {<a name="line.289"></a> +<span class="sourceLineNo">290</span> // This can happen; table exists but no TableState.<a name="line.290"></a> +<span class="sourceLineNo">291</span> }<a name="line.291"></a> +<span class="sourceLineNo">292</span> if (ts == null) {<a name="line.292"></a> +<span class="sourceLineNo">293</span> TableState.State zkstate = entry.getValue();<a name="line.293"></a> +<span class="sourceLineNo">294</span> // Only migrate if it is an enable or disabled table. If in-between -- ENABLING or<a name="line.294"></a> +<span class="sourceLineNo">295</span> // DISABLING then we have a problem; we are starting up an hbase-2 on a cluster with<a name="line.295"></a> +<span class="sourceLineNo">296</span> // RIT. It is going to be rough!<a name="line.296"></a> +<span class="sourceLineNo">297</span> if (zkstate.equals(TableState.State.ENABLED) ||<a name="line.297"></a> +<span class="sourceLineNo">298</span> zkstate.equals(TableState.State.DISABLED)) {<a name="line.298"></a> +<span class="sourceLineNo">299</span> LOG.info("Migrating table state from zookeeper to hbase:meta; tableName=" +<a name="line.299"></a> +<span class="sourceLineNo">300</span> entry.getKey() + ", state=" + entry.getValue());<a name="line.300"></a> +<span class="sourceLineNo">301</span> updateMetaState(entry.getKey(), entry.getValue());<a name="line.301"></a> +<span class="sourceLineNo">302</span> } else {<a name="line.302"></a> +<span class="sourceLineNo">303</span> LOG.warn("Table={} has no state and zookeeper state is in-between={} (neither " +<a name="line.303"></a> +<span class="sourceLineNo">304</span> "ENABLED or DISABLED); NOT MIGRATING table state", entry.getKey(), zkstate);<a name="line.304"></a> +<span class="sourceLineNo">305</span> }<a name="line.305"></a> +<span class="sourceLineNo">306</span> }<a name="line.306"></a> +<span class="sourceLineNo">307</span> // What if the table states disagree? Defer to the hbase:meta setting rather than have the<a name="line.307"></a> +<span class="sourceLineNo">308</span> // hbase-1.x support prevail.<a name="line.308"></a> +<span class="sourceLineNo">309</span> }<a name="line.309"></a> +<span class="sourceLineNo">310</span> } catch (KeeperException |InterruptedException e) {<a name="line.310"></a> +<span class="sourceLineNo">311</span> LOG.warn("Failed reading table state from zookeeper", e);<a name="line.311"></a> +<span class="sourceLineNo">312</span> }<a name="line.312"></a> +<span class="sourceLineNo">313</span> }<a name="line.313"></a> +<span class="sourceLineNo">314</span><a name="line.314"></a> +<span class="sourceLineNo">315</span> /**<a name="line.315"></a> +<span class="sourceLineNo">316</span> * Utility method that knows how to delete the old hbase-1.x table state znode.<a name="line.316"></a> +<span class="sourceLineNo">317</span> * Used also by the Mirroring subclass.<a name="line.317"></a> +<span class="sourceLineNo">318</span> * @deprecated Since 2.0.0. To be removed in hbase-3.0.0.<a name="line.318"></a> +<span class="sourceLineNo">319</span> */<a name="line.319"></a> +<span class="sourceLineNo">320</span> @Deprecated<a name="line.320"></a> +<span class="sourceLineNo">321</span> protected void deleteZooKeeper(TableName tableName) {<a name="line.321"></a> +<span class="sourceLineNo">322</span> try {<a name="line.322"></a> +<span class="sourceLineNo">323</span> // Delete from ZooKeeper<a name="line.323"></a> +<span class="sourceLineNo">324</span> String znode = ZNodePaths.joinZNode(this.master.getZooKeeper().getZNodePaths().tableZNode,<a name="line.324"></a> +<span class="sourceLineNo">325</span> tableName.getNameAsString());<a name="line.325"></a> +<span class="sourceLineNo">326</span> ZKUtil.deleteNodeFailSilent(this.master.getZooKeeper(), znode);<a name="line.326"></a> +<span class="sourceLineNo">327</span> } catch (KeeperException e) {<a name="line.327"></a> +<span class="sourceLineNo">328</span> LOG.warn("Failed deleting table state from zookeeper", e);<a name="line.328"></a> +<span class="sourceLineNo">329</span> }<a name="line.329"></a> +<span class="sourceLineNo">330</span> }<a name="line.330"></a> +<span class="sourceLineNo">331</span>}<a name="line.331"></a>
