[ https://issues.apache.org/jira/browse/HBASE-15921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15557713#comment-15557713 ]
Duo Zhang commented on HBASE-15921: ----------------------------------- I suggest that only do single operations and multi get in AsyncTable directly. For batch operation, use something like BufferedMutator. And for scan, we will have a scan method in AsyncTable but the logic will be implemented in other classes. And we will not have a unified retry logic. For different operations, we will implement different retry logics. I only implemented the retry logic for single operations here, and I think the following operations should have its own retry logic. 1. multi get 2. batch mutation 3. scan And I think the retry logics for timelined read operations should also be implemented separately. Not sure. Will think about it when we finish the above works. Thanks. > Add first AsyncTable impl and create TableImpl based on it > ---------------------------------------------------------- > > Key: HBASE-15921 > URL: https://issues.apache.org/jira/browse/HBASE-15921 > Project: HBase > Issue Type: Improvement > Affects Versions: 2.0.0 > Reporter: Jurriaan Mous > Assignee: Duo Zhang > Fix For: 2.0.0 > > Attachments: HBASE-15921-v2.patch, HBASE-15921-v3.patch, > HBASE-15921.demo.patch, HBASE-15921.patch, HBASE-15921.v1.patch > > > First we create an AsyncTable interface with implementation without the Scan > functionality. Those will land in a separate patch since they need a refactor > of existing scans. > Also added is a new TableImpl to replace HTable. It uses the AsyncTableImpl > internally and should be a bit faster because it does jump through less hoops > to do ProtoBuf transportation. This way we can run all existing tests on the > AsyncTableImpl to guarantee its quality. -- This message was sent by Atlassian JIRA (v6.3.4#6332)