saintstack commented on a change in pull request #1487: HBASE-23800 Add documentation about the CECPs changes URL: https://github.com/apache/hbase/pull/1487#discussion_r407872099
########## File path: src/main/asciidoc/_chapters/cp.adoc ########## @@ -178,11 +178,27 @@ average or summation for an entire table which spans hundreds of regions. In contrast to observer coprocessors, where your code is run transparently, endpoint coprocessors must be explicitly invoked using the -link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html#coprocessorService-java.lang.Class-byte:A-byte:A-org.apache.hadoop.hbase.client.coprocessor.Batch.Call-[CoprocessorService()] +link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/AsyncTable.html#coprocessorService-java.util.function.Function-org.apache.hadoop.hbase.client.ServiceCaller-byte:A-[CoprocessorService()] method available in -link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html[Table] -or -link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/HTable.html[HTable]. +link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/AsyncTable.html[AsyncTable]. + +[WARNING] +.On using coprocessorService method with sync client +==== +The coprocessorService method in link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html[Table] +has been deprecated. + +In link:https://issues.apache.org/jira/browse/HBASE-21512[HBASE-21512] +we reimplement the sync client based on the async client. And the coprocessorService +method defined in `Table` interface references the method from protobuf's +`BlockingInterface`, which means we need to use a separated thread pool to execute +the method to avoid blocking the async client, which is not good. + +Since coprocessor is an advanced feature, we believe it is OK for coprocessor users to +make use of the `AsyncTable` directly. There is a lightweight +link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Connection.html#toAsyncConnection--[toAsyncConnection] +method to get an `AsyncConnection` from `Connection`. Review comment: s/`Connection`./`Connection` if needed./ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
