http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html index 714fe7f..f96c848 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html @@ -1551,7 +1551,7 @@ <span class="sourceLineNo">1543</span> assertTrue("Found server", found);<a name="line.1543"></a> <span class="sourceLineNo">1544</span> LOG.info("Found " + destName);<a name="line.1544"></a> <span class="sourceLineNo">1545</span> master.getMasterRpcServices().moveRegion(null, RequestConverter.buildMoveRegionRequest(<a name="line.1545"></a> -<span class="sourceLineNo">1546</span> firstGoodPair.getRegionInfo().getEncodedNameAsBytes(),Bytes.toBytes(destName)));<a name="line.1546"></a> +<span class="sourceLineNo">1546</span> firstGoodPair.getRegionInfo().getEncodedNameAsBytes(), ServerName.valueOf(destName)));<a name="line.1546"></a> <span class="sourceLineNo">1547</span> assertTrue("Coprocessor should have been called on region move",<a name="line.1547"></a> <span class="sourceLineNo">1548</span> cp.wasMoveCalled());<a name="line.1548"></a> <span class="sourceLineNo">1549</span><a name="line.1549"></a> @@ -1573,130 +1573,131 @@ <span class="sourceLineNo">1565</span> UTIL.waitUntilNoRegionsInTransition();<a name="line.1565"></a> <span class="sourceLineNo">1566</span> List<RegionInfo> openRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.1566"></a> <span class="sourceLineNo">1567</span> int moveCnt = openRegions.size()/2;<a name="line.1567"></a> -<span class="sourceLineNo">1568</span> for (int i=0; i<moveCnt; i++) {<a name="line.1568"></a> +<span class="sourceLineNo">1568</span> for (int i = 0; i < moveCnt; i++) {<a name="line.1568"></a> <span class="sourceLineNo">1569</span> RegionInfo info = openRegions.get(i);<a name="line.1569"></a> <span class="sourceLineNo">1570</span> if (!info.isMetaRegion()) {<a name="line.1570"></a> -<span class="sourceLineNo">1571</span> master.getMasterRpcServices().moveRegion(null, RequestConverter.buildMoveRegionRequest(<a name="line.1571"></a> -<span class="sourceLineNo">1572</span> openRegions.get(i).getEncodedNameAsBytes(), destRS));<a name="line.1572"></a> -<span class="sourceLineNo">1573</span> }<a name="line.1573"></a> -<span class="sourceLineNo">1574</span> }<a name="line.1574"></a> -<span class="sourceLineNo">1575</span> //Make sure no regions are in transition now<a name="line.1575"></a> -<span class="sourceLineNo">1576</span> UTIL.waitUntilNoRegionsInTransition();<a name="line.1576"></a> -<span class="sourceLineNo">1577</span> // now trigger a balance<a name="line.1577"></a> -<span class="sourceLineNo">1578</span> master.balanceSwitch(true);<a name="line.1578"></a> -<span class="sourceLineNo">1579</span> boolean balanceRun = master.balance();<a name="line.1579"></a> -<span class="sourceLineNo">1580</span> assertTrue("Coprocessor should be called on region rebalancing",<a name="line.1580"></a> -<span class="sourceLineNo">1581</span> cp.wasBalanceCalled());<a name="line.1581"></a> -<span class="sourceLineNo">1582</span> } finally {<a name="line.1582"></a> -<span class="sourceLineNo">1583</span> Admin admin = UTIL.getAdmin();<a name="line.1583"></a> -<span class="sourceLineNo">1584</span> admin.disableTable(tableName);<a name="line.1584"></a> -<span class="sourceLineNo">1585</span> deleteTable(admin, tableName);<a name="line.1585"></a> -<span class="sourceLineNo">1586</span> }<a name="line.1586"></a> -<span class="sourceLineNo">1587</span> }<a name="line.1587"></a> -<span class="sourceLineNo">1588</span><a name="line.1588"></a> -<span class="sourceLineNo">1589</span> @Test (timeout=180000)<a name="line.1589"></a> -<span class="sourceLineNo">1590</span> public void testTableDescriptorsEnumeration() throws Exception {<a name="line.1590"></a> -<span class="sourceLineNo">1591</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1591"></a> -<span class="sourceLineNo">1592</span><a name="line.1592"></a> -<span class="sourceLineNo">1593</span> HMaster master = cluster.getMaster();<a name="line.1593"></a> -<span class="sourceLineNo">1594</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1594"></a> -<span class="sourceLineNo">1595</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1595"></a> -<span class="sourceLineNo">1596</span> cp.resetStates();<a name="line.1596"></a> -<span class="sourceLineNo">1597</span><a name="line.1597"></a> -<span class="sourceLineNo">1598</span> GetTableDescriptorsRequest req =<a name="line.1598"></a> -<span class="sourceLineNo">1599</span> RequestConverter.buildGetTableDescriptorsRequest((List<TableName>)null);<a name="line.1599"></a> -<span class="sourceLineNo">1600</span> master.getMasterRpcServices().getTableDescriptors(null, req);<a name="line.1600"></a> -<span class="sourceLineNo">1601</span><a name="line.1601"></a> -<span class="sourceLineNo">1602</span> assertTrue("Coprocessor should be called on table descriptors request",<a name="line.1602"></a> -<span class="sourceLineNo">1603</span> cp.wasGetTableDescriptorsCalled());<a name="line.1603"></a> -<span class="sourceLineNo">1604</span> }<a name="line.1604"></a> -<span class="sourceLineNo">1605</span><a name="line.1605"></a> -<span class="sourceLineNo">1606</span> @Test (timeout=180000)<a name="line.1606"></a> -<span class="sourceLineNo">1607</span> public void testTableNamesEnumeration() throws Exception {<a name="line.1607"></a> -<span class="sourceLineNo">1608</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1608"></a> -<span class="sourceLineNo">1609</span><a name="line.1609"></a> -<span class="sourceLineNo">1610</span> HMaster master = cluster.getMaster();<a name="line.1610"></a> -<span class="sourceLineNo">1611</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1611"></a> -<span class="sourceLineNo">1612</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1612"></a> -<span class="sourceLineNo">1613</span> cp.resetStates();<a name="line.1613"></a> -<span class="sourceLineNo">1614</span><a name="line.1614"></a> -<span class="sourceLineNo">1615</span> master.getMasterRpcServices().getTableNames(null,<a name="line.1615"></a> -<span class="sourceLineNo">1616</span> GetTableNamesRequest.newBuilder().build());<a name="line.1616"></a> -<span class="sourceLineNo">1617</span> assertTrue("Coprocessor should be called on table names request",<a name="line.1617"></a> -<span class="sourceLineNo">1618</span> cp.wasGetTableNamesCalled());<a name="line.1618"></a> -<span class="sourceLineNo">1619</span> }<a name="line.1619"></a> -<span class="sourceLineNo">1620</span><a name="line.1620"></a> -<span class="sourceLineNo">1621</span> @Test (timeout=180000)<a name="line.1621"></a> -<span class="sourceLineNo">1622</span> public void testAbortProcedureOperation() throws Exception {<a name="line.1622"></a> -<span class="sourceLineNo">1623</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1623"></a> -<span class="sourceLineNo">1624</span><a name="line.1624"></a> -<span class="sourceLineNo">1625</span> HMaster master = cluster.getMaster();<a name="line.1625"></a> -<span class="sourceLineNo">1626</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1626"></a> -<span class="sourceLineNo">1627</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1627"></a> -<span class="sourceLineNo">1628</span> cp.resetStates();<a name="line.1628"></a> -<span class="sourceLineNo">1629</span><a name="line.1629"></a> -<span class="sourceLineNo">1630</span> master.abortProcedure(1, true);<a name="line.1630"></a> -<span class="sourceLineNo">1631</span> assertTrue(<a name="line.1631"></a> -<span class="sourceLineNo">1632</span> "Coprocessor should be called on abort procedure request",<a name="line.1632"></a> -<span class="sourceLineNo">1633</span> cp.wasAbortProcedureCalled());<a name="line.1633"></a> -<span class="sourceLineNo">1634</span> }<a name="line.1634"></a> -<span class="sourceLineNo">1635</span><a name="line.1635"></a> -<span class="sourceLineNo">1636</span> @Test (timeout=180000)<a name="line.1636"></a> -<span class="sourceLineNo">1637</span> public void testGetProceduresOperation() throws Exception {<a name="line.1637"></a> -<span class="sourceLineNo">1638</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1638"></a> -<span class="sourceLineNo">1639</span><a name="line.1639"></a> -<span class="sourceLineNo">1640</span> HMaster master = cluster.getMaster();<a name="line.1640"></a> -<span class="sourceLineNo">1641</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1641"></a> -<span class="sourceLineNo">1642</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1642"></a> -<span class="sourceLineNo">1643</span> cp.resetStates();<a name="line.1643"></a> -<span class="sourceLineNo">1644</span><a name="line.1644"></a> -<span class="sourceLineNo">1645</span> master.getProcedures();<a name="line.1645"></a> -<span class="sourceLineNo">1646</span> assertTrue(<a name="line.1646"></a> -<span class="sourceLineNo">1647</span> "Coprocessor should be called on get procedures request",<a name="line.1647"></a> -<span class="sourceLineNo">1648</span> cp.wasGetProceduresCalled());<a name="line.1648"></a> -<span class="sourceLineNo">1649</span> }<a name="line.1649"></a> -<span class="sourceLineNo">1650</span><a name="line.1650"></a> -<span class="sourceLineNo">1651</span> @Test (timeout=180000)<a name="line.1651"></a> -<span class="sourceLineNo">1652</span> public void testGetLocksOperation() throws Exception {<a name="line.1652"></a> -<span class="sourceLineNo">1653</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1653"></a> -<span class="sourceLineNo">1654</span><a name="line.1654"></a> -<span class="sourceLineNo">1655</span> HMaster master = cluster.getMaster();<a name="line.1655"></a> -<span class="sourceLineNo">1656</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1656"></a> -<span class="sourceLineNo">1657</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1657"></a> -<span class="sourceLineNo">1658</span> cp.resetStates();<a name="line.1658"></a> -<span class="sourceLineNo">1659</span><a name="line.1659"></a> -<span class="sourceLineNo">1660</span> master.getLocks();<a name="line.1660"></a> -<span class="sourceLineNo">1661</span> assertTrue(<a name="line.1661"></a> -<span class="sourceLineNo">1662</span> "Coprocessor should be called on get locks request",<a name="line.1662"></a> -<span class="sourceLineNo">1663</span> cp.wasGetLocksCalled());<a name="line.1663"></a> -<span class="sourceLineNo">1664</span> }<a name="line.1664"></a> -<span class="sourceLineNo">1665</span><a name="line.1665"></a> -<span class="sourceLineNo">1666</span> private void deleteTable(Admin admin, TableName tableName) throws Exception {<a name="line.1666"></a> -<span class="sourceLineNo">1667</span> // NOTE: We need a latch because admin is not sync,<a name="line.1667"></a> -<span class="sourceLineNo">1668</span> // so the postOp coprocessor method may be called after the admin operation returned.<a name="line.1668"></a> -<span class="sourceLineNo">1669</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1669"></a> -<span class="sourceLineNo">1670</span> admin.deleteTable(tableName);<a name="line.1670"></a> -<span class="sourceLineNo">1671</span> tableDeletionLatch.await();<a name="line.1671"></a> -<span class="sourceLineNo">1672</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1672"></a> -<span class="sourceLineNo">1673</span> }<a name="line.1673"></a> -<span class="sourceLineNo">1674</span><a name="line.1674"></a> -<span class="sourceLineNo">1675</span> @Test<a name="line.1675"></a> -<span class="sourceLineNo">1676</span> public void testQueueLockAndLockHeartbeatOperations() throws Exception {<a name="line.1676"></a> -<span class="sourceLineNo">1677</span> HMaster master = UTIL.getMiniHBaseCluster().getMaster();<a name="line.1677"></a> -<span class="sourceLineNo">1678</span> CPMasterObserver cp = master.getMasterCoprocessorHost().findCoprocessor(CPMasterObserver.class);<a name="line.1678"></a> -<span class="sourceLineNo">1679</span> cp.resetStates();<a name="line.1679"></a> -<span class="sourceLineNo">1680</span><a name="line.1680"></a> -<span class="sourceLineNo">1681</span> final TableName tableName = TableName.valueOf("testLockedTable");<a name="line.1681"></a> -<span class="sourceLineNo">1682</span> long procId = master.getLockManager().remoteLocks().requestTableLock(tableName,<a name="line.1682"></a> -<span class="sourceLineNo">1683</span> LockType.EXCLUSIVE, "desc", null);<a name="line.1683"></a> -<span class="sourceLineNo">1684</span> master.getLockManager().remoteLocks().lockHeartbeat(procId, false);<a name="line.1684"></a> -<span class="sourceLineNo">1685</span><a name="line.1685"></a> -<span class="sourceLineNo">1686</span> assertTrue(cp.preAndPostForQueueLockAndHeartbeatLockCalled());<a name="line.1686"></a> -<span class="sourceLineNo">1687</span><a name="line.1687"></a> -<span class="sourceLineNo">1688</span> ProcedureTestingUtility.waitNoProcedureRunning(master.getMasterProcedureExecutor());<a name="line.1688"></a> -<span class="sourceLineNo">1689</span> ProcedureTestingUtility.assertProcNotFailed(master.getMasterProcedureExecutor(), procId);<a name="line.1689"></a> -<span class="sourceLineNo">1690</span> }<a name="line.1690"></a> -<span class="sourceLineNo">1691</span>}<a name="line.1691"></a> +<span class="sourceLineNo">1571</span> master.getMasterRpcServices().moveRegion(null,<a name="line.1571"></a> +<span class="sourceLineNo">1572</span> RequestConverter.buildMoveRegionRequest(openRegions.get(i).getEncodedNameAsBytes(),<a name="line.1572"></a> +<span class="sourceLineNo">1573</span> ServerName.valueOf(Bytes.toString(destRS))));<a name="line.1573"></a> +<span class="sourceLineNo">1574</span> }<a name="line.1574"></a> +<span class="sourceLineNo">1575</span> }<a name="line.1575"></a> +<span class="sourceLineNo">1576</span> //Make sure no regions are in transition now<a name="line.1576"></a> +<span class="sourceLineNo">1577</span> UTIL.waitUntilNoRegionsInTransition();<a name="line.1577"></a> +<span class="sourceLineNo">1578</span> // now trigger a balance<a name="line.1578"></a> +<span class="sourceLineNo">1579</span> master.balanceSwitch(true);<a name="line.1579"></a> +<span class="sourceLineNo">1580</span> boolean balanceRun = master.balance();<a name="line.1580"></a> +<span class="sourceLineNo">1581</span> assertTrue("Coprocessor should be called on region rebalancing",<a name="line.1581"></a> +<span class="sourceLineNo">1582</span> cp.wasBalanceCalled());<a name="line.1582"></a> +<span class="sourceLineNo">1583</span> } finally {<a name="line.1583"></a> +<span class="sourceLineNo">1584</span> Admin admin = UTIL.getAdmin();<a name="line.1584"></a> +<span class="sourceLineNo">1585</span> admin.disableTable(tableName);<a name="line.1585"></a> +<span class="sourceLineNo">1586</span> deleteTable(admin, tableName);<a name="line.1586"></a> +<span class="sourceLineNo">1587</span> }<a name="line.1587"></a> +<span class="sourceLineNo">1588</span> }<a name="line.1588"></a> +<span class="sourceLineNo">1589</span><a name="line.1589"></a> +<span class="sourceLineNo">1590</span> @Test (timeout=180000)<a name="line.1590"></a> +<span class="sourceLineNo">1591</span> public void testTableDescriptorsEnumeration() throws Exception {<a name="line.1591"></a> +<span class="sourceLineNo">1592</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1592"></a> +<span class="sourceLineNo">1593</span><a name="line.1593"></a> +<span class="sourceLineNo">1594</span> HMaster master = cluster.getMaster();<a name="line.1594"></a> +<span class="sourceLineNo">1595</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1595"></a> +<span class="sourceLineNo">1596</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1596"></a> +<span class="sourceLineNo">1597</span> cp.resetStates();<a name="line.1597"></a> +<span class="sourceLineNo">1598</span><a name="line.1598"></a> +<span class="sourceLineNo">1599</span> GetTableDescriptorsRequest req =<a name="line.1599"></a> +<span class="sourceLineNo">1600</span> RequestConverter.buildGetTableDescriptorsRequest((List<TableName>)null);<a name="line.1600"></a> +<span class="sourceLineNo">1601</span> master.getMasterRpcServices().getTableDescriptors(null, req);<a name="line.1601"></a> +<span class="sourceLineNo">1602</span><a name="line.1602"></a> +<span class="sourceLineNo">1603</span> assertTrue("Coprocessor should be called on table descriptors request",<a name="line.1603"></a> +<span class="sourceLineNo">1604</span> cp.wasGetTableDescriptorsCalled());<a name="line.1604"></a> +<span class="sourceLineNo">1605</span> }<a name="line.1605"></a> +<span class="sourceLineNo">1606</span><a name="line.1606"></a> +<span class="sourceLineNo">1607</span> @Test (timeout=180000)<a name="line.1607"></a> +<span class="sourceLineNo">1608</span> public void testTableNamesEnumeration() throws Exception {<a name="line.1608"></a> +<span class="sourceLineNo">1609</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1609"></a> +<span class="sourceLineNo">1610</span><a name="line.1610"></a> +<span class="sourceLineNo">1611</span> HMaster master = cluster.getMaster();<a name="line.1611"></a> +<span class="sourceLineNo">1612</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1612"></a> +<span class="sourceLineNo">1613</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1613"></a> +<span class="sourceLineNo">1614</span> cp.resetStates();<a name="line.1614"></a> +<span class="sourceLineNo">1615</span><a name="line.1615"></a> +<span class="sourceLineNo">1616</span> master.getMasterRpcServices().getTableNames(null,<a name="line.1616"></a> +<span class="sourceLineNo">1617</span> GetTableNamesRequest.newBuilder().build());<a name="line.1617"></a> +<span class="sourceLineNo">1618</span> assertTrue("Coprocessor should be called on table names request",<a name="line.1618"></a> +<span class="sourceLineNo">1619</span> cp.wasGetTableNamesCalled());<a name="line.1619"></a> +<span class="sourceLineNo">1620</span> }<a name="line.1620"></a> +<span class="sourceLineNo">1621</span><a name="line.1621"></a> +<span class="sourceLineNo">1622</span> @Test (timeout=180000)<a name="line.1622"></a> +<span class="sourceLineNo">1623</span> public void testAbortProcedureOperation() throws Exception {<a name="line.1623"></a> +<span class="sourceLineNo">1624</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1624"></a> +<span class="sourceLineNo">1625</span><a name="line.1625"></a> +<span class="sourceLineNo">1626</span> HMaster master = cluster.getMaster();<a name="line.1626"></a> +<span class="sourceLineNo">1627</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1627"></a> +<span class="sourceLineNo">1628</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1628"></a> +<span class="sourceLineNo">1629</span> cp.resetStates();<a name="line.1629"></a> +<span class="sourceLineNo">1630</span><a name="line.1630"></a> +<span class="sourceLineNo">1631</span> master.abortProcedure(1, true);<a name="line.1631"></a> +<span class="sourceLineNo">1632</span> assertTrue(<a name="line.1632"></a> +<span class="sourceLineNo">1633</span> "Coprocessor should be called on abort procedure request",<a name="line.1633"></a> +<span class="sourceLineNo">1634</span> cp.wasAbortProcedureCalled());<a name="line.1634"></a> +<span class="sourceLineNo">1635</span> }<a name="line.1635"></a> +<span class="sourceLineNo">1636</span><a name="line.1636"></a> +<span class="sourceLineNo">1637</span> @Test (timeout=180000)<a name="line.1637"></a> +<span class="sourceLineNo">1638</span> public void testGetProceduresOperation() throws Exception {<a name="line.1638"></a> +<span class="sourceLineNo">1639</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1639"></a> +<span class="sourceLineNo">1640</span><a name="line.1640"></a> +<span class="sourceLineNo">1641</span> HMaster master = cluster.getMaster();<a name="line.1641"></a> +<span class="sourceLineNo">1642</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1642"></a> +<span class="sourceLineNo">1643</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1643"></a> +<span class="sourceLineNo">1644</span> cp.resetStates();<a name="line.1644"></a> +<span class="sourceLineNo">1645</span><a name="line.1645"></a> +<span class="sourceLineNo">1646</span> master.getProcedures();<a name="line.1646"></a> +<span class="sourceLineNo">1647</span> assertTrue(<a name="line.1647"></a> +<span class="sourceLineNo">1648</span> "Coprocessor should be called on get procedures request",<a name="line.1648"></a> +<span class="sourceLineNo">1649</span> cp.wasGetProceduresCalled());<a name="line.1649"></a> +<span class="sourceLineNo">1650</span> }<a name="line.1650"></a> +<span class="sourceLineNo">1651</span><a name="line.1651"></a> +<span class="sourceLineNo">1652</span> @Test (timeout=180000)<a name="line.1652"></a> +<span class="sourceLineNo">1653</span> public void testGetLocksOperation() throws Exception {<a name="line.1653"></a> +<span class="sourceLineNo">1654</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1654"></a> +<span class="sourceLineNo">1655</span><a name="line.1655"></a> +<span class="sourceLineNo">1656</span> HMaster master = cluster.getMaster();<a name="line.1656"></a> +<span class="sourceLineNo">1657</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1657"></a> +<span class="sourceLineNo">1658</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1658"></a> +<span class="sourceLineNo">1659</span> cp.resetStates();<a name="line.1659"></a> +<span class="sourceLineNo">1660</span><a name="line.1660"></a> +<span class="sourceLineNo">1661</span> master.getLocks();<a name="line.1661"></a> +<span class="sourceLineNo">1662</span> assertTrue(<a name="line.1662"></a> +<span class="sourceLineNo">1663</span> "Coprocessor should be called on get locks request",<a name="line.1663"></a> +<span class="sourceLineNo">1664</span> cp.wasGetLocksCalled());<a name="line.1664"></a> +<span class="sourceLineNo">1665</span> }<a name="line.1665"></a> +<span class="sourceLineNo">1666</span><a name="line.1666"></a> +<span class="sourceLineNo">1667</span> private void deleteTable(Admin admin, TableName tableName) throws Exception {<a name="line.1667"></a> +<span class="sourceLineNo">1668</span> // NOTE: We need a latch because admin is not sync,<a name="line.1668"></a> +<span class="sourceLineNo">1669</span> // so the postOp coprocessor method may be called after the admin operation returned.<a name="line.1669"></a> +<span class="sourceLineNo">1670</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1670"></a> +<span class="sourceLineNo">1671</span> admin.deleteTable(tableName);<a name="line.1671"></a> +<span class="sourceLineNo">1672</span> tableDeletionLatch.await();<a name="line.1672"></a> +<span class="sourceLineNo">1673</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1673"></a> +<span class="sourceLineNo">1674</span> }<a name="line.1674"></a> +<span class="sourceLineNo">1675</span><a name="line.1675"></a> +<span class="sourceLineNo">1676</span> @Test<a name="line.1676"></a> +<span class="sourceLineNo">1677</span> public void testQueueLockAndLockHeartbeatOperations() throws Exception {<a name="line.1677"></a> +<span class="sourceLineNo">1678</span> HMaster master = UTIL.getMiniHBaseCluster().getMaster();<a name="line.1678"></a> +<span class="sourceLineNo">1679</span> CPMasterObserver cp = master.getMasterCoprocessorHost().findCoprocessor(CPMasterObserver.class);<a name="line.1679"></a> +<span class="sourceLineNo">1680</span> cp.resetStates();<a name="line.1680"></a> +<span class="sourceLineNo">1681</span><a name="line.1681"></a> +<span class="sourceLineNo">1682</span> final TableName tableName = TableName.valueOf("testLockedTable");<a name="line.1682"></a> +<span class="sourceLineNo">1683</span> long procId = master.getLockManager().remoteLocks().requestTableLock(tableName,<a name="line.1683"></a> +<span class="sourceLineNo">1684</span> LockType.EXCLUSIVE, "desc", null);<a name="line.1684"></a> +<span class="sourceLineNo">1685</span> master.getLockManager().remoteLocks().lockHeartbeat(procId, false);<a name="line.1685"></a> +<span class="sourceLineNo">1686</span><a name="line.1686"></a> +<span class="sourceLineNo">1687</span> assertTrue(cp.preAndPostForQueueLockAndHeartbeatLockCalled());<a name="line.1687"></a> +<span class="sourceLineNo">1688</span><a name="line.1688"></a> +<span class="sourceLineNo">1689</span> ProcedureTestingUtility.waitNoProcedureRunning(master.getMasterProcedureExecutor());<a name="line.1689"></a> +<span class="sourceLineNo">1690</span> ProcedureTestingUtility.assertProcNotFailed(master.getMasterProcedureExecutor(), procId);<a name="line.1690"></a> +<span class="sourceLineNo">1691</span> }<a name="line.1691"></a> +<span class="sourceLineNo">1692</span>}<a name="line.1692"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html index 714fe7f..f96c848 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html @@ -1551,7 +1551,7 @@ <span class="sourceLineNo">1543</span> assertTrue("Found server", found);<a name="line.1543"></a> <span class="sourceLineNo">1544</span> LOG.info("Found " + destName);<a name="line.1544"></a> <span class="sourceLineNo">1545</span> master.getMasterRpcServices().moveRegion(null, RequestConverter.buildMoveRegionRequest(<a name="line.1545"></a> -<span class="sourceLineNo">1546</span> firstGoodPair.getRegionInfo().getEncodedNameAsBytes(),Bytes.toBytes(destName)));<a name="line.1546"></a> +<span class="sourceLineNo">1546</span> firstGoodPair.getRegionInfo().getEncodedNameAsBytes(), ServerName.valueOf(destName)));<a name="line.1546"></a> <span class="sourceLineNo">1547</span> assertTrue("Coprocessor should have been called on region move",<a name="line.1547"></a> <span class="sourceLineNo">1548</span> cp.wasMoveCalled());<a name="line.1548"></a> <span class="sourceLineNo">1549</span><a name="line.1549"></a> @@ -1573,130 +1573,131 @@ <span class="sourceLineNo">1565</span> UTIL.waitUntilNoRegionsInTransition();<a name="line.1565"></a> <span class="sourceLineNo">1566</span> List<RegionInfo> openRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.1566"></a> <span class="sourceLineNo">1567</span> int moveCnt = openRegions.size()/2;<a name="line.1567"></a> -<span class="sourceLineNo">1568</span> for (int i=0; i<moveCnt; i++) {<a name="line.1568"></a> +<span class="sourceLineNo">1568</span> for (int i = 0; i < moveCnt; i++) {<a name="line.1568"></a> <span class="sourceLineNo">1569</span> RegionInfo info = openRegions.get(i);<a name="line.1569"></a> <span class="sourceLineNo">1570</span> if (!info.isMetaRegion()) {<a name="line.1570"></a> -<span class="sourceLineNo">1571</span> master.getMasterRpcServices().moveRegion(null, RequestConverter.buildMoveRegionRequest(<a name="line.1571"></a> -<span class="sourceLineNo">1572</span> openRegions.get(i).getEncodedNameAsBytes(), destRS));<a name="line.1572"></a> -<span class="sourceLineNo">1573</span> }<a name="line.1573"></a> -<span class="sourceLineNo">1574</span> }<a name="line.1574"></a> -<span class="sourceLineNo">1575</span> //Make sure no regions are in transition now<a name="line.1575"></a> -<span class="sourceLineNo">1576</span> UTIL.waitUntilNoRegionsInTransition();<a name="line.1576"></a> -<span class="sourceLineNo">1577</span> // now trigger a balance<a name="line.1577"></a> -<span class="sourceLineNo">1578</span> master.balanceSwitch(true);<a name="line.1578"></a> -<span class="sourceLineNo">1579</span> boolean balanceRun = master.balance();<a name="line.1579"></a> -<span class="sourceLineNo">1580</span> assertTrue("Coprocessor should be called on region rebalancing",<a name="line.1580"></a> -<span class="sourceLineNo">1581</span> cp.wasBalanceCalled());<a name="line.1581"></a> -<span class="sourceLineNo">1582</span> } finally {<a name="line.1582"></a> -<span class="sourceLineNo">1583</span> Admin admin = UTIL.getAdmin();<a name="line.1583"></a> -<span class="sourceLineNo">1584</span> admin.disableTable(tableName);<a name="line.1584"></a> -<span class="sourceLineNo">1585</span> deleteTable(admin, tableName);<a name="line.1585"></a> -<span class="sourceLineNo">1586</span> }<a name="line.1586"></a> -<span class="sourceLineNo">1587</span> }<a name="line.1587"></a> -<span class="sourceLineNo">1588</span><a name="line.1588"></a> -<span class="sourceLineNo">1589</span> @Test (timeout=180000)<a name="line.1589"></a> -<span class="sourceLineNo">1590</span> public void testTableDescriptorsEnumeration() throws Exception {<a name="line.1590"></a> -<span class="sourceLineNo">1591</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1591"></a> -<span class="sourceLineNo">1592</span><a name="line.1592"></a> -<span class="sourceLineNo">1593</span> HMaster master = cluster.getMaster();<a name="line.1593"></a> -<span class="sourceLineNo">1594</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1594"></a> -<span class="sourceLineNo">1595</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1595"></a> -<span class="sourceLineNo">1596</span> cp.resetStates();<a name="line.1596"></a> -<span class="sourceLineNo">1597</span><a name="line.1597"></a> -<span class="sourceLineNo">1598</span> GetTableDescriptorsRequest req =<a name="line.1598"></a> -<span class="sourceLineNo">1599</span> RequestConverter.buildGetTableDescriptorsRequest((List<TableName>)null);<a name="line.1599"></a> -<span class="sourceLineNo">1600</span> master.getMasterRpcServices().getTableDescriptors(null, req);<a name="line.1600"></a> -<span class="sourceLineNo">1601</span><a name="line.1601"></a> -<span class="sourceLineNo">1602</span> assertTrue("Coprocessor should be called on table descriptors request",<a name="line.1602"></a> -<span class="sourceLineNo">1603</span> cp.wasGetTableDescriptorsCalled());<a name="line.1603"></a> -<span class="sourceLineNo">1604</span> }<a name="line.1604"></a> -<span class="sourceLineNo">1605</span><a name="line.1605"></a> -<span class="sourceLineNo">1606</span> @Test (timeout=180000)<a name="line.1606"></a> -<span class="sourceLineNo">1607</span> public void testTableNamesEnumeration() throws Exception {<a name="line.1607"></a> -<span class="sourceLineNo">1608</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1608"></a> -<span class="sourceLineNo">1609</span><a name="line.1609"></a> -<span class="sourceLineNo">1610</span> HMaster master = cluster.getMaster();<a name="line.1610"></a> -<span class="sourceLineNo">1611</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1611"></a> -<span class="sourceLineNo">1612</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1612"></a> -<span class="sourceLineNo">1613</span> cp.resetStates();<a name="line.1613"></a> -<span class="sourceLineNo">1614</span><a name="line.1614"></a> -<span class="sourceLineNo">1615</span> master.getMasterRpcServices().getTableNames(null,<a name="line.1615"></a> -<span class="sourceLineNo">1616</span> GetTableNamesRequest.newBuilder().build());<a name="line.1616"></a> -<span class="sourceLineNo">1617</span> assertTrue("Coprocessor should be called on table names request",<a name="line.1617"></a> -<span class="sourceLineNo">1618</span> cp.wasGetTableNamesCalled());<a name="line.1618"></a> -<span class="sourceLineNo">1619</span> }<a name="line.1619"></a> -<span class="sourceLineNo">1620</span><a name="line.1620"></a> -<span class="sourceLineNo">1621</span> @Test (timeout=180000)<a name="line.1621"></a> -<span class="sourceLineNo">1622</span> public void testAbortProcedureOperation() throws Exception {<a name="line.1622"></a> -<span class="sourceLineNo">1623</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1623"></a> -<span class="sourceLineNo">1624</span><a name="line.1624"></a> -<span class="sourceLineNo">1625</span> HMaster master = cluster.getMaster();<a name="line.1625"></a> -<span class="sourceLineNo">1626</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1626"></a> -<span class="sourceLineNo">1627</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1627"></a> -<span class="sourceLineNo">1628</span> cp.resetStates();<a name="line.1628"></a> -<span class="sourceLineNo">1629</span><a name="line.1629"></a> -<span class="sourceLineNo">1630</span> master.abortProcedure(1, true);<a name="line.1630"></a> -<span class="sourceLineNo">1631</span> assertTrue(<a name="line.1631"></a> -<span class="sourceLineNo">1632</span> "Coprocessor should be called on abort procedure request",<a name="line.1632"></a> -<span class="sourceLineNo">1633</span> cp.wasAbortProcedureCalled());<a name="line.1633"></a> -<span class="sourceLineNo">1634</span> }<a name="line.1634"></a> -<span class="sourceLineNo">1635</span><a name="line.1635"></a> -<span class="sourceLineNo">1636</span> @Test (timeout=180000)<a name="line.1636"></a> -<span class="sourceLineNo">1637</span> public void testGetProceduresOperation() throws Exception {<a name="line.1637"></a> -<span class="sourceLineNo">1638</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1638"></a> -<span class="sourceLineNo">1639</span><a name="line.1639"></a> -<span class="sourceLineNo">1640</span> HMaster master = cluster.getMaster();<a name="line.1640"></a> -<span class="sourceLineNo">1641</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1641"></a> -<span class="sourceLineNo">1642</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1642"></a> -<span class="sourceLineNo">1643</span> cp.resetStates();<a name="line.1643"></a> -<span class="sourceLineNo">1644</span><a name="line.1644"></a> -<span class="sourceLineNo">1645</span> master.getProcedures();<a name="line.1645"></a> -<span class="sourceLineNo">1646</span> assertTrue(<a name="line.1646"></a> -<span class="sourceLineNo">1647</span> "Coprocessor should be called on get procedures request",<a name="line.1647"></a> -<span class="sourceLineNo">1648</span> cp.wasGetProceduresCalled());<a name="line.1648"></a> -<span class="sourceLineNo">1649</span> }<a name="line.1649"></a> -<span class="sourceLineNo">1650</span><a name="line.1650"></a> -<span class="sourceLineNo">1651</span> @Test (timeout=180000)<a name="line.1651"></a> -<span class="sourceLineNo">1652</span> public void testGetLocksOperation() throws Exception {<a name="line.1652"></a> -<span class="sourceLineNo">1653</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1653"></a> -<span class="sourceLineNo">1654</span><a name="line.1654"></a> -<span class="sourceLineNo">1655</span> HMaster master = cluster.getMaster();<a name="line.1655"></a> -<span class="sourceLineNo">1656</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1656"></a> -<span class="sourceLineNo">1657</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1657"></a> -<span class="sourceLineNo">1658</span> cp.resetStates();<a name="line.1658"></a> -<span class="sourceLineNo">1659</span><a name="line.1659"></a> -<span class="sourceLineNo">1660</span> master.getLocks();<a name="line.1660"></a> -<span class="sourceLineNo">1661</span> assertTrue(<a name="line.1661"></a> -<span class="sourceLineNo">1662</span> "Coprocessor should be called on get locks request",<a name="line.1662"></a> -<span class="sourceLineNo">1663</span> cp.wasGetLocksCalled());<a name="line.1663"></a> -<span class="sourceLineNo">1664</span> }<a name="line.1664"></a> -<span class="sourceLineNo">1665</span><a name="line.1665"></a> -<span class="sourceLineNo">1666</span> private void deleteTable(Admin admin, TableName tableName) throws Exception {<a name="line.1666"></a> -<span class="sourceLineNo">1667</span> // NOTE: We need a latch because admin is not sync,<a name="line.1667"></a> -<span class="sourceLineNo">1668</span> // so the postOp coprocessor method may be called after the admin operation returned.<a name="line.1668"></a> -<span class="sourceLineNo">1669</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1669"></a> -<span class="sourceLineNo">1670</span> admin.deleteTable(tableName);<a name="line.1670"></a> -<span class="sourceLineNo">1671</span> tableDeletionLatch.await();<a name="line.1671"></a> -<span class="sourceLineNo">1672</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1672"></a> -<span class="sourceLineNo">1673</span> }<a name="line.1673"></a> -<span class="sourceLineNo">1674</span><a name="line.1674"></a> -<span class="sourceLineNo">1675</span> @Test<a name="line.1675"></a> -<span class="sourceLineNo">1676</span> public void testQueueLockAndLockHeartbeatOperations() throws Exception {<a name="line.1676"></a> -<span class="sourceLineNo">1677</span> HMaster master = UTIL.getMiniHBaseCluster().getMaster();<a name="line.1677"></a> -<span class="sourceLineNo">1678</span> CPMasterObserver cp = master.getMasterCoprocessorHost().findCoprocessor(CPMasterObserver.class);<a name="line.1678"></a> -<span class="sourceLineNo">1679</span> cp.resetStates();<a name="line.1679"></a> -<span class="sourceLineNo">1680</span><a name="line.1680"></a> -<span class="sourceLineNo">1681</span> final TableName tableName = TableName.valueOf("testLockedTable");<a name="line.1681"></a> -<span class="sourceLineNo">1682</span> long procId = master.getLockManager().remoteLocks().requestTableLock(tableName,<a name="line.1682"></a> -<span class="sourceLineNo">1683</span> LockType.EXCLUSIVE, "desc", null);<a name="line.1683"></a> -<span class="sourceLineNo">1684</span> master.getLockManager().remoteLocks().lockHeartbeat(procId, false);<a name="line.1684"></a> -<span class="sourceLineNo">1685</span><a name="line.1685"></a> -<span class="sourceLineNo">1686</span> assertTrue(cp.preAndPostForQueueLockAndHeartbeatLockCalled());<a name="line.1686"></a> -<span class="sourceLineNo">1687</span><a name="line.1687"></a> -<span class="sourceLineNo">1688</span> ProcedureTestingUtility.waitNoProcedureRunning(master.getMasterProcedureExecutor());<a name="line.1688"></a> -<span class="sourceLineNo">1689</span> ProcedureTestingUtility.assertProcNotFailed(master.getMasterProcedureExecutor(), procId);<a name="line.1689"></a> -<span class="sourceLineNo">1690</span> }<a name="line.1690"></a> -<span class="sourceLineNo">1691</span>}<a name="line.1691"></a> +<span class="sourceLineNo">1571</span> master.getMasterRpcServices().moveRegion(null,<a name="line.1571"></a> +<span class="sourceLineNo">1572</span> RequestConverter.buildMoveRegionRequest(openRegions.get(i).getEncodedNameAsBytes(),<a name="line.1572"></a> +<span class="sourceLineNo">1573</span> ServerName.valueOf(Bytes.toString(destRS))));<a name="line.1573"></a> +<span class="sourceLineNo">1574</span> }<a name="line.1574"></a> +<span class="sourceLineNo">1575</span> }<a name="line.1575"></a> +<span class="sourceLineNo">1576</span> //Make sure no regions are in transition now<a name="line.1576"></a> +<span class="sourceLineNo">1577</span> UTIL.waitUntilNoRegionsInTransition();<a name="line.1577"></a> +<span class="sourceLineNo">1578</span> // now trigger a balance<a name="line.1578"></a> +<span class="sourceLineNo">1579</span> master.balanceSwitch(true);<a name="line.1579"></a> +<span class="sourceLineNo">1580</span> boolean balanceRun = master.balance();<a name="line.1580"></a> +<span class="sourceLineNo">1581</span> assertTrue("Coprocessor should be called on region rebalancing",<a name="line.1581"></a> +<span class="sourceLineNo">1582</span> cp.wasBalanceCalled());<a name="line.1582"></a> +<span class="sourceLineNo">1583</span> } finally {<a name="line.1583"></a> +<span class="sourceLineNo">1584</span> Admin admin = UTIL.getAdmin();<a name="line.1584"></a> +<span class="sourceLineNo">1585</span> admin.disableTable(tableName);<a name="line.1585"></a> +<span class="sourceLineNo">1586</span> deleteTable(admin, tableName);<a name="line.1586"></a> +<span class="sourceLineNo">1587</span> }<a name="line.1587"></a> +<span class="sourceLineNo">1588</span> }<a name="line.1588"></a> +<span class="sourceLineNo">1589</span><a name="line.1589"></a> +<span class="sourceLineNo">1590</span> @Test (timeout=180000)<a name="line.1590"></a> +<span class="sourceLineNo">1591</span> public void testTableDescriptorsEnumeration() throws Exception {<a name="line.1591"></a> +<span class="sourceLineNo">1592</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1592"></a> +<span class="sourceLineNo">1593</span><a name="line.1593"></a> +<span class="sourceLineNo">1594</span> HMaster master = cluster.getMaster();<a name="line.1594"></a> +<span class="sourceLineNo">1595</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1595"></a> +<span class="sourceLineNo">1596</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1596"></a> +<span class="sourceLineNo">1597</span> cp.resetStates();<a name="line.1597"></a> +<span class="sourceLineNo">1598</span><a name="line.1598"></a> +<span class="sourceLineNo">1599</span> GetTableDescriptorsRequest req =<a name="line.1599"></a> +<span class="sourceLineNo">1600</span> RequestConverter.buildGetTableDescriptorsRequest((List<TableName>)null);<a name="line.1600"></a> +<span class="sourceLineNo">1601</span> master.getMasterRpcServices().getTableDescriptors(null, req);<a name="line.1601"></a> +<span class="sourceLineNo">1602</span><a name="line.1602"></a> +<span class="sourceLineNo">1603</span> assertTrue("Coprocessor should be called on table descriptors request",<a name="line.1603"></a> +<span class="sourceLineNo">1604</span> cp.wasGetTableDescriptorsCalled());<a name="line.1604"></a> +<span class="sourceLineNo">1605</span> }<a name="line.1605"></a> +<span class="sourceLineNo">1606</span><a name="line.1606"></a> +<span class="sourceLineNo">1607</span> @Test (timeout=180000)<a name="line.1607"></a> +<span class="sourceLineNo">1608</span> public void testTableNamesEnumeration() throws Exception {<a name="line.1608"></a> +<span class="sourceLineNo">1609</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1609"></a> +<span class="sourceLineNo">1610</span><a name="line.1610"></a> +<span class="sourceLineNo">1611</span> HMaster master = cluster.getMaster();<a name="line.1611"></a> +<span class="sourceLineNo">1612</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1612"></a> +<span class="sourceLineNo">1613</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1613"></a> +<span class="sourceLineNo">1614</span> cp.resetStates();<a name="line.1614"></a> +<span class="sourceLineNo">1615</span><a name="line.1615"></a> +<span class="sourceLineNo">1616</span> master.getMasterRpcServices().getTableNames(null,<a name="line.1616"></a> +<span class="sourceLineNo">1617</span> GetTableNamesRequest.newBuilder().build());<a name="line.1617"></a> +<span class="sourceLineNo">1618</span> assertTrue("Coprocessor should be called on table names request",<a name="line.1618"></a> +<span class="sourceLineNo">1619</span> cp.wasGetTableNamesCalled());<a name="line.1619"></a> +<span class="sourceLineNo">1620</span> }<a name="line.1620"></a> +<span class="sourceLineNo">1621</span><a name="line.1621"></a> +<span class="sourceLineNo">1622</span> @Test (timeout=180000)<a name="line.1622"></a> +<span class="sourceLineNo">1623</span> public void testAbortProcedureOperation() throws Exception {<a name="line.1623"></a> +<span class="sourceLineNo">1624</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1624"></a> +<span class="sourceLineNo">1625</span><a name="line.1625"></a> +<span class="sourceLineNo">1626</span> HMaster master = cluster.getMaster();<a name="line.1626"></a> +<span class="sourceLineNo">1627</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1627"></a> +<span class="sourceLineNo">1628</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1628"></a> +<span class="sourceLineNo">1629</span> cp.resetStates();<a name="line.1629"></a> +<span class="sourceLineNo">1630</span><a name="line.1630"></a> +<span class="sourceLineNo">1631</span> master.abortProcedure(1, true);<a name="line.1631"></a> +<span class="sourceLineNo">1632</span> assertTrue(<a name="line.1632"></a> +<span class="sourceLineNo">1633</span> "Coprocessor should be called on abort procedure request",<a name="line.1633"></a> +<span class="sourceLineNo">1634</span> cp.wasAbortProcedureCalled());<a name="line.1634"></a> +<span class="sourceLineNo">1635</span> }<a name="line.1635"></a> +<span class="sourceLineNo">1636</span><a name="line.1636"></a> +<span class="sourceLineNo">1637</span> @Test (timeout=180000)<a name="line.1637"></a> +<span class="sourceLineNo">1638</span> public void testGetProceduresOperation() throws Exception {<a name="line.1638"></a> +<span class="sourceLineNo">1639</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1639"></a> +<span class="sourceLineNo">1640</span><a name="line.1640"></a> +<span class="sourceLineNo">1641</span> HMaster master = cluster.getMaster();<a name="line.1641"></a> +<span class="sourceLineNo">1642</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1642"></a> +<span class="sourceLineNo">1643</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1643"></a> +<span class="sourceLineNo">1644</span> cp.resetStates();<a name="line.1644"></a> +<span class="sourceLineNo">1645</span><a name="line.1645"></a> +<span class="sourceLineNo">1646</span> master.getProcedures();<a name="line.1646"></a> +<span class="sourceLineNo">1647</span> assertTrue(<a name="line.1647"></a> +<span class="sourceLineNo">1648</span> "Coprocessor should be called on get procedures request",<a name="line.1648"></a> +<span class="sourceLineNo">1649</span> cp.wasGetProceduresCalled());<a name="line.1649"></a> +<span class="sourceLineNo">1650</span> }<a name="line.1650"></a> +<span class="sourceLineNo">1651</span><a name="line.1651"></a> +<span class="sourceLineNo">1652</span> @Test (timeout=180000)<a name="line.1652"></a> +<span class="sourceLineNo">1653</span> public void testGetLocksOperation() throws Exception {<a name="line.1653"></a> +<span class="sourceLineNo">1654</span> MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1654"></a> +<span class="sourceLineNo">1655</span><a name="line.1655"></a> +<span class="sourceLineNo">1656</span> HMaster master = cluster.getMaster();<a name="line.1656"></a> +<span class="sourceLineNo">1657</span> MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1657"></a> +<span class="sourceLineNo">1658</span> CPMasterObserver cp = host.findCoprocessor(CPMasterObserver.class);<a name="line.1658"></a> +<span class="sourceLineNo">1659</span> cp.resetStates();<a name="line.1659"></a> +<span class="sourceLineNo">1660</span><a name="line.1660"></a> +<span class="sourceLineNo">1661</span> master.getLocks();<a name="line.1661"></a> +<span class="sourceLineNo">1662</span> assertTrue(<a name="line.1662"></a> +<span class="sourceLineNo">1663</span> "Coprocessor should be called on get locks request",<a name="line.1663"></a> +<span class="sourceLineNo">1664</span> cp.wasGetLocksCalled());<a name="line.1664"></a> +<span class="sourceLineNo">1665</span> }<a name="line.1665"></a> +<span class="sourceLineNo">1666</span><a name="line.1666"></a> +<span class="sourceLineNo">1667</span> private void deleteTable(Admin admin, TableName tableName) throws Exception {<a name="line.1667"></a> +<span class="sourceLineNo">1668</span> // NOTE: We need a latch because admin is not sync,<a name="line.1668"></a> +<span class="sourceLineNo">1669</span> // so the postOp coprocessor method may be called after the admin operation returned.<a name="line.1669"></a> +<span class="sourceLineNo">1670</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1670"></a> +<span class="sourceLineNo">1671</span> admin.deleteTable(tableName);<a name="line.1671"></a> +<span class="sourceLineNo">1672</span> tableDeletionLatch.await();<a name="line.1672"></a> +<span class="sourceLineNo">1673</span> tableDeletionLatch = new CountDownLatch(1);<a name="line.1673"></a> +<span class="sourceLineNo">1674</span> }<a name="line.1674"></a> +<span class="sourceLineNo">1675</span><a name="line.1675"></a> +<span class="sourceLineNo">1676</span> @Test<a name="line.1676"></a> +<span class="sourceLineNo">1677</span> public void testQueueLockAndLockHeartbeatOperations() throws Exception {<a name="line.1677"></a> +<span class="sourceLineNo">1678</span> HMaster master = UTIL.getMiniHBaseCluster().getMaster();<a name="line.1678"></a> +<span class="sourceLineNo">1679</span> CPMasterObserver cp = master.getMasterCoprocessorHost().findCoprocessor(CPMasterObserver.class);<a name="line.1679"></a> +<span class="sourceLineNo">1680</span> cp.resetStates();<a name="line.1680"></a> +<span class="sourceLineNo">1681</span><a name="line.1681"></a> +<span class="sourceLineNo">1682</span> final TableName tableName = TableName.valueOf("testLockedTable");<a name="line.1682"></a> +<span class="sourceLineNo">1683</span> long procId = master.getLockManager().remoteLocks().requestTableLock(tableName,<a name="line.1683"></a> +<span class="sourceLineNo">1684</span> LockType.EXCLUSIVE, "desc", null);<a name="line.1684"></a> +<span class="sourceLineNo">1685</span> master.getLockManager().remoteLocks().lockHeartbeat(procId, false);<a name="line.1685"></a> +<span class="sourceLineNo">1686</span><a name="line.1686"></a> +<span class="sourceLineNo">1687</span> assertTrue(cp.preAndPostForQueueLockAndHeartbeatLockCalled());<a name="line.1687"></a> +<span class="sourceLineNo">1688</span><a name="line.1688"></a> +<span class="sourceLineNo">1689</span> ProcedureTestingUtility.waitNoProcedureRunning(master.getMasterProcedureExecutor());<a name="line.1689"></a> +<span class="sourceLineNo">1690</span> ProcedureTestingUtility.assertProcNotFailed(master.getMasterProcedureExecutor(), procId);<a name="line.1690"></a> +<span class="sourceLineNo">1691</span> }<a name="line.1691"></a> +<span class="sourceLineNo">1692</span>}<a name="line.1692"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html index ed3e589..a629858 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html @@ -250,7 +250,7 @@ <span class="sourceLineNo">242</span> AdminProtos.AdminService.BlockingInterface server =<a name="line.242"></a> <span class="sourceLineNo">243</span> conn.getAdmin(getLocation().getServerName());<a name="line.243"></a> <span class="sourceLineNo">244</span> CompactRegionRequest request = RequestConverter.buildCompactRegionRequest(<a name="line.244"></a> -<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, Optional.empty());<a name="line.245"></a> +<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, null);<a name="line.245"></a> <span class="sourceLineNo">246</span> server.compactRegion(null, request);<a name="line.246"></a> <span class="sourceLineNo">247</span> numCompactions.incrementAndGet();<a name="line.247"></a> <span class="sourceLineNo">248</span> return null;<a name="line.248"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html index ed3e589..a629858 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html @@ -250,7 +250,7 @@ <span class="sourceLineNo">242</span> AdminProtos.AdminService.BlockingInterface server =<a name="line.242"></a> <span class="sourceLineNo">243</span> conn.getAdmin(getLocation().getServerName());<a name="line.243"></a> <span class="sourceLineNo">244</span> CompactRegionRequest request = RequestConverter.buildCompactRegionRequest(<a name="line.244"></a> -<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, Optional.empty());<a name="line.245"></a> +<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, null);<a name="line.245"></a> <span class="sourceLineNo">246</span> server.compactRegion(null, request);<a name="line.246"></a> <span class="sourceLineNo">247</span> numCompactions.incrementAndGet();<a name="line.247"></a> <span class="sourceLineNo">248</span> return null;<a name="line.248"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.FindBulkHBaseListener.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.FindBulkHBaseListener.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.FindBulkHBaseListener.html index ed3e589..a629858 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.FindBulkHBaseListener.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.FindBulkHBaseListener.html @@ -250,7 +250,7 @@ <span class="sourceLineNo">242</span> AdminProtos.AdminService.BlockingInterface server =<a name="line.242"></a> <span class="sourceLineNo">243</span> conn.getAdmin(getLocation().getServerName());<a name="line.243"></a> <span class="sourceLineNo">244</span> CompactRegionRequest request = RequestConverter.buildCompactRegionRequest(<a name="line.244"></a> -<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, Optional.empty());<a name="line.245"></a> +<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, null);<a name="line.245"></a> <span class="sourceLineNo">246</span> server.compactRegion(null, request);<a name="line.246"></a> <span class="sourceLineNo">247</span> numCompactions.incrementAndGet();<a name="line.247"></a> <span class="sourceLineNo">248</span> return null;<a name="line.248"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html index ed3e589..a629858 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html @@ -250,7 +250,7 @@ <span class="sourceLineNo">242</span> AdminProtos.AdminService.BlockingInterface server =<a name="line.242"></a> <span class="sourceLineNo">243</span> conn.getAdmin(getLocation().getServerName());<a name="line.243"></a> <span class="sourceLineNo">244</span> CompactRegionRequest request = RequestConverter.buildCompactRegionRequest(<a name="line.244"></a> -<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, Optional.empty());<a name="line.245"></a> +<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, null);<a name="line.245"></a> <span class="sourceLineNo">246</span> server.compactRegion(null, request);<a name="line.246"></a> <span class="sourceLineNo">247</span> numCompactions.incrementAndGet();<a name="line.247"></a> <span class="sourceLineNo">248</span> return null;<a name="line.248"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/32453e2d/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html index ed3e589..a629858 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html @@ -250,7 +250,7 @@ <span class="sourceLineNo">242</span> AdminProtos.AdminService.BlockingInterface server =<a name="line.242"></a> <span class="sourceLineNo">243</span> conn.getAdmin(getLocation().getServerName());<a name="line.243"></a> <span class="sourceLineNo">244</span> CompactRegionRequest request = RequestConverter.buildCompactRegionRequest(<a name="line.244"></a> -<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, Optional.empty());<a name="line.245"></a> +<span class="sourceLineNo">245</span> getLocation().getRegionInfo().getRegionName(), true, null);<a name="line.245"></a> <span class="sourceLineNo">246</span> server.compactRegion(null, request);<a name="line.246"></a> <span class="sourceLineNo">247</span> numCompactions.incrementAndGet();<a name="line.247"></a> <span class="sourceLineNo">248</span> return null;<a name="line.248"></a>