hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From git-site-r...@apache.org
Subject [25/51] [partial] hbase-site git commit: Published site at .
Date Wed, 06 Dec 2017 15:18:18 GMT
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
index 7f3de9e..557f64e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
@@ -686,51 +686,56 @@
 <span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
 <span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
 <span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>}<a name="line.725"></a>
+<span class="sourceLineNo">681</span>      if (bypass) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        // If CP says bypass, skip out w/o calling any following CPs; they might ruin our response.<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        // In hbase1, this used to be called 'complete'. In hbase2, we unite bypass and 'complete'.<a name="line.683"></a>
+<span class="sourceLineNo">684</span>        break;<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
+<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
+<span class="sourceLineNo">722</span><a name="line.722"></a>
+<span class="sourceLineNo">723</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    for (E env : envs) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      observerOperation.prepare(env);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      observerOperation.postEnvCall();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return bypass;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>}<a name="line.730"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
index 7f3de9e..557f64e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
@@ -686,51 +686,56 @@
 <span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
 <span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
 <span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>}<a name="line.725"></a>
+<span class="sourceLineNo">681</span>      if (bypass) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        // If CP says bypass, skip out w/o calling any following CPs; they might ruin our response.<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        // In hbase1, this used to be called 'complete'. In hbase2, we unite bypass and 'complete'.<a name="line.683"></a>
+<span class="sourceLineNo">684</span>        break;<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
+<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
+<span class="sourceLineNo">722</span><a name="line.722"></a>
+<span class="sourceLineNo">723</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    for (E env : envs) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      observerOperation.prepare(env);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      observerOperation.postEnvCall();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return bypass;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>}<a name="line.730"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
index 7f3de9e..557f64e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
@@ -686,51 +686,56 @@
 <span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
 <span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
 <span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>}<a name="line.725"></a>
+<span class="sourceLineNo">681</span>      if (bypass) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        // If CP says bypass, skip out w/o calling any following CPs; they might ruin our response.<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        // In hbase1, this used to be called 'complete'. In hbase2, we unite bypass and 'complete'.<a name="line.683"></a>
+<span class="sourceLineNo">684</span>        break;<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
+<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
+<span class="sourceLineNo">722</span><a name="line.722"></a>
+<span class="sourceLineNo">723</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    for (E env : envs) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      observerOperation.prepare(env);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      observerOperation.postEnvCall();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return bypass;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>}<a name="line.730"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
index 7f3de9e..557f64e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
@@ -686,51 +686,56 @@
 <span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
 <span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
 <span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>}<a name="line.725"></a>
+<span class="sourceLineNo">681</span>      if (bypass) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        // If CP says bypass, skip out w/o calling any following CPs; they might ruin our response.<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        // In hbase1, this used to be called 'complete'. In hbase2, we unite bypass and 'complete'.<a name="line.683"></a>
+<span class="sourceLineNo">684</span>        break;<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
+<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
+<span class="sourceLineNo">722</span><a name="line.722"></a>
+<span class="sourceLineNo">723</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    for (E env : envs) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      observerOperation.prepare(env);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      observerOperation.postEnvCall();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return bypass;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>}<a name="line.730"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
index 7f3de9e..557f64e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
@@ -686,51 +686,56 @@
 <span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
 <span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
 <span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>}<a name="line.725"></a>
+<span class="sourceLineNo">681</span>      if (bypass) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        // If CP says bypass, skip out w/o calling any following CPs; they might ruin our response.<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        // In hbase1, this used to be called 'complete'. In hbase2, we unite bypass and 'complete'.<a name="line.683"></a>
+<span class="sourceLineNo">684</span>        break;<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
+<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
+<span class="sourceLineNo">722</span><a name="line.722"></a>
+<span class="sourceLineNo">723</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    for (E env : envs) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      observerOperation.prepare(env);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      observerOperation.postEnvCall();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return bypass;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>}<a name="line.730"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
index 7f3de9e..557f64e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
@@ -686,51 +686,56 @@
 <span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
 <span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
 <span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>}<a name="line.725"></a>
+<span class="sourceLineNo">681</span>      if (bypass) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        // If CP says bypass, skip out w/o calling any following CPs; they might ruin our response.<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        // In hbase1, this used to be called 'complete'. In hbase2, we unite bypass and 'complete'.<a name="line.683"></a>
+<span class="sourceLineNo">684</span>        break;<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
+<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
+<span class="sourceLineNo">722</span><a name="line.722"></a>
+<span class="sourceLineNo">723</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    for (E env : envs) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      observerOperation.prepare(env);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      observerOperation.postEnvCall();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return bypass;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>}<a name="line.730"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/d171b896/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
index fd753f3..49d37d0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
@@ -70,17 +70,22 @@
 <span class="sourceLineNo">062</span>   * that the replacement for the bypassed code takes care of all necessary<a name="line.62"></a>
 <span class="sourceLineNo">063</span>   * skipped concerns. Because those concerns can change at any point, such an<a name="line.63"></a>
 <span class="sourceLineNo">064</span>   * assumption is never safe.&lt;/p&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  void bypass();<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  /**<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * Returns the active user for the coprocessor call. If an explicit {@code User} instance was<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * provided to the constructor, that will be returned, otherwise if we are in the context of an<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * RPC call, the remote user is used. May not be present if the execution is outside of an RPC<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * context.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  Optional&lt;User&gt; getCaller();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>}<a name="line.75"></a>
+<span class="sourceLineNo">065</span>   * &lt;p&gt;As of hbase2, when bypass has been set, we will NOT call any Coprocessors follow the<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * bypassing Coprocessor; we cut short the processing and return the bypassing Coprocessors<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * response (this used be a separate 'complete' option that has been folded into the<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * 'bypass' in hbase2.&lt;/p&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  void bypass();<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   * Returns the active user for the coprocessor call. If an explicit {@code User} instance was<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   * provided to the constructor, that will be returned, otherwise if we are in the context of an<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * RPC call, the remote user is used. May not be present if the execution is outside of an RPC<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * context.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  Optional&lt;User&gt; getCaller();<a name="line.79"></a>
+<span class="sourceLineNo">080</span>}<a name="line.80"></a>
 
 
 


Mime
View raw message