http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.HangThenRSRestartExecutor.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.HangThenRSRestartExecutor.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.HangThenRSRestartExecutor.html index 507c0cd..d27f392 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.HangThenRSRestartExecutor.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.HangThenRSRestartExecutor.html @@ -720,7 +720,7 @@ <span class="sourceLineNo">712</span> }<a name="line.712"></a> <span class="sourceLineNo">713</span><a name="line.713"></a> <span class="sourceLineNo">714</span> private class HangOnCloseThenRSCrashExecutor extends GoodRsExecutor {<a name="line.714"></a> -<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 7;<a name="line.715"></a> +<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 6;<a name="line.715"></a> <span class="sourceLineNo">716</span> private int invocations;<a name="line.716"></a> <span class="sourceLineNo">717</span><a name="line.717"></a> <span class="sourceLineNo">718</span> @Override<a name="line.718"></a> @@ -732,129 +732,121 @@ <span class="sourceLineNo">724</span> case 2: throw new RegionServerStoppedException("Fake!");<a name="line.724"></a> <span class="sourceLineNo">725</span> case 3: throw new ServerNotRunningYetException("Fake!");<a name="line.725"></a> <span class="sourceLineNo">726</span> case 4:<a name="line.726"></a> -<span class="sourceLineNo">727</span> // We will expire the server that we failed to rpc against.<a name="line.727"></a> -<span class="sourceLineNo">728</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.728"></a> -<span class="sourceLineNo">729</span> case 5:<a name="line.729"></a> -<span class="sourceLineNo">730</span> // Mark this regionserver as already expiring so we go different code route; i.e. we<a name="line.730"></a> -<span class="sourceLineNo">731</span> // FAIL to expire the remote server and presume ok to move region to CLOSED. HBASE-20137.<a name="line.731"></a> -<span class="sourceLineNo">732</span> TestAssignmentManager.this.master.getServerManager().expireServer(server);<a name="line.732"></a> -<span class="sourceLineNo">733</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.733"></a> -<span class="sourceLineNo">734</span> case 6:<a name="line.734"></a> -<span class="sourceLineNo">735</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.735"></a> -<span class="sourceLineNo">736</span> executor.schedule(new Runnable() {<a name="line.736"></a> -<span class="sourceLineNo">737</span> @Override<a name="line.737"></a> -<span class="sourceLineNo">738</span> public void run() {<a name="line.738"></a> -<span class="sourceLineNo">739</span> LOG.info("Sending in CRASH of " + server);<a name="line.739"></a> -<span class="sourceLineNo">740</span> doCrash(server);<a name="line.740"></a> -<span class="sourceLineNo">741</span> }<a name="line.741"></a> -<span class="sourceLineNo">742</span> }, 1, TimeUnit.SECONDS);<a name="line.742"></a> -<span class="sourceLineNo">743</span> return null;<a name="line.743"></a> -<span class="sourceLineNo">744</span> default:<a name="line.744"></a> -<span class="sourceLineNo">745</span> return super.execCloseRegion(server, regionName);<a name="line.745"></a> -<span class="sourceLineNo">746</span> }<a name="line.746"></a> -<span class="sourceLineNo">747</span> }<a name="line.747"></a> -<span class="sourceLineNo">748</span> }<a name="line.748"></a> -<span class="sourceLineNo">749</span><a name="line.749"></a> -<span class="sourceLineNo">750</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.750"></a> -<span class="sourceLineNo">751</span> private final Random rand = new Random();<a name="line.751"></a> -<span class="sourceLineNo">752</span><a name="line.752"></a> -<span class="sourceLineNo">753</span> @Override<a name="line.753"></a> -<span class="sourceLineNo">754</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.754"></a> -<span class="sourceLineNo">755</span> throws IOException {<a name="line.755"></a> -<span class="sourceLineNo">756</span> switch (rand.nextInt(5)) {<a name="line.756"></a> -<span class="sourceLineNo">757</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.757"></a> -<span class="sourceLineNo">758</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.758"></a> -<span class="sourceLineNo">759</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.759"></a> -<span class="sourceLineNo">760</span> }<a name="line.760"></a> -<span class="sourceLineNo">761</span> return super.sendRequest(server, req);<a name="line.761"></a> -<span class="sourceLineNo">762</span> }<a name="line.762"></a> -<span class="sourceLineNo">763</span><a name="line.763"></a> -<span class="sourceLineNo">764</span> @Override<a name="line.764"></a> -<span class="sourceLineNo">765</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.765"></a> -<span class="sourceLineNo">766</span> throws IOException {<a name="line.766"></a> -<span class="sourceLineNo">767</span> switch (rand.nextInt(6)) {<a name="line.767"></a> -<span class="sourceLineNo">768</span> case 0:<a name="line.768"></a> -<span class="sourceLineNo">769</span> LOG.info("Return OPENED response");<a name="line.769"></a> -<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.770"></a> -<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.771"></a> -<span class="sourceLineNo">772</span> case 1:<a name="line.772"></a> -<span class="sourceLineNo">773</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.773"></a> -<span class="sourceLineNo">774</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.774"></a> -<span class="sourceLineNo">775</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.775"></a> -<span class="sourceLineNo">776</span> case 2:<a name="line.776"></a> -<span class="sourceLineNo">777</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.777"></a> -<span class="sourceLineNo">778</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.778"></a> -<span class="sourceLineNo">779</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.779"></a> -<span class="sourceLineNo">780</span> }<a name="line.780"></a> -<span class="sourceLineNo">781</span> // The procedure on master will just hang forever because nothing comes back<a name="line.781"></a> -<span class="sourceLineNo">782</span> // from the RS in this case.<a name="line.782"></a> -<span class="sourceLineNo">783</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.783"></a> -<span class="sourceLineNo">784</span> executor.schedule(new Runnable() {<a name="line.784"></a> -<span class="sourceLineNo">785</span> @Override<a name="line.785"></a> -<span class="sourceLineNo">786</span> public void run() {<a name="line.786"></a> -<span class="sourceLineNo">787</span> LOG.info("Delayed CRASHING of " + server);<a name="line.787"></a> -<span class="sourceLineNo">788</span> doCrash(server);<a name="line.788"></a> -<span class="sourceLineNo">789</span> }<a name="line.789"></a> -<span class="sourceLineNo">790</span> }, 5, TimeUnit.SECONDS);<a name="line.790"></a> -<span class="sourceLineNo">791</span> return null;<a name="line.791"></a> -<span class="sourceLineNo">792</span> }<a name="line.792"></a> -<span class="sourceLineNo">793</span><a name="line.793"></a> -<span class="sourceLineNo">794</span> @Override<a name="line.794"></a> -<span class="sourceLineNo">795</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.795"></a> -<span class="sourceLineNo">796</span> throws IOException {<a name="line.796"></a> -<span class="sourceLineNo">797</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.797"></a> -<span class="sourceLineNo">798</span> boolean closed = rand.nextBoolean();<a name="line.798"></a> -<span class="sourceLineNo">799</span> if (closed) {<a name="line.799"></a> -<span class="sourceLineNo">800</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.800"></a> -<span class="sourceLineNo">801</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.801"></a> -<span class="sourceLineNo">802</span> }<a name="line.802"></a> -<span class="sourceLineNo">803</span> resp.setClosed(closed);<a name="line.803"></a> -<span class="sourceLineNo">804</span> return resp.build();<a name="line.804"></a> -<span class="sourceLineNo">805</span> }<a name="line.805"></a> -<span class="sourceLineNo">806</span> }<a name="line.806"></a> +<span class="sourceLineNo">727</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.727"></a> +<span class="sourceLineNo">728</span> executor.schedule(new Runnable() {<a name="line.728"></a> +<span class="sourceLineNo">729</span> @Override<a name="line.729"></a> +<span class="sourceLineNo">730</span> public void run() {<a name="line.730"></a> +<span class="sourceLineNo">731</span> LOG.info("Sending in CRASH of " + server);<a name="line.731"></a> +<span class="sourceLineNo">732</span> doCrash(server);<a name="line.732"></a> +<span class="sourceLineNo">733</span> }<a name="line.733"></a> +<span class="sourceLineNo">734</span> }, 1, TimeUnit.SECONDS);<a name="line.734"></a> +<span class="sourceLineNo">735</span> return null;<a name="line.735"></a> +<span class="sourceLineNo">736</span> default:<a name="line.736"></a> +<span class="sourceLineNo">737</span> return super.execCloseRegion(server, regionName);<a name="line.737"></a> +<span class="sourceLineNo">738</span> }<a name="line.738"></a> +<span class="sourceLineNo">739</span> }<a name="line.739"></a> +<span class="sourceLineNo">740</span> }<a name="line.740"></a> +<span class="sourceLineNo">741</span><a name="line.741"></a> +<span class="sourceLineNo">742</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.742"></a> +<span class="sourceLineNo">743</span> private final Random rand = new Random();<a name="line.743"></a> +<span class="sourceLineNo">744</span><a name="line.744"></a> +<span class="sourceLineNo">745</span> @Override<a name="line.745"></a> +<span class="sourceLineNo">746</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.746"></a> +<span class="sourceLineNo">747</span> throws IOException {<a name="line.747"></a> +<span class="sourceLineNo">748</span> switch (rand.nextInt(5)) {<a name="line.748"></a> +<span class="sourceLineNo">749</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.749"></a> +<span class="sourceLineNo">750</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.750"></a> +<span class="sourceLineNo">751</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.751"></a> +<span class="sourceLineNo">752</span> }<a name="line.752"></a> +<span class="sourceLineNo">753</span> return super.sendRequest(server, req);<a name="line.753"></a> +<span class="sourceLineNo">754</span> }<a name="line.754"></a> +<span class="sourceLineNo">755</span><a name="line.755"></a> +<span class="sourceLineNo">756</span> @Override<a name="line.756"></a> +<span class="sourceLineNo">757</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.757"></a> +<span class="sourceLineNo">758</span> throws IOException {<a name="line.758"></a> +<span class="sourceLineNo">759</span> switch (rand.nextInt(6)) {<a name="line.759"></a> +<span class="sourceLineNo">760</span> case 0:<a name="line.760"></a> +<span class="sourceLineNo">761</span> LOG.info("Return OPENED response");<a name="line.761"></a> +<span class="sourceLineNo">762</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.762"></a> +<span class="sourceLineNo">763</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.763"></a> +<span class="sourceLineNo">764</span> case 1:<a name="line.764"></a> +<span class="sourceLineNo">765</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.765"></a> +<span class="sourceLineNo">766</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.766"></a> +<span class="sourceLineNo">767</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.767"></a> +<span class="sourceLineNo">768</span> case 2:<a name="line.768"></a> +<span class="sourceLineNo">769</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.769"></a> +<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.770"></a> +<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.771"></a> +<span class="sourceLineNo">772</span> }<a name="line.772"></a> +<span class="sourceLineNo">773</span> // The procedure on master will just hang forever because nothing comes back<a name="line.773"></a> +<span class="sourceLineNo">774</span> // from the RS in this case.<a name="line.774"></a> +<span class="sourceLineNo">775</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.775"></a> +<span class="sourceLineNo">776</span> executor.schedule(new Runnable() {<a name="line.776"></a> +<span class="sourceLineNo">777</span> @Override<a name="line.777"></a> +<span class="sourceLineNo">778</span> public void run() {<a name="line.778"></a> +<span class="sourceLineNo">779</span> LOG.info("Delayed CRASHING of " + server);<a name="line.779"></a> +<span class="sourceLineNo">780</span> doCrash(server);<a name="line.780"></a> +<span class="sourceLineNo">781</span> }<a name="line.781"></a> +<span class="sourceLineNo">782</span> }, 5, TimeUnit.SECONDS);<a name="line.782"></a> +<span class="sourceLineNo">783</span> return null;<a name="line.783"></a> +<span class="sourceLineNo">784</span> }<a name="line.784"></a> +<span class="sourceLineNo">785</span><a name="line.785"></a> +<span class="sourceLineNo">786</span> @Override<a name="line.786"></a> +<span class="sourceLineNo">787</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.787"></a> +<span class="sourceLineNo">788</span> throws IOException {<a name="line.788"></a> +<span class="sourceLineNo">789</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.789"></a> +<span class="sourceLineNo">790</span> boolean closed = rand.nextBoolean();<a name="line.790"></a> +<span class="sourceLineNo">791</span> if (closed) {<a name="line.791"></a> +<span class="sourceLineNo">792</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.792"></a> +<span class="sourceLineNo">793</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.793"></a> +<span class="sourceLineNo">794</span> }<a name="line.794"></a> +<span class="sourceLineNo">795</span> resp.setClosed(closed);<a name="line.795"></a> +<span class="sourceLineNo">796</span> return resp.build();<a name="line.796"></a> +<span class="sourceLineNo">797</span> }<a name="line.797"></a> +<span class="sourceLineNo">798</span> }<a name="line.798"></a> +<span class="sourceLineNo">799</span><a name="line.799"></a> +<span class="sourceLineNo">800</span> private interface MockRSExecutor {<a name="line.800"></a> +<span class="sourceLineNo">801</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.801"></a> +<span class="sourceLineNo">802</span> throws IOException;<a name="line.802"></a> +<span class="sourceLineNo">803</span> }<a name="line.803"></a> +<span class="sourceLineNo">804</span><a name="line.804"></a> +<span class="sourceLineNo">805</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.805"></a> +<span class="sourceLineNo">806</span> private MockRSExecutor mockRsExec;<a name="line.806"></a> <span class="sourceLineNo">807</span><a name="line.807"></a> -<span class="sourceLineNo">808</span> private interface MockRSExecutor {<a name="line.808"></a> -<span class="sourceLineNo">809</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.809"></a> -<span class="sourceLineNo">810</span> throws IOException;<a name="line.810"></a> -<span class="sourceLineNo">811</span> }<a name="line.811"></a> -<span class="sourceLineNo">812</span><a name="line.812"></a> -<span class="sourceLineNo">813</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.813"></a> -<span class="sourceLineNo">814</span> private MockRSExecutor mockRsExec;<a name="line.814"></a> +<span class="sourceLineNo">808</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.808"></a> +<span class="sourceLineNo">809</span> super(master);<a name="line.809"></a> +<span class="sourceLineNo">810</span> }<a name="line.810"></a> +<span class="sourceLineNo">811</span><a name="line.811"></a> +<span class="sourceLineNo">812</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.812"></a> +<span class="sourceLineNo">813</span> this.mockRsExec = mockRsExec;<a name="line.813"></a> +<span class="sourceLineNo">814</span> }<a name="line.814"></a> <span class="sourceLineNo">815</span><a name="line.815"></a> -<span class="sourceLineNo">816</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.816"></a> -<span class="sourceLineNo">817</span> super(master);<a name="line.817"></a> -<span class="sourceLineNo">818</span> }<a name="line.818"></a> -<span class="sourceLineNo">819</span><a name="line.819"></a> -<span class="sourceLineNo">820</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.820"></a> -<span class="sourceLineNo">821</span> this.mockRsExec = mockRsExec;<a name="line.821"></a> -<span class="sourceLineNo">822</span> }<a name="line.822"></a> -<span class="sourceLineNo">823</span><a name="line.823"></a> -<span class="sourceLineNo">824</span> @Override<a name="line.824"></a> -<span class="sourceLineNo">825</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.825"></a> -<span class="sourceLineNo">826</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.826"></a> -<span class="sourceLineNo">827</span> }<a name="line.827"></a> -<span class="sourceLineNo">828</span><a name="line.828"></a> -<span class="sourceLineNo">829</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.829"></a> -<span class="sourceLineNo">830</span> public MockRemoteCall(final ServerName serverName,<a name="line.830"></a> -<span class="sourceLineNo">831</span> final Set<RemoteProcedure> operations) {<a name="line.831"></a> -<span class="sourceLineNo">832</span> super(serverName, operations);<a name="line.832"></a> -<span class="sourceLineNo">833</span> }<a name="line.833"></a> +<span class="sourceLineNo">816</span> @Override<a name="line.816"></a> +<span class="sourceLineNo">817</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.817"></a> +<span class="sourceLineNo">818</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.818"></a> +<span class="sourceLineNo">819</span> }<a name="line.819"></a> +<span class="sourceLineNo">820</span><a name="line.820"></a> +<span class="sourceLineNo">821</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.821"></a> +<span class="sourceLineNo">822</span> public MockRemoteCall(final ServerName serverName,<a name="line.822"></a> +<span class="sourceLineNo">823</span> final Set<RemoteProcedure> operations) {<a name="line.823"></a> +<span class="sourceLineNo">824</span> super(serverName, operations);<a name="line.824"></a> +<span class="sourceLineNo">825</span> }<a name="line.825"></a> +<span class="sourceLineNo">826</span><a name="line.826"></a> +<span class="sourceLineNo">827</span> @Override<a name="line.827"></a> +<span class="sourceLineNo">828</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.828"></a> +<span class="sourceLineNo">829</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.829"></a> +<span class="sourceLineNo">830</span> return mockRsExec.sendRequest(serverName, request);<a name="line.830"></a> +<span class="sourceLineNo">831</span> }<a name="line.831"></a> +<span class="sourceLineNo">832</span> }<a name="line.832"></a> +<span class="sourceLineNo">833</span> }<a name="line.833"></a> <span class="sourceLineNo">834</span><a name="line.834"></a> -<span class="sourceLineNo">835</span> @Override<a name="line.835"></a> -<span class="sourceLineNo">836</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.836"></a> -<span class="sourceLineNo">837</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.837"></a> -<span class="sourceLineNo">838</span> return mockRsExec.sendRequest(serverName, request);<a name="line.838"></a> -<span class="sourceLineNo">839</span> }<a name="line.839"></a> -<span class="sourceLineNo">840</span> }<a name="line.840"></a> -<span class="sourceLineNo">841</span> }<a name="line.841"></a> -<span class="sourceLineNo">842</span><a name="line.842"></a> -<span class="sourceLineNo">843</span> private void collectAssignmentManagerMetrics() {<a name="line.843"></a> -<span class="sourceLineNo">844</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.844"></a> -<span class="sourceLineNo">845</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.845"></a> -<span class="sourceLineNo">846</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.846"></a> -<span class="sourceLineNo">847</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.847"></a> -<span class="sourceLineNo">848</span> }<a name="line.848"></a> -<span class="sourceLineNo">849</span>}<a name="line.849"></a> +<span class="sourceLineNo">835</span> private void collectAssignmentManagerMetrics() {<a name="line.835"></a> +<span class="sourceLineNo">836</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.836"></a> +<span class="sourceLineNo">837</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.837"></a> +<span class="sourceLineNo">838</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.838"></a> +<span class="sourceLineNo">839</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.839"></a> +<span class="sourceLineNo">840</span> }<a name="line.840"></a> +<span class="sourceLineNo">841</span>}<a name="line.841"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSExecutor.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSExecutor.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSExecutor.html index 507c0cd..d27f392 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSExecutor.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSExecutor.html @@ -720,7 +720,7 @@ <span class="sourceLineNo">712</span> }<a name="line.712"></a> <span class="sourceLineNo">713</span><a name="line.713"></a> <span class="sourceLineNo">714</span> private class HangOnCloseThenRSCrashExecutor extends GoodRsExecutor {<a name="line.714"></a> -<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 7;<a name="line.715"></a> +<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 6;<a name="line.715"></a> <span class="sourceLineNo">716</span> private int invocations;<a name="line.716"></a> <span class="sourceLineNo">717</span><a name="line.717"></a> <span class="sourceLineNo">718</span> @Override<a name="line.718"></a> @@ -732,129 +732,121 @@ <span class="sourceLineNo">724</span> case 2: throw new RegionServerStoppedException("Fake!");<a name="line.724"></a> <span class="sourceLineNo">725</span> case 3: throw new ServerNotRunningYetException("Fake!");<a name="line.725"></a> <span class="sourceLineNo">726</span> case 4:<a name="line.726"></a> -<span class="sourceLineNo">727</span> // We will expire the server that we failed to rpc against.<a name="line.727"></a> -<span class="sourceLineNo">728</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.728"></a> -<span class="sourceLineNo">729</span> case 5:<a name="line.729"></a> -<span class="sourceLineNo">730</span> // Mark this regionserver as already expiring so we go different code route; i.e. we<a name="line.730"></a> -<span class="sourceLineNo">731</span> // FAIL to expire the remote server and presume ok to move region to CLOSED. HBASE-20137.<a name="line.731"></a> -<span class="sourceLineNo">732</span> TestAssignmentManager.this.master.getServerManager().expireServer(server);<a name="line.732"></a> -<span class="sourceLineNo">733</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.733"></a> -<span class="sourceLineNo">734</span> case 6:<a name="line.734"></a> -<span class="sourceLineNo">735</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.735"></a> -<span class="sourceLineNo">736</span> executor.schedule(new Runnable() {<a name="line.736"></a> -<span class="sourceLineNo">737</span> @Override<a name="line.737"></a> -<span class="sourceLineNo">738</span> public void run() {<a name="line.738"></a> -<span class="sourceLineNo">739</span> LOG.info("Sending in CRASH of " + server);<a name="line.739"></a> -<span class="sourceLineNo">740</span> doCrash(server);<a name="line.740"></a> -<span class="sourceLineNo">741</span> }<a name="line.741"></a> -<span class="sourceLineNo">742</span> }, 1, TimeUnit.SECONDS);<a name="line.742"></a> -<span class="sourceLineNo">743</span> return null;<a name="line.743"></a> -<span class="sourceLineNo">744</span> default:<a name="line.744"></a> -<span class="sourceLineNo">745</span> return super.execCloseRegion(server, regionName);<a name="line.745"></a> -<span class="sourceLineNo">746</span> }<a name="line.746"></a> -<span class="sourceLineNo">747</span> }<a name="line.747"></a> -<span class="sourceLineNo">748</span> }<a name="line.748"></a> -<span class="sourceLineNo">749</span><a name="line.749"></a> -<span class="sourceLineNo">750</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.750"></a> -<span class="sourceLineNo">751</span> private final Random rand = new Random();<a name="line.751"></a> -<span class="sourceLineNo">752</span><a name="line.752"></a> -<span class="sourceLineNo">753</span> @Override<a name="line.753"></a> -<span class="sourceLineNo">754</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.754"></a> -<span class="sourceLineNo">755</span> throws IOException {<a name="line.755"></a> -<span class="sourceLineNo">756</span> switch (rand.nextInt(5)) {<a name="line.756"></a> -<span class="sourceLineNo">757</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.757"></a> -<span class="sourceLineNo">758</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.758"></a> -<span class="sourceLineNo">759</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.759"></a> -<span class="sourceLineNo">760</span> }<a name="line.760"></a> -<span class="sourceLineNo">761</span> return super.sendRequest(server, req);<a name="line.761"></a> -<span class="sourceLineNo">762</span> }<a name="line.762"></a> -<span class="sourceLineNo">763</span><a name="line.763"></a> -<span class="sourceLineNo">764</span> @Override<a name="line.764"></a> -<span class="sourceLineNo">765</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.765"></a> -<span class="sourceLineNo">766</span> throws IOException {<a name="line.766"></a> -<span class="sourceLineNo">767</span> switch (rand.nextInt(6)) {<a name="line.767"></a> -<span class="sourceLineNo">768</span> case 0:<a name="line.768"></a> -<span class="sourceLineNo">769</span> LOG.info("Return OPENED response");<a name="line.769"></a> -<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.770"></a> -<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.771"></a> -<span class="sourceLineNo">772</span> case 1:<a name="line.772"></a> -<span class="sourceLineNo">773</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.773"></a> -<span class="sourceLineNo">774</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.774"></a> -<span class="sourceLineNo">775</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.775"></a> -<span class="sourceLineNo">776</span> case 2:<a name="line.776"></a> -<span class="sourceLineNo">777</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.777"></a> -<span class="sourceLineNo">778</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.778"></a> -<span class="sourceLineNo">779</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.779"></a> -<span class="sourceLineNo">780</span> }<a name="line.780"></a> -<span class="sourceLineNo">781</span> // The procedure on master will just hang forever because nothing comes back<a name="line.781"></a> -<span class="sourceLineNo">782</span> // from the RS in this case.<a name="line.782"></a> -<span class="sourceLineNo">783</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.783"></a> -<span class="sourceLineNo">784</span> executor.schedule(new Runnable() {<a name="line.784"></a> -<span class="sourceLineNo">785</span> @Override<a name="line.785"></a> -<span class="sourceLineNo">786</span> public void run() {<a name="line.786"></a> -<span class="sourceLineNo">787</span> LOG.info("Delayed CRASHING of " + server);<a name="line.787"></a> -<span class="sourceLineNo">788</span> doCrash(server);<a name="line.788"></a> -<span class="sourceLineNo">789</span> }<a name="line.789"></a> -<span class="sourceLineNo">790</span> }, 5, TimeUnit.SECONDS);<a name="line.790"></a> -<span class="sourceLineNo">791</span> return null;<a name="line.791"></a> -<span class="sourceLineNo">792</span> }<a name="line.792"></a> -<span class="sourceLineNo">793</span><a name="line.793"></a> -<span class="sourceLineNo">794</span> @Override<a name="line.794"></a> -<span class="sourceLineNo">795</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.795"></a> -<span class="sourceLineNo">796</span> throws IOException {<a name="line.796"></a> -<span class="sourceLineNo">797</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.797"></a> -<span class="sourceLineNo">798</span> boolean closed = rand.nextBoolean();<a name="line.798"></a> -<span class="sourceLineNo">799</span> if (closed) {<a name="line.799"></a> -<span class="sourceLineNo">800</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.800"></a> -<span class="sourceLineNo">801</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.801"></a> -<span class="sourceLineNo">802</span> }<a name="line.802"></a> -<span class="sourceLineNo">803</span> resp.setClosed(closed);<a name="line.803"></a> -<span class="sourceLineNo">804</span> return resp.build();<a name="line.804"></a> -<span class="sourceLineNo">805</span> }<a name="line.805"></a> -<span class="sourceLineNo">806</span> }<a name="line.806"></a> +<span class="sourceLineNo">727</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.727"></a> +<span class="sourceLineNo">728</span> executor.schedule(new Runnable() {<a name="line.728"></a> +<span class="sourceLineNo">729</span> @Override<a name="line.729"></a> +<span class="sourceLineNo">730</span> public void run() {<a name="line.730"></a> +<span class="sourceLineNo">731</span> LOG.info("Sending in CRASH of " + server);<a name="line.731"></a> +<span class="sourceLineNo">732</span> doCrash(server);<a name="line.732"></a> +<span class="sourceLineNo">733</span> }<a name="line.733"></a> +<span class="sourceLineNo">734</span> }, 1, TimeUnit.SECONDS);<a name="line.734"></a> +<span class="sourceLineNo">735</span> return null;<a name="line.735"></a> +<span class="sourceLineNo">736</span> default:<a name="line.736"></a> +<span class="sourceLineNo">737</span> return super.execCloseRegion(server, regionName);<a name="line.737"></a> +<span class="sourceLineNo">738</span> }<a name="line.738"></a> +<span class="sourceLineNo">739</span> }<a name="line.739"></a> +<span class="sourceLineNo">740</span> }<a name="line.740"></a> +<span class="sourceLineNo">741</span><a name="line.741"></a> +<span class="sourceLineNo">742</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.742"></a> +<span class="sourceLineNo">743</span> private final Random rand = new Random();<a name="line.743"></a> +<span class="sourceLineNo">744</span><a name="line.744"></a> +<span class="sourceLineNo">745</span> @Override<a name="line.745"></a> +<span class="sourceLineNo">746</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.746"></a> +<span class="sourceLineNo">747</span> throws IOException {<a name="line.747"></a> +<span class="sourceLineNo">748</span> switch (rand.nextInt(5)) {<a name="line.748"></a> +<span class="sourceLineNo">749</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.749"></a> +<span class="sourceLineNo">750</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.750"></a> +<span class="sourceLineNo">751</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.751"></a> +<span class="sourceLineNo">752</span> }<a name="line.752"></a> +<span class="sourceLineNo">753</span> return super.sendRequest(server, req);<a name="line.753"></a> +<span class="sourceLineNo">754</span> }<a name="line.754"></a> +<span class="sourceLineNo">755</span><a name="line.755"></a> +<span class="sourceLineNo">756</span> @Override<a name="line.756"></a> +<span class="sourceLineNo">757</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.757"></a> +<span class="sourceLineNo">758</span> throws IOException {<a name="line.758"></a> +<span class="sourceLineNo">759</span> switch (rand.nextInt(6)) {<a name="line.759"></a> +<span class="sourceLineNo">760</span> case 0:<a name="line.760"></a> +<span class="sourceLineNo">761</span> LOG.info("Return OPENED response");<a name="line.761"></a> +<span class="sourceLineNo">762</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.762"></a> +<span class="sourceLineNo">763</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.763"></a> +<span class="sourceLineNo">764</span> case 1:<a name="line.764"></a> +<span class="sourceLineNo">765</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.765"></a> +<span class="sourceLineNo">766</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.766"></a> +<span class="sourceLineNo">767</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.767"></a> +<span class="sourceLineNo">768</span> case 2:<a name="line.768"></a> +<span class="sourceLineNo">769</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.769"></a> +<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.770"></a> +<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.771"></a> +<span class="sourceLineNo">772</span> }<a name="line.772"></a> +<span class="sourceLineNo">773</span> // The procedure on master will just hang forever because nothing comes back<a name="line.773"></a> +<span class="sourceLineNo">774</span> // from the RS in this case.<a name="line.774"></a> +<span class="sourceLineNo">775</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.775"></a> +<span class="sourceLineNo">776</span> executor.schedule(new Runnable() {<a name="line.776"></a> +<span class="sourceLineNo">777</span> @Override<a name="line.777"></a> +<span class="sourceLineNo">778</span> public void run() {<a name="line.778"></a> +<span class="sourceLineNo">779</span> LOG.info("Delayed CRASHING of " + server);<a name="line.779"></a> +<span class="sourceLineNo">780</span> doCrash(server);<a name="line.780"></a> +<span class="sourceLineNo">781</span> }<a name="line.781"></a> +<span class="sourceLineNo">782</span> }, 5, TimeUnit.SECONDS);<a name="line.782"></a> +<span class="sourceLineNo">783</span> return null;<a name="line.783"></a> +<span class="sourceLineNo">784</span> }<a name="line.784"></a> +<span class="sourceLineNo">785</span><a name="line.785"></a> +<span class="sourceLineNo">786</span> @Override<a name="line.786"></a> +<span class="sourceLineNo">787</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.787"></a> +<span class="sourceLineNo">788</span> throws IOException {<a name="line.788"></a> +<span class="sourceLineNo">789</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.789"></a> +<span class="sourceLineNo">790</span> boolean closed = rand.nextBoolean();<a name="line.790"></a> +<span class="sourceLineNo">791</span> if (closed) {<a name="line.791"></a> +<span class="sourceLineNo">792</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.792"></a> +<span class="sourceLineNo">793</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.793"></a> +<span class="sourceLineNo">794</span> }<a name="line.794"></a> +<span class="sourceLineNo">795</span> resp.setClosed(closed);<a name="line.795"></a> +<span class="sourceLineNo">796</span> return resp.build();<a name="line.796"></a> +<span class="sourceLineNo">797</span> }<a name="line.797"></a> +<span class="sourceLineNo">798</span> }<a name="line.798"></a> +<span class="sourceLineNo">799</span><a name="line.799"></a> +<span class="sourceLineNo">800</span> private interface MockRSExecutor {<a name="line.800"></a> +<span class="sourceLineNo">801</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.801"></a> +<span class="sourceLineNo">802</span> throws IOException;<a name="line.802"></a> +<span class="sourceLineNo">803</span> }<a name="line.803"></a> +<span class="sourceLineNo">804</span><a name="line.804"></a> +<span class="sourceLineNo">805</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.805"></a> +<span class="sourceLineNo">806</span> private MockRSExecutor mockRsExec;<a name="line.806"></a> <span class="sourceLineNo">807</span><a name="line.807"></a> -<span class="sourceLineNo">808</span> private interface MockRSExecutor {<a name="line.808"></a> -<span class="sourceLineNo">809</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.809"></a> -<span class="sourceLineNo">810</span> throws IOException;<a name="line.810"></a> -<span class="sourceLineNo">811</span> }<a name="line.811"></a> -<span class="sourceLineNo">812</span><a name="line.812"></a> -<span class="sourceLineNo">813</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.813"></a> -<span class="sourceLineNo">814</span> private MockRSExecutor mockRsExec;<a name="line.814"></a> +<span class="sourceLineNo">808</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.808"></a> +<span class="sourceLineNo">809</span> super(master);<a name="line.809"></a> +<span class="sourceLineNo">810</span> }<a name="line.810"></a> +<span class="sourceLineNo">811</span><a name="line.811"></a> +<span class="sourceLineNo">812</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.812"></a> +<span class="sourceLineNo">813</span> this.mockRsExec = mockRsExec;<a name="line.813"></a> +<span class="sourceLineNo">814</span> }<a name="line.814"></a> <span class="sourceLineNo">815</span><a name="line.815"></a> -<span class="sourceLineNo">816</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.816"></a> -<span class="sourceLineNo">817</span> super(master);<a name="line.817"></a> -<span class="sourceLineNo">818</span> }<a name="line.818"></a> -<span class="sourceLineNo">819</span><a name="line.819"></a> -<span class="sourceLineNo">820</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.820"></a> -<span class="sourceLineNo">821</span> this.mockRsExec = mockRsExec;<a name="line.821"></a> -<span class="sourceLineNo">822</span> }<a name="line.822"></a> -<span class="sourceLineNo">823</span><a name="line.823"></a> -<span class="sourceLineNo">824</span> @Override<a name="line.824"></a> -<span class="sourceLineNo">825</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.825"></a> -<span class="sourceLineNo">826</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.826"></a> -<span class="sourceLineNo">827</span> }<a name="line.827"></a> -<span class="sourceLineNo">828</span><a name="line.828"></a> -<span class="sourceLineNo">829</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.829"></a> -<span class="sourceLineNo">830</span> public MockRemoteCall(final ServerName serverName,<a name="line.830"></a> -<span class="sourceLineNo">831</span> final Set<RemoteProcedure> operations) {<a name="line.831"></a> -<span class="sourceLineNo">832</span> super(serverName, operations);<a name="line.832"></a> -<span class="sourceLineNo">833</span> }<a name="line.833"></a> +<span class="sourceLineNo">816</span> @Override<a name="line.816"></a> +<span class="sourceLineNo">817</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.817"></a> +<span class="sourceLineNo">818</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.818"></a> +<span class="sourceLineNo">819</span> }<a name="line.819"></a> +<span class="sourceLineNo">820</span><a name="line.820"></a> +<span class="sourceLineNo">821</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.821"></a> +<span class="sourceLineNo">822</span> public MockRemoteCall(final ServerName serverName,<a name="line.822"></a> +<span class="sourceLineNo">823</span> final Set<RemoteProcedure> operations) {<a name="line.823"></a> +<span class="sourceLineNo">824</span> super(serverName, operations);<a name="line.824"></a> +<span class="sourceLineNo">825</span> }<a name="line.825"></a> +<span class="sourceLineNo">826</span><a name="line.826"></a> +<span class="sourceLineNo">827</span> @Override<a name="line.827"></a> +<span class="sourceLineNo">828</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.828"></a> +<span class="sourceLineNo">829</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.829"></a> +<span class="sourceLineNo">830</span> return mockRsExec.sendRequest(serverName, request);<a name="line.830"></a> +<span class="sourceLineNo">831</span> }<a name="line.831"></a> +<span class="sourceLineNo">832</span> }<a name="line.832"></a> +<span class="sourceLineNo">833</span> }<a name="line.833"></a> <span class="sourceLineNo">834</span><a name="line.834"></a> -<span class="sourceLineNo">835</span> @Override<a name="line.835"></a> -<span class="sourceLineNo">836</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.836"></a> -<span class="sourceLineNo">837</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.837"></a> -<span class="sourceLineNo">838</span> return mockRsExec.sendRequest(serverName, request);<a name="line.838"></a> -<span class="sourceLineNo">839</span> }<a name="line.839"></a> -<span class="sourceLineNo">840</span> }<a name="line.840"></a> -<span class="sourceLineNo">841</span> }<a name="line.841"></a> -<span class="sourceLineNo">842</span><a name="line.842"></a> -<span class="sourceLineNo">843</span> private void collectAssignmentManagerMetrics() {<a name="line.843"></a> -<span class="sourceLineNo">844</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.844"></a> -<span class="sourceLineNo">845</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.845"></a> -<span class="sourceLineNo">846</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.846"></a> -<span class="sourceLineNo">847</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.847"></a> -<span class="sourceLineNo">848</span> }<a name="line.848"></a> -<span class="sourceLineNo">849</span>}<a name="line.849"></a> +<span class="sourceLineNo">835</span> private void collectAssignmentManagerMetrics() {<a name="line.835"></a> +<span class="sourceLineNo">836</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.836"></a> +<span class="sourceLineNo">837</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.837"></a> +<span class="sourceLineNo">838</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.838"></a> +<span class="sourceLineNo">839</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.839"></a> +<span class="sourceLineNo">840</span> }<a name="line.840"></a> +<span class="sourceLineNo">841</span>}<a name="line.841"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSProcedureDispatcher.MockRemoteCall.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSProcedureDispatcher.MockRemoteCall.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSProcedureDispatcher.MockRemoteCall.html index 507c0cd..d27f392 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSProcedureDispatcher.MockRemoteCall.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.MockRSProcedureDispatcher.MockRemoteCall.html @@ -720,7 +720,7 @@ <span class="sourceLineNo">712</span> }<a name="line.712"></a> <span class="sourceLineNo">713</span><a name="line.713"></a> <span class="sourceLineNo">714</span> private class HangOnCloseThenRSCrashExecutor extends GoodRsExecutor {<a name="line.714"></a> -<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 7;<a name="line.715"></a> +<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 6;<a name="line.715"></a> <span class="sourceLineNo">716</span> private int invocations;<a name="line.716"></a> <span class="sourceLineNo">717</span><a name="line.717"></a> <span class="sourceLineNo">718</span> @Override<a name="line.718"></a> @@ -732,129 +732,121 @@ <span class="sourceLineNo">724</span> case 2: throw new RegionServerStoppedException("Fake!");<a name="line.724"></a> <span class="sourceLineNo">725</span> case 3: throw new ServerNotRunningYetException("Fake!");<a name="line.725"></a> <span class="sourceLineNo">726</span> case 4:<a name="line.726"></a> -<span class="sourceLineNo">727</span> // We will expire the server that we failed to rpc against.<a name="line.727"></a> -<span class="sourceLineNo">728</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.728"></a> -<span class="sourceLineNo">729</span> case 5:<a name="line.729"></a> -<span class="sourceLineNo">730</span> // Mark this regionserver as already expiring so we go different code route; i.e. we<a name="line.730"></a> -<span class="sourceLineNo">731</span> // FAIL to expire the remote server and presume ok to move region to CLOSED. HBASE-20137.<a name="line.731"></a> -<span class="sourceLineNo">732</span> TestAssignmentManager.this.master.getServerManager().expireServer(server);<a name="line.732"></a> -<span class="sourceLineNo">733</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.733"></a> -<span class="sourceLineNo">734</span> case 6:<a name="line.734"></a> -<span class="sourceLineNo">735</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.735"></a> -<span class="sourceLineNo">736</span> executor.schedule(new Runnable() {<a name="line.736"></a> -<span class="sourceLineNo">737</span> @Override<a name="line.737"></a> -<span class="sourceLineNo">738</span> public void run() {<a name="line.738"></a> -<span class="sourceLineNo">739</span> LOG.info("Sending in CRASH of " + server);<a name="line.739"></a> -<span class="sourceLineNo">740</span> doCrash(server);<a name="line.740"></a> -<span class="sourceLineNo">741</span> }<a name="line.741"></a> -<span class="sourceLineNo">742</span> }, 1, TimeUnit.SECONDS);<a name="line.742"></a> -<span class="sourceLineNo">743</span> return null;<a name="line.743"></a> -<span class="sourceLineNo">744</span> default:<a name="line.744"></a> -<span class="sourceLineNo">745</span> return super.execCloseRegion(server, regionName);<a name="line.745"></a> -<span class="sourceLineNo">746</span> }<a name="line.746"></a> -<span class="sourceLineNo">747</span> }<a name="line.747"></a> -<span class="sourceLineNo">748</span> }<a name="line.748"></a> -<span class="sourceLineNo">749</span><a name="line.749"></a> -<span class="sourceLineNo">750</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.750"></a> -<span class="sourceLineNo">751</span> private final Random rand = new Random();<a name="line.751"></a> -<span class="sourceLineNo">752</span><a name="line.752"></a> -<span class="sourceLineNo">753</span> @Override<a name="line.753"></a> -<span class="sourceLineNo">754</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.754"></a> -<span class="sourceLineNo">755</span> throws IOException {<a name="line.755"></a> -<span class="sourceLineNo">756</span> switch (rand.nextInt(5)) {<a name="line.756"></a> -<span class="sourceLineNo">757</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.757"></a> -<span class="sourceLineNo">758</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.758"></a> -<span class="sourceLineNo">759</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.759"></a> -<span class="sourceLineNo">760</span> }<a name="line.760"></a> -<span class="sourceLineNo">761</span> return super.sendRequest(server, req);<a name="line.761"></a> -<span class="sourceLineNo">762</span> }<a name="line.762"></a> -<span class="sourceLineNo">763</span><a name="line.763"></a> -<span class="sourceLineNo">764</span> @Override<a name="line.764"></a> -<span class="sourceLineNo">765</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.765"></a> -<span class="sourceLineNo">766</span> throws IOException {<a name="line.766"></a> -<span class="sourceLineNo">767</span> switch (rand.nextInt(6)) {<a name="line.767"></a> -<span class="sourceLineNo">768</span> case 0:<a name="line.768"></a> -<span class="sourceLineNo">769</span> LOG.info("Return OPENED response");<a name="line.769"></a> -<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.770"></a> -<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.771"></a> -<span class="sourceLineNo">772</span> case 1:<a name="line.772"></a> -<span class="sourceLineNo">773</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.773"></a> -<span class="sourceLineNo">774</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.774"></a> -<span class="sourceLineNo">775</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.775"></a> -<span class="sourceLineNo">776</span> case 2:<a name="line.776"></a> -<span class="sourceLineNo">777</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.777"></a> -<span class="sourceLineNo">778</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.778"></a> -<span class="sourceLineNo">779</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.779"></a> -<span class="sourceLineNo">780</span> }<a name="line.780"></a> -<span class="sourceLineNo">781</span> // The procedure on master will just hang forever because nothing comes back<a name="line.781"></a> -<span class="sourceLineNo">782</span> // from the RS in this case.<a name="line.782"></a> -<span class="sourceLineNo">783</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.783"></a> -<span class="sourceLineNo">784</span> executor.schedule(new Runnable() {<a name="line.784"></a> -<span class="sourceLineNo">785</span> @Override<a name="line.785"></a> -<span class="sourceLineNo">786</span> public void run() {<a name="line.786"></a> -<span class="sourceLineNo">787</span> LOG.info("Delayed CRASHING of " + server);<a name="line.787"></a> -<span class="sourceLineNo">788</span> doCrash(server);<a name="line.788"></a> -<span class="sourceLineNo">789</span> }<a name="line.789"></a> -<span class="sourceLineNo">790</span> }, 5, TimeUnit.SECONDS);<a name="line.790"></a> -<span class="sourceLineNo">791</span> return null;<a name="line.791"></a> -<span class="sourceLineNo">792</span> }<a name="line.792"></a> -<span class="sourceLineNo">793</span><a name="line.793"></a> -<span class="sourceLineNo">794</span> @Override<a name="line.794"></a> -<span class="sourceLineNo">795</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.795"></a> -<span class="sourceLineNo">796</span> throws IOException {<a name="line.796"></a> -<span class="sourceLineNo">797</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.797"></a> -<span class="sourceLineNo">798</span> boolean closed = rand.nextBoolean();<a name="line.798"></a> -<span class="sourceLineNo">799</span> if (closed) {<a name="line.799"></a> -<span class="sourceLineNo">800</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.800"></a> -<span class="sourceLineNo">801</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.801"></a> -<span class="sourceLineNo">802</span> }<a name="line.802"></a> -<span class="sourceLineNo">803</span> resp.setClosed(closed);<a name="line.803"></a> -<span class="sourceLineNo">804</span> return resp.build();<a name="line.804"></a> -<span class="sourceLineNo">805</span> }<a name="line.805"></a> -<span class="sourceLineNo">806</span> }<a name="line.806"></a> +<span class="sourceLineNo">727</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.727"></a> +<span class="sourceLineNo">728</span> executor.schedule(new Runnable() {<a name="line.728"></a> +<span class="sourceLineNo">729</span> @Override<a name="line.729"></a> +<span class="sourceLineNo">730</span> public void run() {<a name="line.730"></a> +<span class="sourceLineNo">731</span> LOG.info("Sending in CRASH of " + server);<a name="line.731"></a> +<span class="sourceLineNo">732</span> doCrash(server);<a name="line.732"></a> +<span class="sourceLineNo">733</span> }<a name="line.733"></a> +<span class="sourceLineNo">734</span> }, 1, TimeUnit.SECONDS);<a name="line.734"></a> +<span class="sourceLineNo">735</span> return null;<a name="line.735"></a> +<span class="sourceLineNo">736</span> default:<a name="line.736"></a> +<span class="sourceLineNo">737</span> return super.execCloseRegion(server, regionName);<a name="line.737"></a> +<span class="sourceLineNo">738</span> }<a name="line.738"></a> +<span class="sourceLineNo">739</span> }<a name="line.739"></a> +<span class="sourceLineNo">740</span> }<a name="line.740"></a> +<span class="sourceLineNo">741</span><a name="line.741"></a> +<span class="sourceLineNo">742</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.742"></a> +<span class="sourceLineNo">743</span> private final Random rand = new Random();<a name="line.743"></a> +<span class="sourceLineNo">744</span><a name="line.744"></a> +<span class="sourceLineNo">745</span> @Override<a name="line.745"></a> +<span class="sourceLineNo">746</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.746"></a> +<span class="sourceLineNo">747</span> throws IOException {<a name="line.747"></a> +<span class="sourceLineNo">748</span> switch (rand.nextInt(5)) {<a name="line.748"></a> +<span class="sourceLineNo">749</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.749"></a> +<span class="sourceLineNo">750</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.750"></a> +<span class="sourceLineNo">751</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.751"></a> +<span class="sourceLineNo">752</span> }<a name="line.752"></a> +<span class="sourceLineNo">753</span> return super.sendRequest(server, req);<a name="line.753"></a> +<span class="sourceLineNo">754</span> }<a name="line.754"></a> +<span class="sourceLineNo">755</span><a name="line.755"></a> +<span class="sourceLineNo">756</span> @Override<a name="line.756"></a> +<span class="sourceLineNo">757</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.757"></a> +<span class="sourceLineNo">758</span> throws IOException {<a name="line.758"></a> +<span class="sourceLineNo">759</span> switch (rand.nextInt(6)) {<a name="line.759"></a> +<span class="sourceLineNo">760</span> case 0:<a name="line.760"></a> +<span class="sourceLineNo">761</span> LOG.info("Return OPENED response");<a name="line.761"></a> +<span class="sourceLineNo">762</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.762"></a> +<span class="sourceLineNo">763</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.763"></a> +<span class="sourceLineNo">764</span> case 1:<a name="line.764"></a> +<span class="sourceLineNo">765</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.765"></a> +<span class="sourceLineNo">766</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.766"></a> +<span class="sourceLineNo">767</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.767"></a> +<span class="sourceLineNo">768</span> case 2:<a name="line.768"></a> +<span class="sourceLineNo">769</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.769"></a> +<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.770"></a> +<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.771"></a> +<span class="sourceLineNo">772</span> }<a name="line.772"></a> +<span class="sourceLineNo">773</span> // The procedure on master will just hang forever because nothing comes back<a name="line.773"></a> +<span class="sourceLineNo">774</span> // from the RS in this case.<a name="line.774"></a> +<span class="sourceLineNo">775</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.775"></a> +<span class="sourceLineNo">776</span> executor.schedule(new Runnable() {<a name="line.776"></a> +<span class="sourceLineNo">777</span> @Override<a name="line.777"></a> +<span class="sourceLineNo">778</span> public void run() {<a name="line.778"></a> +<span class="sourceLineNo">779</span> LOG.info("Delayed CRASHING of " + server);<a name="line.779"></a> +<span class="sourceLineNo">780</span> doCrash(server);<a name="line.780"></a> +<span class="sourceLineNo">781</span> }<a name="line.781"></a> +<span class="sourceLineNo">782</span> }, 5, TimeUnit.SECONDS);<a name="line.782"></a> +<span class="sourceLineNo">783</span> return null;<a name="line.783"></a> +<span class="sourceLineNo">784</span> }<a name="line.784"></a> +<span class="sourceLineNo">785</span><a name="line.785"></a> +<span class="sourceLineNo">786</span> @Override<a name="line.786"></a> +<span class="sourceLineNo">787</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.787"></a> +<span class="sourceLineNo">788</span> throws IOException {<a name="line.788"></a> +<span class="sourceLineNo">789</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.789"></a> +<span class="sourceLineNo">790</span> boolean closed = rand.nextBoolean();<a name="line.790"></a> +<span class="sourceLineNo">791</span> if (closed) {<a name="line.791"></a> +<span class="sourceLineNo">792</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.792"></a> +<span class="sourceLineNo">793</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.793"></a> +<span class="sourceLineNo">794</span> }<a name="line.794"></a> +<span class="sourceLineNo">795</span> resp.setClosed(closed);<a name="line.795"></a> +<span class="sourceLineNo">796</span> return resp.build();<a name="line.796"></a> +<span class="sourceLineNo">797</span> }<a name="line.797"></a> +<span class="sourceLineNo">798</span> }<a name="line.798"></a> +<span class="sourceLineNo">799</span><a name="line.799"></a> +<span class="sourceLineNo">800</span> private interface MockRSExecutor {<a name="line.800"></a> +<span class="sourceLineNo">801</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.801"></a> +<span class="sourceLineNo">802</span> throws IOException;<a name="line.802"></a> +<span class="sourceLineNo">803</span> }<a name="line.803"></a> +<span class="sourceLineNo">804</span><a name="line.804"></a> +<span class="sourceLineNo">805</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.805"></a> +<span class="sourceLineNo">806</span> private MockRSExecutor mockRsExec;<a name="line.806"></a> <span class="sourceLineNo">807</span><a name="line.807"></a> -<span class="sourceLineNo">808</span> private interface MockRSExecutor {<a name="line.808"></a> -<span class="sourceLineNo">809</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.809"></a> -<span class="sourceLineNo">810</span> throws IOException;<a name="line.810"></a> -<span class="sourceLineNo">811</span> }<a name="line.811"></a> -<span class="sourceLineNo">812</span><a name="line.812"></a> -<span class="sourceLineNo">813</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.813"></a> -<span class="sourceLineNo">814</span> private MockRSExecutor mockRsExec;<a name="line.814"></a> +<span class="sourceLineNo">808</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.808"></a> +<span class="sourceLineNo">809</span> super(master);<a name="line.809"></a> +<span class="sourceLineNo">810</span> }<a name="line.810"></a> +<span class="sourceLineNo">811</span><a name="line.811"></a> +<span class="sourceLineNo">812</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.812"></a> +<span class="sourceLineNo">813</span> this.mockRsExec = mockRsExec;<a name="line.813"></a> +<span class="sourceLineNo">814</span> }<a name="line.814"></a> <span class="sourceLineNo">815</span><a name="line.815"></a> -<span class="sourceLineNo">816</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.816"></a> -<span class="sourceLineNo">817</span> super(master);<a name="line.817"></a> -<span class="sourceLineNo">818</span> }<a name="line.818"></a> -<span class="sourceLineNo">819</span><a name="line.819"></a> -<span class="sourceLineNo">820</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.820"></a> -<span class="sourceLineNo">821</span> this.mockRsExec = mockRsExec;<a name="line.821"></a> -<span class="sourceLineNo">822</span> }<a name="line.822"></a> -<span class="sourceLineNo">823</span><a name="line.823"></a> -<span class="sourceLineNo">824</span> @Override<a name="line.824"></a> -<span class="sourceLineNo">825</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.825"></a> -<span class="sourceLineNo">826</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.826"></a> -<span class="sourceLineNo">827</span> }<a name="line.827"></a> -<span class="sourceLineNo">828</span><a name="line.828"></a> -<span class="sourceLineNo">829</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.829"></a> -<span class="sourceLineNo">830</span> public MockRemoteCall(final ServerName serverName,<a name="line.830"></a> -<span class="sourceLineNo">831</span> final Set<RemoteProcedure> operations) {<a name="line.831"></a> -<span class="sourceLineNo">832</span> super(serverName, operations);<a name="line.832"></a> -<span class="sourceLineNo">833</span> }<a name="line.833"></a> +<span class="sourceLineNo">816</span> @Override<a name="line.816"></a> +<span class="sourceLineNo">817</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.817"></a> +<span class="sourceLineNo">818</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.818"></a> +<span class="sourceLineNo">819</span> }<a name="line.819"></a> +<span class="sourceLineNo">820</span><a name="line.820"></a> +<span class="sourceLineNo">821</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.821"></a> +<span class="sourceLineNo">822</span> public MockRemoteCall(final ServerName serverName,<a name="line.822"></a> +<span class="sourceLineNo">823</span> final Set<RemoteProcedure> operations) {<a name="line.823"></a> +<span class="sourceLineNo">824</span> super(serverName, operations);<a name="line.824"></a> +<span class="sourceLineNo">825</span> }<a name="line.825"></a> +<span class="sourceLineNo">826</span><a name="line.826"></a> +<span class="sourceLineNo">827</span> @Override<a name="line.827"></a> +<span class="sourceLineNo">828</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.828"></a> +<span class="sourceLineNo">829</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.829"></a> +<span class="sourceLineNo">830</span> return mockRsExec.sendRequest(serverName, request);<a name="line.830"></a> +<span class="sourceLineNo">831</span> }<a name="line.831"></a> +<span class="sourceLineNo">832</span> }<a name="line.832"></a> +<span class="sourceLineNo">833</span> }<a name="line.833"></a> <span class="sourceLineNo">834</span><a name="line.834"></a> -<span class="sourceLineNo">835</span> @Override<a name="line.835"></a> -<span class="sourceLineNo">836</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.836"></a> -<span class="sourceLineNo">837</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.837"></a> -<span class="sourceLineNo">838</span> return mockRsExec.sendRequest(serverName, request);<a name="line.838"></a> -<span class="sourceLineNo">839</span> }<a name="line.839"></a> -<span class="sourceLineNo">840</span> }<a name="line.840"></a> -<span class="sourceLineNo">841</span> }<a name="line.841"></a> -<span class="sourceLineNo">842</span><a name="line.842"></a> -<span class="sourceLineNo">843</span> private void collectAssignmentManagerMetrics() {<a name="line.843"></a> -<span class="sourceLineNo">844</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.844"></a> -<span class="sourceLineNo">845</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.845"></a> -<span class="sourceLineNo">846</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.846"></a> -<span class="sourceLineNo">847</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.847"></a> -<span class="sourceLineNo">848</span> }<a name="line.848"></a> -<span class="sourceLineNo">849</span>}<a name="line.849"></a> +<span class="sourceLineNo">835</span> private void collectAssignmentManagerMetrics() {<a name="line.835"></a> +<span class="sourceLineNo">836</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.836"></a> +<span class="sourceLineNo">837</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.837"></a> +<span class="sourceLineNo">838</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.838"></a> +<span class="sourceLineNo">839</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.839"></a> +<span class="sourceLineNo">840</span> }<a name="line.840"></a> +<span class="sourceLineNo">841</span>}<a name="line.841"></a>