Commit Graph

13171 Commits

Author SHA1 Message Date
Jingcheng Du 5a8f1e8aaa HBASE-17690 Clean up MOB code 2017-02-28 09:57:34 +08:00
Andrew Purtell be1cdc7376 HBASE-16188 Add EventCounter information to log4j properties file (Gopi Krishnan Nambiar) 2017-02-27 15:56:55 -08:00
tedyu eabfa39b27 HBASE-17689 Add support for table.existsAll in thrift2 THBaseservice (Yechao Chen) 2017-02-27 14:40:10 -08:00
tedyu bbc232e4ee HBASE-17689 Add support for table.existsAll in thrift2 THBaseservice - Revert wrong JIRA Id 2017-02-27 14:38:18 -08:00
Michael Stack eec064dcd1 Add section to shell tricks on how to set and query shell configuration 2017-02-27 19:58:37 +00:00
tedyu e8f9de7851 HBASE-17654 Add support for table.existsAll in thrift2 THBaseservice (Yechao Chen) 2017-02-27 08:32:54 -08:00
Jan Hentschel 84a9eb3f5c HBASE-17634 Cleaned up the usage of Result.isPartial
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-02-27 20:44:35 +08:00
Apekshit Sharma 4d90425031 HBASE-17699 Fix TestLockProcedure.
Earlier when queues had locks, clearQueue() also cleaned up old locks when AbstractProcedureScheduler.clear() was called to reset scheduler for testing failure and recovery.
Now with locks decoupled from queues, they need to be separately cleaned up.
We can't have clearLocks() as abstract method in AbstractProcedureScheduler because at that level, a procedure scheduler is just a queue. It's only in MasterProcedureScheduler that locks come into picture. So directly overriding clear() method in MPS.

Earlier when queues had locks, clearQueue() also cleaned up old locks when AbstractProcedureScheduler.clear() was called.
Now with locks decoupled from queues, they need to be separately cleaned up.
We can't have clearLocks() as abstract method in AbstractProcedureScheduler because at that level, a procedure scheduler is just a queue. It's only in MasterProcedureScheduler that locks come into picture. So directly overriding clear() method in MPS.

Change-Id: If1a0acb418a79f98ce6155541edb0c1e621638e3
2017-02-26 15:32:31 -08:00
Apekshit Sharma ce64e7eb6e HBASE-17654 RSGroup refactoring.
Changes contain:
- Making rsGroupInfoManager non-static in RSGroupAdminEndpoint
- Encapsulate RSGroupAdminService into an internal class in RSGroupAdminEndpoint (on need of inheritence).
- Change two internal classes in RSGroupAdminServer to non-static (so outer classes' variables can be shared).
- Rename RSGroupSerDe to RSGroupProtobufUtil('ProtobufUtil' is what we use in other places). Moved 2 functions to RSGroupManagerImpl because they are only used there.
- Javadoc comments
- Improving variable names
- Maybe other misc refactoring

Change-Id: I09f0f5aa413150390c91795b8a8fd5e6cdd6c416
2017-02-25 22:12:03 -08:00
tedyu f4bf375ea1 HBASE-17674 Major compaction may be cancelled in CompactionChecker (Guangxu Cheng) 2017-02-25 09:45:11 -08:00
Apekshit Sharma f444b3b542 HBASE-17312 Use 'default' keyword in coprocessor Observer interfaces to get rid of 'Base...Observer' implementations. Some javadoc improvements too.
Reason for refactor:
In cases where one might need to use multiple observers, say region, master and regionserver; and the fact that only one class can be extended, it gives rise to following pattern:

public class BaseMasterAndRegionObserver
  extends BaseRegionObserver
  implements MasterObserver

class AccessController
  extends BaseMasterAndRegionObserver
  implements RegionServerObserver

were BaseMasterAndRegionObserver is full copy of BaseMasterObserver.

There is an example of simple case too where the current design fails.
Say only one observer is needed by the coprocessor, but the design doesn't permit extending even that single observer (see RSGroupAdminEndpoint), that leads to copy of full Bas
e...Observer class into coprocessor class leading to 1000s of lines of code and this ugly mix of 5 main functions with 100 useless functions.

Javadocs changes:
- Adds class comments on 'default' methods and expectations.
- Adds explanaiton of Exception handling in Observers' class comment. Removes redundant @throws before each function.
- Improves javadocs for a bunch of functions
- deletes empty @params in a bunch of places

Change-Id: I265738d47e8554e7b4678e88bb916a0cc7d00ab3
2017-02-25 02:49:01 -08:00
Ashu Pachauri e7d16db2ac HBASE-17057 Minor compactions should also drop page cache (Ashu Pachauri)
Signed-off-by: Gary Helmling <garyh@apache.org>
2017-02-24 14:42:10 -08:00
dvdreddy a8fd1119ce HBASE-16630 Handle Fragmentation in bucket cache
Currently whenever a compaction/bulkload happen and the
blocks are evicted from theirs buckets the buckets become
fragmented and are not available to be used by other
BucketSizes

Bug Fix : Added Memory block type also to the list of
evictions that need to happen when there is a needForExtra

Improvement : Inorder to fix the non availabilty of Buckets and force
the movement of buckets to transformed sizes, whenever we encounter a
situation where an allocation cant be made for a BucketSize, we will
forcefully free the entire buckets that have least occupancy ratio. This
is the same strategy used by MemCached when they encounter a similar
issue going by the name 'Slab Calcification'. Only improvement is that
we use a heuristic to evict from the buckets that are least occupied
and also avoid the BucketSizes where there is a single Bucket

Change-Id: I9e3b4deb8d893953003ddf5f1e66312ed97ea9cb

Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
2017-02-24 15:02:07 +05:30
zhangduo 62de29e6f2 HBASE-16991 Make the initialization of AsyncConnection asynchronous 2017-02-24 15:36:54 +08:00
tedyu 371f2bd907 HBASE-17460 enable_table_replication can not perform cyclic replication of a table - addendum addresses Enis' comments 2017-02-23 21:10:44 -08:00
Abhishek Singh Chouhan c90d484f61 HBASE-17682 Region stuck in merging_new state indefinitely
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-02-23 15:30:17 -08:00
Michael Stack 4605aabe08 Add banner for hbasecon2017 2017-02-23 15:16:11 -08:00
Abhishek Singh Chouhan 0d656b1394 Amend HBASE-17069 RegionServer writes invalid META entries in some circumstances
Fix Hregioninfo being null during merge

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-02-23 13:45:58 -08:00
zhangduo 8fb44fae35 HBASE-17595 Add partial result support for small/limited scan 2017-02-23 16:03:42 +08:00
anoopsamjohn ff045cab84 HBASE-17647 OffheapKeyValue#heapSize() implementation is wrong. 2017-02-23 11:29:10 +05:30
huzheng 335cde3415 HBASE-17672: "Grant should set access rights appropriately" test fails
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-22 20:08:12 -08:00
Sean Busbey 040b2f186a HBASE-17677 ServerName parsing from directory name should be more robust to errors from guava's HostAndPort
Signed-off-by: Michael Stack <stack@apache.org>
2017-02-22 20:53:57 -06:00
Jan Hentschel 0285cb8c4d HBASE-13882 Removed part of the RegionSplitPolicy section in HBase book
Signed-off-by: Michael Stack <stack@apache.org>
2017-02-22 16:14:13 -08:00
Jan Hentschel c7e605445a HBASE-9702 Changed unit tests to use method names for tables
Signed-off-by: Michael Stack <stack@apache.org>
2017-02-22 16:12:22 -08:00
Ashu Pachauri e4c06c120a HBASE-17590 Drop cache hint should work on store file write path (Ashu Pachauri)
Signed-off-by: Gary Helmling <garyh@apache.org>
2017-02-22 12:39:10 -08:00
zhangduo f037f230fd HBASE-17608 Add suspend support for RawScanResultConsumer 2017-02-22 20:32:03 +08:00
Yu Li 93e60153b0 HBASE-17676 Get class name once for all in AbstractFSWAL 2017-02-22 15:50:09 +08:00
tedyu c579cf67b0 HBASE-17657 TestZKAsyncRegistry is flaky 2017-02-21 21:17:15 -08:00
Phil Yang a0da66dc36 HBASE-17210 Set timeout on trying rowlock according to client's RPC timeout 2017-02-22 11:09:55 +08:00
rgidwani 3c0750de54 HBASE-17675 ReplicationEndpoint should choose new sinks if a SaslException occurs
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-02-21 18:44:54 -08:00
Sean Busbey d7ffa0013b HBASE-15328 sanity check the redirect used to send master info requests to the embedded regionserver.
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2017-02-20 22:03:17 -06:00
huzheng 22fa1cd3df HBASE-17472: Correct the semantic of permission grant
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-02-20 20:13:43 +08:00
ChiaPing Tsai d08bafad1a HBASE-17661 fix the queue length passed to FastPathBalancedQueueRpcExecutor
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-19 13:25:32 -08:00
Sean Busbey 350904e90f HBASE-17561 table status page should escape values that may contain arbitrary characters.
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2017-02-18 15:46:18 -06:00
tedyu 0e05537dec HBASE-17460 enable_table_replication can not perform cyclic replication of a table (NITIN VERMA) 2017-02-17 17:56:53 -08:00
Michael Stack b392de3e31 HBASE-17653 HBASE-17624 rsgroup synchronizations will (distributed) deadlock
This patch restores the regime instituted in original rsgroups patch
(HBASE-6721) where reading of rsgroup state runs unimpeded against
COW immutable Maps whereas mutation to state require exclusive locks
(updating the Maps of state when done). HBASE-17624 was
over-enthusiastic with its locking down of access making it likely
we'd deadlock.

Adds documentation on concurrency expectations.
2017-02-17 14:45:56 -08:00
Huaxiang Sun d7325185ad HBASE-17172 Optimize major mob compaction with _del files
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-17 14:22:31 -08:00
Tim Brown 938aef772d HBASE-17658 Fix bookkeeping error with max regions for a table
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-17 07:40:16 -08:00
Yi Liang a2d2196e89 HBASE-17648: HBase Table-level synchronization fails between two secured(kerberized) cluster
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-02-17 07:03:53 -08:00
anoopsamjohn 7763dd6688 HBASE-17644 Always create ByteBufferCells after copying to MSLAB. 2017-02-17 17:50:41 +05:30
tedyu 3fc2889f7a HBASE-17460 enable_table_replication can not perform cyclic replication of a table - revert due to reproducible test failure 2017-02-16 20:17:17 -08:00
Jingcheng Du f4202a1205 HBASE-17421 Update refguide w.r.t. MOB Sweeper 2017-02-17 10:14:06 +08:00
huzheng e129e6b65d HBASE-17619: Add async admin Impl which connect to RegionServer and implement close region methods.
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-02-17 09:32:45 +08:00
Michael Stack ae840c0ccd HBASE-17656 Move new Address class from util to net package 2017-02-16 12:17:50 -08:00
Abhishek Singh Chouhan 0446ed0f0c HBASE-17069 RegionServer writes invalid META entries for split daughters in some circumstances
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-02-16 15:27:44 +08:00
Ashu Pachauri d2c083d21c HBASE-17627 Active workers metric for thrift (Ashu Pachauri)
Signed-off-by: Gary Helmling <garyh@apache.org>
2017-02-15 14:50:19 -08:00
tedyu de23d306eb HBASE-17649 REST API for scan should return 410 when table is disabled 2017-02-15 07:50:57 -08:00
Huaxiang Sun 33e9a8c775 HBASE-17640 Unittest error in TestMobCompactor with different timezone (Huaxiang Sun)
Signed-off-by: Jingcheng Du <jingchengdu@apache.org>
2017-02-15 11:23:04 +08:00
zhangduo c8f3c8630b HBASE-17583 Add inclusive/exclusive support for startRow and endRow of scan for sync client 2017-02-15 10:18:41 +08:00
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