[ https://issues.apache.org/jira/browse/HBASE-16308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HBASE-16308: -------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) Pushed this again even though it has changed a good bit since I got the two +1s to commit (cheeky!). Lets see how it does this time. Here is the final commit message. {code} REVERT of revert of "HBASE-16308 Contain protobuf references Gather up the pb references into a few locations only rather than have pb references distributed all about the code base." This is a revert of a revert; i.e. we are adding back the change only adding back with fixes for the broken unit test; was a real issue on a test that went in just at same time as this commit; I was getting a new nonce on each retry rather than getting one for the mutation. Other changes since revert are more hiding of RpcController. Use accessor method rather than always pass in a RpcController Walked back retrying operations that used to be single-shot (though code comment said need a retry) because it opens a can of worms where we retry stuff like bad column family when we shouldn't (needs work adding in DoNotRetryIOEs) Changed name of class from PayloadCarryingServerCallable to CancellableRegionServerCallable. Fix javadoc and findbugs warnings. Fix case of not initializing the ScannerCallable RpcController. Below is original commit message: Remove mention of ServiceException and other protobuf classes from all over the codebase. Purge TimeLimitedRpcController. Lets just have one override of RpcController. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/AbstractRegionServerCallable.java Cleanup. Make it clear this is an odd class for async hbase intro. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java Refactor of RegionServerCallable allows me clean up a bunch of boilerplate in here and remove protobuf references. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java Purge protobuf references everywhere except a reference to a throw of a ServiceException in method checkHBaseAvailable. I deprecated it in favor of new available method (the SE is not actually needed) M hbase-client/src/main/java/org/apache/hadoop/hbase/client/PayloadCarryingServerCallable.java Move the RetryingTimeTracker instance in here from HTable. Allows me to contain tracker and remove a repeated code in HTable. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java Clean up move set up of rpc in here rather than have it repeat in HTable. Allows me to remove protobuf references from a bunch of places. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/FlushRegionCallable.java Make use of the push of boilerplate up into RegionServerCallable M hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/PayloadCarryingServerCallable.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/SecureBulkLoadClient.java M hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java Move boilerplate up into superclass. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RetryingTimeTracker.java Cleanup M hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java M hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java Factor in TimeLimitedRpcController. Just have one RpcController override. D hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/TimeLimitedRpcController.java Removed. Lets have one override of pb rpccontroller only. M hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java (handleRemoteException) added (toText) added {code} > Contain protobuf references > --------------------------- > > Key: HBASE-16308 > URL: https://issues.apache.org/jira/browse/HBASE-16308 > Project: HBase > Issue Type: Sub-task > Components: Protobufs > Reporter: stack > Assignee: stack > Fix For: 2.0.0 > > Attachments: HBASE-16308.master.001.patch, > HBASE-16308.master.002.patch, HBASE-16308.master.003.patch, > HBASE-16308.master.004.patch, HBASE-16308.master.005.patch, > HBASE-16308.master.006.patch, HBASE-16308.master.006.patch, > HBASE-16308.master.007.patch, HBASE-16308.master.008.patch, > HBASE-16308.master.009.patch, HBASE-16308.master.010.patch, > HBASE-16308.master.011.patch, HBASE-16308.master.012.patch, > HBASE-16308.master.013.patch, HBASE-16308.master.014.patch, > HBASE-16308.master.015.patch, HBASE-16308.master.015.patch > > > Clean up our protobuf references so contained to just a few classes rather > than being spread about the codebase. Doing this work will make it easier > landing the parent issue and will make it more clear where the division > between shaded protobuf and unshaded protobuf lies (we need to continue with > unshaded protobuf for HDFS references by AsyncWAL and probably EndPoint > Coprocessors) -- This message was sent by Atlassian JIRA (v6.3.4#6332)