Commit Graph

1538 Commits

Author SHA1 Message Date
Michael Stack e019961150 HBASE-17624 Address late review of HBASE-6721, rsgroups feature
Addresses review comments by Sean Busbey and Appy that happened
to come in long after the commit of HBASE-6721, the original
rsgroup issue.

Also includes subsequent accommodation of Duo Zhang review.

Adds a new type to hold hostname and port. It is called
Address. It is a facade over Guava's HostAndPort. Replace
all instances of HostAndPort with Address. In particular,
those places where HostAndPort was part of the rsgroup
public API.

Fix licenses. Add audience annotations.

Cleanup and note concurrency expectation on a few core classes.
In particular, all access on RSGroupInfoManager is made
synchronized.

M hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java
 Host the hostname and port in an instance of the new type Address.
 Add a bunch of deprecation of exotic string parses that should never
 have been public.

M hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdmin.java
 Make this an Interface rather than abstract class. Creation was a
 static internal method that only chose one type.... Let it be free
 as a true Interface instead.
2017-02-14 09:29:17 -08:00
Jan Hentschel 55c2e2d484 HBASE-9702 Changed unit tests to use method names for tables 2017-02-13 13:27:55 -08:00
tedyu d51e287877 HBASE-17460 enable_table_replication can not perform cyclic replication of a table (NITIN VERMA) 2017-02-10 14:54:05 -08:00
zhangduo 712fe69e4d HBASE-17599 Use mayHaveMoreCellsInRow instead of isPartial 2017-02-09 15:38:02 +08:00
Guanghao Zhang 9a78d00884 HBASE-17389 Convert all internal usages from ReplicationAdmin to Admin 2017-02-07 10:18:59 +08:00
zhangduo af9d359b8e HBASE-17402 TestAsyncTableScan sometimes hangs 2017-02-07 09:42:42 +08:00
Enis Soztutar 4d730244a9 HBASE-17187 DoNotRetryExceptions from coprocessors should bubble up to the application 2017-02-06 12:00:42 -08:00
Guanghao Zhang 5093a49e0b HBASE-17596 Implement add/delete/modify column family methods 2017-02-06 13:45:01 +08:00
Guanghao Zhang 26a94844f5 HBASE-17511 Implement enable/disable table methods 2017-02-05 14:18:40 +08:00
zhangduo ffa0cea2a3 HBASE-17508 Unify the implementation of small scan and regular scan for sync client 2017-02-05 08:49:39 +08:00
Josh Elser 4e77b18da2 HBASE-17592 Fix rpcTimeout typo (Attila Sasvari) 2017-02-03 16:50:19 -05:00
Huaxiang Sun 1159296541 HBASE-16981 Expand Mob Compaction Partition policy from daily to weekly, monthly
Support weekly and monthly mob compact partition policies in addition to the existing
daily partition policy.

Signed-off-by: Jingcheng Du <jingchengdu@apache.org>
2017-02-03 15:52:43 +08:00
Jerry He bc168b419d HBASE-17581 mvn clean test -PskipXXXTests does not work properly for some modules (Yi Liang) 2017-02-02 11:05:17 -08:00
Ajay Jadhav f8b1f57b05 HBASE-17280 Add mechanism to control hbase cleaner behavior
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-01 22:16:01 -06:00
Sean Busbey 2c799fb70a Revert "Add mechanism to control hbase cleaner behavior"
This reverts commit ef052521cd.

Bad commit message.
2017-02-01 22:11:48 -06:00
Ajay Jadhav ef052521cd Add mechanism to control hbase cleaner behavior
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-01 19:33:06 -08:00
zhangduo b7fc7bf246 HBASE-17346 Add coprocessor service support 2017-01-31 15:19:33 +08:00
Michael Stack fb2c89b1b3 HBASE-16785 We are not running all tests
M TestStressWALProcedureStore.java
Disable test that now runs that fails because of difference in pb3.1.0.

Signed-off-by: Michael Stack <stack@apache.org>
2017-01-26 21:49:18 -08:00
Michael Stack 1ee8776273 HBASE-16785 We are not running all tests Do nothing patch just to get baseline of how many tests we run 2017-01-26 12:21:00 -08:00
Guanghao Zhang 8aea84d723 HBASE-17500 Implement getTable/creatTable/deleteTable/truncateTable methods 2017-01-25 11:30:11 +08:00
zhangduo 85d701892e HBASE-17045 Unify the implementation of small scan and regular scan 2017-01-25 09:53:06 +08:00
Guanghao Zhang 843ba9e545 HBASE-17443 Move listReplicated/enableTableRep/disableTableRep methods from ReplicationAdmin to Admin 2017-01-24 13:40:29 +08:00
anastas aa5d9a9ad3 HBASE-17492 Fix the compacting memstore part in hbase shell ruby script
Signed-off-by: Michael Stack <stack@apache.org>
2017-01-23 21:27:44 -08:00
Yu Li ba4a926b62 HBASE-17367 Make HTable#getBufferedMutator thread safe 2017-01-23 18:23:24 +08:00
Yu Li 07e0a30efa HBASE-17491 Remove all setters from HTable interface and introduce a TableBuilder to build Table instance 2017-01-23 13:57:01 +08:00
zhangduo 3abd13dacb HBASE-17489 ClientScanner may send a next request to a RegionScanner which has been exhausted 2017-01-22 16:39:00 +08:00
Jan Hentschel 55a1aa1e73 HBASE-10699 Set capacity on ArrayList where possible and use isEmpty instead of size() == 0
Signed-off-by: Michael Stack <stack@apache.org>
2017-01-20 22:58:20 -08:00
Guanghao Zhang 79018056f5 HBASE-17498 Implement listTables and listTableNames methods
Signed-off-by: Michael Stack <stack@apache.org>
2017-01-20 14:12:13 -08:00
Guanghao Zhang 2ee3c73f76 HBASE-17497 Add first async MetaTableAccessor impl and Implement tableExists method
Signed-off-by: Michael Stack <stack@apache.org>
2017-01-20 09:24:06 -08:00
Guanghao Zhang cb9ce2ceaf HBASE-17396 Add first async admin impl and implement balance methods 2017-01-19 10:15:12 +08:00
Michael Stack 8f1d0a2b84 HBASE-17486 Tighten the contract for batch client methods (Michael Axiak) 2017-01-18 15:16:52 -08:00
Stephen Yuan Jiang 805d39fca6 HBASE-17470 Remove merge region code from region server (Stephen Yuan Jiang) 2017-01-17 15:39:51 -08:00
tedyu faa9f735ca HBASE-17469 Properly handle empty TableName in TablePermission#readFields and #write (Manjunath Anand) 2017-01-17 09:36:59 -08:00
Allan Yang 9b38c1a33c HBASE-17475 Stack overflow in AsyncProcess if retry too much
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-01-17 15:45:48 +08:00
zhangduo 4ab95ebbce HBASE-17372 Make AsyncTable thread safe 2017-01-17 14:33:28 +08:00
Michael Stack 4cb09a494c HBASE-16744 Procedure V2 - Lock procedures to allow clients to acquire
locks on tables/namespaces/regions (Matteo Bertozzi)

Incorporates review comments from
    https://reviews.apache.org/r/52589/
    https://reviews.apache.org/r/54388/

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableBase.java
 Fix for eclipse complaint (from Duo Zhang)

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
 Log formatting

M hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
 Added wait procedures utility.

A hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/generated/LockServiceProtos.java
A hbase-protocol-shaded/src/main/protobuf/LockService.proto b/hbase-protocol-shaded/src/main/protobuf/LockService.proto
 Implement new locking CP overrides.

A hbase-server/src/main/java/org/apache/hadoop/hbase/client/locking/EntityLock.java
 New hbase entity lock (ns, table, or regions)

A hbase-server/src/main/java/org/apache/hadoop/hbase/client/locking/LockServiceClient.java
 Client that can use the new internal locking service.
2017-01-13 21:07:03 -08:00
tedyu cdee1a7034 HBASE-17450 TablePermission#equals throws NPE after namespace support was added (huzheng) 2017-01-13 09:37:08 -08:00
Guanghao Zhang ac3b1c9aa9 HBASE-17337 list replication peers request should be routed through master 2017-01-10 08:57:26 +08:00
Yu Li f92a14ade6 HBASE-14061 Support CF-level Storage Policy 2017-01-09 09:52:58 +08:00
tedyu b2a9be02ac HBASE-17408 Introduce per request limit by number of mutations (ChiaPing Tsai) 2017-01-06 13:07:15 -08:00
tedyu 4c98f97c31 HBASE-17431 Incorrect precheck condition in RoundRobinPool#get() - revert due to test failure 2017-01-06 12:12:49 -08:00
tedyu 6d48eb06c9 HBASE-17431 Incorrect precheck condition in RoundRobinPool#get() (Jan Hentschel) 2017-01-06 09:07:02 -08:00
Ashish Singhi 5f631b9653 HBASE-17290 Potential loss of data for replication of bulk loaded hfiles 2017-01-06 16:18:20 +05:30
Guanghao Zhang e02ae7724d HBASE-17388 Move ReplicationPeer and other replication related PB messages to the replication.proto 2017-01-06 10:01:22 +08:00
Jan Hentschel df98d8dcd7 HBASE-17410 Changed size() == 0 to isEmpty in hbase-client
Signed-off-by: Josh Elser <elserj@apache.org>
2017-01-05 11:45:18 -05:00
Jan Hentschel dba103e1b6 HBASE-17390 Added master and backup masters to online update of configuration
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-01-04 22:08:05 -08:00
tedyu 63bd8be576 HBASE-17403 ClientAsyncPrefetchScanner doesn’t load any data if the MaxResultSize is too small (ChiaPing Tsai) 2017-01-04 08:21:25 -08:00
Guanghao Zhang 0e48665641 HBASE-17336 get/update replication peer config requests should be routed through master 2016-12-30 10:12:47 +08:00
Jan Hentschel 7572e96e3a HBASE-17385 Change usage documentation from bin/hbase to hbase in various tools
Signed-off-by: Enis Soztutar <enis@apache.org>
2016-12-29 15:20:43 -08:00
zhangduo 05b1d918b0 HBASE-17320 Add inclusive/exclusive support for startRow and endRow of scan 2016-12-29 09:43:31 +08:00
ChiaPing Tsai 5ffbd4a87d HBASE-17174 Addendum fix typo
Signed-off-by: zhangduo <zhangduo@apache.org>
2016-12-27 13:57:51 +08:00
tedyu e18e9a22da HBASE-17376 ClientAsyncPrefetchScanner may fail due to too many rows (ChiaPing Tsai) 2016-12-26 15:55:22 -08:00
zhangduo 8fa5b0b946 HBASE-17345 Implement batch 2016-12-25 20:36:52 +08:00
Guanghao Zhang 8da7366fc2 HBASE-17348 Remove the unused hbase.replication from javadoc/comment/book completely 2016-12-25 08:46:29 +08:00
ChiaPing Tsai 8cb55c4080 HBASE-17174 Refactor the AsyncProcess, BufferedMutatorImpl, and HTable
Signed-off-by: zhangduo <zhangduo@apache.org>
2016-12-24 12:02:05 +08:00
Jerry He 992e5717d4 HBASE-16010 Put draining function through Admin API (Matt Warhaftig) 2016-12-23 13:41:36 -08:00
Guanghao Zhang b3f2bec099 HBASE-17335 enable/disable replication peer requests should be routed through master 2016-12-23 09:27:12 +08:00
zhangduo 09bb428763 HBASE-17334 Add locate row before/after support for AsyncRegionLocator 2016-12-22 20:39:01 +08:00
Guanghao Zhang e1f4aaeacd HBASE-11392 add/remove peer requests should be routed through master 2016-12-21 13:27:13 +08:00
zhangduo a2e967d92f HBASE-17142 Implement multi get 2016-12-20 20:41:55 +08:00
zhangduo f041306cda HBASE-17282 Reduce the redundant requests to meta table 2016-12-18 08:52:06 +08:00
Michael Stack a5ee36d937 HBASE-17326 Fix findbugs warning in BufferedMutatorParams Fix above and
the other hbase-server findbugs complaint about null-check
Addendum to fix complaint out of BMParams#clone. Added CN_IDIOM_NO_SUPER_CALL
handling.
2016-12-16 21:37:54 -08:00
Michael Stack c3ce02d592 HBASE-17326 Fix findbugs warning in BufferedMutatorParams Fix above and the other hbase-server findbugs complaint about null-check 2016-12-16 13:47:58 -08:00
Michael Stack a5a48dbd23 HBASE-17313 Add BufferedMutatorParams#clone method (Joep Rottinghuis); AMENDMENT -- ADD MISSING FIELD 2016-12-14 08:15:47 -08:00
Michael Stack a73b0b3e6d HBASE-17313 Add BufferedMutatorParams#clone method (Joep Rottinghuis) 2016-12-13 22:47:41 -08:00
Michael Stack 68ce3f1e3b HBASE-17277 Allow alternate BufferedMutator implemenation Specify the name of an alternate BufferedMutator implementation by either:
+ Setting "hbase.client.bufferedmutator.classname" to the name of the
alternate implementation class
+ Or, by setting implementationClassName on BufferedMutatorParams and
passing the amended BufferedMutatorParams when calling Connection#getBufferedMutator.

Add a test to exercise both means.
2016-12-13 22:38:58 -08:00
eshcar a9310436d5 HBASE-17294: External configuration for memory compaction
Signed-off-by: Michael Stack <stack@apache.org>
2016-12-13 17:16:00 -08:00
tedyu 2333596279 HBASE-17296 Provide per peer throttling for replication (Guanghao Zhang) 2016-12-13 04:20:20 -08:00
tedyu adb319f5c2 HBASE-17297 Single Filter in parenthesis cannot be parsed correctly (Xuesen Liang) 2016-12-12 12:07:34 -08:00
zhangduo b3ae87bd7d HBASE-17251 Add a timeout parameter when locating region 2016-12-08 09:55:29 +08:00
anoopsamjohn 61220e4d7c HBASE-17249 Get/Scan's setTimeRange/setColumnFamilyTimeRange can take the TimeRange reference as the parameter instead of creating a new setColumnFamilyTimeRange instance. (huaxiang sun) 2016-12-07 12:22:41 +05:30
anoopsamjohn f112427425 HBASE-17207 Arrays.asList() with too few arguments. (John Leach) 2016-12-06 14:42:14 +05:30
tedyu 1c8822ddff HBASE-17170 HBase is also retrying DoNotRetryIOException because of class loader differences (Ankit Singhal) 2016-12-05 10:15:09 -08:00
anoopsamjohn e10baacd3e HBASE-17245 Replace HTableDescriptor#htd.getColumnFamilies().length with a low-cost implementation. (huaxiang sun) 2016-12-05 13:28:57 +05:30
Xiang Li 004f0abb46 HBASE-14882: Provide a Put API that adds the provided family, qualifier, value without copying
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2016-12-05 13:16:46 +05:30
Phil Yang c73180d456 HBASE-17246 TestSerialReplication#testRegionMerge fails in master branch 2016-12-04 20:58:14 +08:00
Ramkrishna 3b72b69d0e HBASE-17191 Make use of UnsafeByteOperations#unsafeWrap(ByteBuffer buffer)
in PBUtil#toCell(Cell cell) (Ram)
2016-12-02 12:48:06 +05:30
Stephen Yuan Jiang 0a24077841 HBASE-16119 Procedure v2 - Reimplement Merge region (Stephen Yuan Jiang) 2016-12-01 22:41:15 -08:00
Guanghao Zhang b3d8d06703 HBASE-17205 Add a metric for the duration of region in transition 2016-12-01 10:13:37 -08:00
Jonathan M Hsieh eeaea4aea3 HBASE-17224 Fix lots of spelling errors in HBase logging and exception messages (Grant Sohn) 2016-12-01 08:57:16 -08:00
zhangduo 540ede376b HBASE-16648 [JDK8] Use computeIfAbsent instead of get and putIfAbsent 2016-12-01 21:17:55 +08:00
John Leach 37d7b57128 HBASE-17216 Fields that can safetly be made static 2016-11-30 22:03:35 -08:00
Yu Li 1f3c6f4c07 HBASE-17114 Add an option to set special retry pause when encountering CallQueueTooBigException 2016-12-01 13:38:13 +08:00
Yu Li 15fe3d3279 HBASE-17212 Should add null checker on table name in HTable and RegionServerCallable constructor (addendum) 2016-12-01 13:28:24 +08:00
Yu Li f2e363b589 HBASE-17212 Should add null checker on table name in HTable and RegionServerCallable constructor 2016-12-01 02:25:31 +08:00
Yu Li 8adf6857c7 HBASE-17211 Add more details in log when UnknownScannerException thrown in ScannerCallable 2016-12-01 01:13:18 +08:00
zhangduo 890fcbd0e6 HBASE-17167 Pass mvcc to client when scan 2016-11-30 10:11:04 +08:00
anoopsamjohn 030054bcce HBASE-17162 Avoid unconditional call to getXXXArray() in write path. 2016-11-26 12:49:01 +05:30
tedyu 219d8a1b71 HBASE-17176 Reuse the builder in RequestConverter (ChiaPing Tsai) 2016-11-25 13:47:43 -08:00
zhangduo 01d3473bf0 HBASE-16984 Implement getScanner 2016-11-25 20:32:35 +08:00
anoopsamjohn 86e17858f7 HBASE-15786 Create DBB backed MSLAB pool. 2016-11-24 20:47:41 +05:30
zhangduo 6ff19f94fe HBASE-17141 Introduce a more user-friendly implementation of AsyncTable 2016-11-22 14:44:51 +08:00
Yu Li ec9c9e201a HBASE-17127 Locate region should fail fast if underlying Connection already closed 2016-11-20 00:00:14 +08:00
Jerry He a8ee83c092 HBASE-16708 Expose endpoint Coprocessor name in responseTooSlow log messages (Yi Liang) 2016-11-18 11:04:10 -08:00
thiruvel 80acc2dca5 HBASE-16169: Make RegionSizeCalculator scalable
Signed-off-by: Michael Stack <stack@apache.org>
2016-11-16 23:07:14 -08:00
anoopsamjohn c3685760f0 HBASE-15788 Use Offheap ByteBuffers from BufferPool to read RPC requests. 2016-11-14 23:05:05 +05:30
tedyu dba7ec1b69 HBASE-17077 Don't copy the replication queue belonging to the peer which has been deleted (Guanghao Zhang) 2016-11-13 06:58:39 -08:00
zhangduo 8a6d6aa239 HBASE-16838 Implement basic scan 2016-11-11 21:01:16 +08:00
tedyu 76814e8451 HBASE-17010 Serial replication should handle daughter regions being assigned to another RS (Phil Yang) 2016-11-08 06:25:50 -08:00
Mikhail Antonov a34a9adb22 HBASE-17032 CallQueueTooBigException and CallDroppedException should not be triggering PFFE 2016-11-06 21:44:59 -08:00
Matteo Bertozzi 00ea7aeafe HBASE-16892 Use TableName instead of String in SnapshotDescription 2016-11-04 13:18:10 -07:00
anoopsamjohn 05ee54f665 HBASE-17013 Add constructor to RowMutations for initializing the capacity of internal list. (ChiaPing Tsai) 2016-11-04 10:34:20 +05:30
Jim Kleckner 681b7da196 HBASE-16970 Clarify misleading Scan.java comment about caching
Signed-off-by: Yu Li <liyu@apache.org>
2016-11-01 17:33:05 +08:00
zhangduo 6cf9333e97 HBASE-16945 Implement AsyncRegionLocator 2016-11-01 10:18:55 +08:00
Michael Stack fe47ec81f9 HBASE-16969 RegionCoprocessorServiceExec should override the toString() for debugging (ChiaPing Tsai) 2016-10-31 14:32:59 -07:00
daoye.ch 6ce05d44e5 HBASE-16954 Unify HTable#checkAndDelete with AP (ChiaPing Tsai) 2016-10-31 09:15:29 +08:00
zhangduo 9607409fca HBASE-16932 addendum fix incorrect System.arraycopy 2016-10-28 21:39:54 +08:00
tedyu 3dac4f38cd HBASE-16886 hbase-client: scanner with reversed=true and small=true gets no result - addendum 2 makes MAX_BYTE_ARRAY package protected 2016-10-28 06:06:26 -07:00
zhangduo 3283bc7c91 HBASE-16835 Revisit the zookeeper usage at client side 2016-10-28 13:27:41 +08:00
Stephen Yuan Jiang e108a4f815 HBASE-14551 Procedure v2 - Reimplement split (Stephen Yuan Jiang) 2016-10-27 21:45:41 -07:00
Guanghao Zhang 7b74dd0374 HBASE-16947 Some improvements for DumpReplicationQueues tool
Signed-off-by: Michael Stack <stack@apache.org>
2016-10-27 10:12:26 -07:00
tedyu a9526f6fdb HBASE-16886 hbase-client: scanner with reversed=true and small=true gets no result - addendum fixes reference to MAX_BYTE_ARRAY 2016-10-27 08:47:24 -07:00
tedyu d35b65883c HBASE-16886 hbase-client: scanner with reversed=true and small=true gets no result (huzheng) 2016-10-27 06:54:13 -07:00
zhangduo cd3dd6e018 HBASE-16932 Implement small scan 2016-10-26 17:26:58 +08:00
zhangduo 5cee6a39c2 Revert "Implement small scan" due to miss issue number
This reverts commit c7c45f2c85.
2016-10-26 17:22:50 +08:00
zhangduo c7c45f2c85 Implement small scan 2016-10-26 15:45:02 +08:00
Michael Stack 8e2d410195 HBASE-16000 Table#checkAndPut() docs are too vague (Csaba Skrabak)
This is a reapply of a revert just to fix the commit message

This reverts commit 9c6d123b22.
2016-10-25 14:33:22 -07:00
Michael Stack 9c6d123b22 Revert "HBASE-1600 Table#checkAndPut() docs are too vague (Csaba Skrabak)"
Committed with the wrong HBASE JIRA number

This reverts commit 36aa416856.
2016-10-25 14:32:50 -07:00
Michael Stack 36aa416856 HBASE-1600 Table#checkAndPut() docs are too vague (Csaba Skrabak) 2016-10-25 09:19:32 -07:00
Ramkrishna 0ae211eb39 HBASE-16414 Improve performance for RPC encryption with Apache Common
Crypto (Colin Ma)
2016-10-21 16:02:39 +05:30
Ashu Pachauri f1691e3d0d HBASE-16752 addendum. Do not retry large request for client versions less than 1.3
Signed-off-by: Gary Helmling <garyh@apache.org>
2016-10-20 10:34:01 -07:00
zhangduo ddc84356dd HBASE-16872 Implement mutateRow and checkAndMutate 2016-10-20 09:40:05 +08:00
Ashu Pachauri ee1123b069 HBASE-16752 Return error back to rpc client on exceeding rpc request size limit.
Signed-off-by: Gary Helmling <garyh@apache.org>
2016-10-19 15:09:51 -07:00
Huaxiang Sun 72db953886 HBASE-16345 RpcRetryingCallerWithReadReplicas#call() should catch some RegionServer Exceptions
Fix logic for
1). how to handle exception while waiting for reply from the primary replica.
2). handle exception from replicas while waiting for a correct response.

Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2016-10-19 13:55:43 -07:00
zhangduo acc606571b HBASE-16837 Implement checkAndPut and checkAndDelete 2016-10-19 13:32:24 +08:00
tedyu 6c89c6251f HBASE-16866 Avoid NPE in AsyncRequestFutureImpl#updateStats (ChiaPing Tsai) 2016-10-18 11:10:33 -07:00
tedyu bb6cc4d43e HBASE-16854 Refactor the org.apache.hadoop.hbase.client.Action (ChiaPing Tsai) 2016-10-18 09:47:25 -07:00
Esteban Gutierrez 5bc518b387 HBASE-16774 [shell] Add coverage to TestShell when ZooKeeper is not reachable 2016-10-18 09:08:33 -07:00
zhangduo b4f6ebde24 HBASE-16836 Implement increment and append 2016-10-18 22:34:14 +08:00
tedyu 10840a51e8 HBASE-16145 MultiRowRangeFilter constructor shouldn't throw IOException (Konstantin Ryakhovskiy) 2016-10-17 16:06:10 -07:00
tedyu c8e9a295c1 HBASE-16855 Avoid NPE in MetricsConnection’s construction (ChiaPing Tsai) 2016-10-17 09:34:21 -07:00
zhangduo 3a0dbf71a9 HBASE-16834 Add AsyncConnection support for ConnectionFactory 2016-10-17 13:08:43 +08:00
Stephen Yuan Jiang b972839ca1 HBASE-16844 Procedure V2: DispatchMergingRegionsProcedure to use base class StateMachineProcedure for abort and rollback (Stephen Yuan Jiang) 2016-10-14 14:09:35 -07:00
Ramkrishna 635ea05b9a HBASE-16729 Define the behavior of (default) empty FilterList(ChiaPing
Tsai)
2016-10-14 23:14:33 +05:30
zhangduo 3fe7508295 HBASE-15921 Add first AsyncTable impl and create TableImpl based on it 2016-10-14 22:52:52 +08:00
Phil Yang 88ff71b91b HBASE-16664 Timeout logic in AsyncProcess is broken
Signed-off-by: chenheng <chenheng@apache.org>
2016-10-13 16:15:43 +08:00
Michael Stack a46134bffc HBASE-16731 Inconsistent results from the Get/Scan if we use the empty FilterList (ChiaPing Tsai) 2016-10-12 12:13:41 -07:00
Ramkrishna 58e843dae2 HBASE-16372 References to previous cell in read path should be avoided
(Ram)
2016-10-06 14:19:12 +05:30
anoopsamjohn 06758bf630 HBASE-16759 Avoid ByteString.copyFrom usage wherever possible. 2016-10-06 00:27:34 +05:30
zhangduo 3aa4dfa73d HBASE-16690 Move znode path configs to a separated class 2016-10-05 20:12:44 +08:00
anoopsamjohn 617dfe18cd HBASE-16758 back HBaseZeroCopyByteStringer stuff. 2016-10-05 12:57:13 +05:30
stack 95c1dc93fb HBASE-15638 Shade protobuf
Which includes

    HBASE-16742 Add chapter for devs on how we do protobufs going forward

    HBASE-16741 Amend the generate protobufs out-of-band build step
    to include shade, pulling in protobuf source and a hook for patching protobuf

    Removed ByteStringer from hbase-protocol-shaded. Use the protobuf-3.1.0
    trick directly instead. Makes stuff cleaner. All under 'shaded' dir is
    now generated.

    HBASE-16567 Upgrade to protobuf-3.1.x
    Regenerate all protos in this module with protoc3.
    Redo ByteStringer to use new pb3.1.0 unsafebytesutil
    instead of HBaseZeroCopyByteString

    HBASE-16264 Figure how to deal with endpoints and shaded pb Shade our protobufs.
    Do it in a manner that makes it so we can still have in our API references to
    com.google.protobuf (and in REST). The c.g.p in API is for Coprocessor Endpoints (CPEP)

            This patch is Tactic #4 from Shading Doc attached to the referenced issue.
            Figuring an appoach took a while because we have Coprocessor Endpoints
            mixed in with the core of HBase that are tough to untangle (FIX).

            Tactic #4 (the fourth attempt at addressing this issue) is COPY all but
            the CPEP .proto files currently in hbase-protocol to a new module named
            hbase-protocol-shaded. Generate .protos again in the new location and
            then relocate/shade the generated files. Let CPEPs keep on with the
            old references at com.google.protobuf.* and
            org.apache.hadoop.hbase.protobuf.* but change the hbase core so all
            instead refer to the relocated files in their new location at
            org.apache.hadoop.hbase.shaded.com.google.protobuf.*.

            Let the new module also shade protobufs themselves and change hbase
            core to pick up this shaded protobuf rather than directly reference
            com.google.protobuf.

            This approach allows us to explicitly refer to either the shaded or
            non-shaded version of a protobuf class in any particular context (though
            usually context dictates one or the other). Core runs on shaded protobuf.
            CPEPs continue to use whatever is on the classpath with
            com.google.protobuf.* which is pb2.5.0 for the near future at least.

            See above cited doc for follow-ons and downsides. In short, IDEs will complain
            about not being able to find the shaded protobufs since shading happens at package
            time; will fix by checking in all generated classes and relocated protobuf in
            a follow-on. Also, CPEPs currently suffer an extra-copy as marshalled from
            non-shaded to shaded. To fix. Finally, our .protos are duplicated; once
            shaded, and once not. Pain, but how else to reveal our protos to CPEPs or
            C++ client that wants to talk with HBase AND shade protobuf.

            Details:

            Add a new hbase-protocol-shaded module. It is a copy of hbase-protocol
    i       with all relocated offset from o.a.h.h. to o.a.h.h.shaded. The new module
            also includes the relocated pb. It does not include CPEPs. They stay in
            their old location.

            Add another module hbase-endpoint which has in it all the endpoints
            that ship as part of hbase -- at least the ones that are not
            entangled with core such as AccessControl and Auth. Move all protos
            for these CPEPs here as well as their unit tests (mostly moving a
            bunch of stuff out of hbase-server module)

            Much of the change looks like this:

                 -import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
                 -import org.apache.hadoop.hbase.protobuf.generated.ClusterIdProtos;
                 +import org.apache.hadoop.hbase.protobuf.shaded.ProtobufUtil;
                 +import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterIdProtos;

            In HTable and in HBaseAdmin, regularize the way Callables are used and also hide
            protobuf usage as much as possible moving it up into Callable super classes or out
            to utility classes. Still TODO is adding in of retries, etc., but can wait on
            procedure which will redo all this.

            Also in HTable and HBaseAdmin as well as in HRegionServer and Server, be explicit
            when using non-shaded protobuf. Do the full-path so it is clear. This is around
            endpoint coprocessors registration of services and execution of CPEP methods.

            Shrunk ProtobufUtil by moving methods used by one CPEP only back to the CPEP either
            into Client class or as new Util class; e.g. AccessControlUtil.

            There are actually two versions of ProtobufUtil now; a shaded one and a subset
            that is used by CPEPs doing non-shaded work.

            Made it so hbase-common no longer depends on hbase-protocol (with Matteo's help)

            R*Converter classes got moved down under shaded package -- they are for internal
            use only. There are no non-shaded versions of these classes.

            D hbase-client/src/main/java/org/apache/hadoop/hbase/client/AbstractRegionServerCallable
            D RetryingCallableBase
             Not used anymore and we have too many tiers of Callables so removed/cleaned-up.

            A ClientServicecallable
             Had to add this one. RegionServerCallable was made generic so it could be used
             for a few Interfaces (Client and Admin). Then added ClientServiceCallable to
             implement RegionServerCallable with the Client Interface.
2016-10-03 21:37:32 -07:00
Jerry He 3757da643d HBASE-16732 Avoid possible NPE in MetaTableLocator 2016-09-29 14:00:46 -07:00
anoopsamjohn b0fcca6d7b HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell.(binlijin) 2016-09-27 22:48:04 +05:30
tedyu aa4a678ebf HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell - revert due to TestFilter failure 2016-09-27 03:37:54 -07:00
tedyu 219c786457 HBASE-16672 Add option for bulk load to copy hfile(s) instead of renaming 2016-09-26 18:56:38 -07:00
tedyu 890e3f223f HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell (binlijin) 2016-09-26 09:06:00 -07:00
anoopsamjohn da37fd9cdc HBASE-16705 Eliminate long to Long auto boxing in LongComparator. (binlijin) 2016-09-26 11:11:52 +05:30
chenheng 21969f5159 HBASE-16665 Check whether KeyValueUtil.createXXX could be replaced by CellUtil without copy 2016-09-25 14:06:55 +08:00
Enis Soztutar eb112783ae HBASE-16604 Scanner retries on IOException can cause the scans to miss data - RECOMMIT after revert 2016-09-23 11:27:13 -07:00