Commit Graph

5513 Commits

Author SHA1 Message Date
Kahlil Oppenheimer 93b0cdeaaf HBASE-17707 New More Accurate Table Skew cost function/generator
This reverts commit 3b914df949.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-03-06 20:27:48 -08:00
tedyu dfc6cf3076 HBASE-17707 New More Accurate Table Skew cost function/generator - revert due to missing JIRA number 2017-03-06 20:26:59 -08:00
Phil Yang 0d3e986f7e HBASE-15484 Correct the semantic of batch and partial 2017-03-07 11:52:04 +08:00
ChiaPing Tsai 81cb298014 HBASE-17734 Guard against possibly copying the qualifier in the ScanDeleteTracker
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-03-06 18:01:06 -08:00
Michael Stack 7fa7156f2c HBASE-17718 Difference between RS's servername and its ephemeral node cause SSH stop working
This patch reverts HBASE-9593 -- i.e. registering in zk before we
register with master putting it back to how it was where we register
in zk AFTER we report for duty with the master (because then we'll
register in zk with the name the master gave us). It then fixes the
problem reported in HBASE-9593 in an alternate fashion by checking
for a RS znode if we failed a connect on assign; if none found, we
remove a server from online servers list.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
 Make move method available to tests.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
 Correct method name changing moveFromOnelineToDeadServers to
 moveFromOnlineToDeadServers

 Add actual fix which is call to checkForRSznode if exception trying to
 open a region; if none found, call expire on the server so it gets
 removed from the list of online servers.

 This patch exposes sloppyness in the waitForRegionServers around our
 current case where Master is hosting regions but ONLY hbase:meta;
 in this case we need to wait on at least another server to report
 in beyond Master (we weren't but stuff was 'working' because of the
 early registration of RS nodes in zk).

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 Make 'killed' available to tests.

 Put registry of ephemeral node back to where it was originally,
 so it is AFTER we get response from Master on registering for duty
 so we can put our znode up in zk with the name the Master gave us
 rather than local name (which could be unknown to the Master).
   private boolean stopping = false;

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java
 Cleanup and test of new cleanup.
2017-03-06 13:14:23 -08:00
Kahlil Oppenheimer de25fcbd93 Fixed flaky test failure for TestStochasticLoadBalancer
This reverts commit 3b914df949.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-03-06 12:15:33 -08:00
tedyu 3b914df949 HBASE-17707 New More Accurate Table Skew cost function/generator - revert due to TestDefaultLoadBalancer failure 2017-03-05 15:03:29 -08:00
Andrew Purtell 404a2883f2 HBASE-17722 Metrics subsystem stop/start messages add a lot of useless bulk to operational logging 2017-03-03 12:40:06 -08:00
tedyu 06e984b086 HBASE-17707 New More Accurate Table Skew cost function/generator (Kahlil Oppenheimer) 2017-03-02 09:46:38 -08:00
tedyu 0b3ecc5ee7 HBASE-17710 HBase in standalone mode creates directories with 777 permission 2017-03-02 08:11:53 -08:00
huzheng 697a55a878 HBASE-17646: Implement Async getRegion method
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-03-02 11:52:05 +08:00
anastas 613bcb3622 HBASE-17662 Disable in-memory flush when replaying from WAL
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-03-01 20:37:54 +05:30
tedyu 4a5eba5e59 HBASE-17673 Monitored RPC Handler not shown in the WebUI (Allan Yang) 2017-02-28 07:43:32 -08:00
Jingcheng Du f4e0ea24e6 HBASE-17688 MultiRowRangeFilter not working correctly if given same start and stop RowKey 2017-02-28 11:38:35 +08:00
Jingcheng Du 5a8f1e8aaa HBASE-17690 Clean up MOB code 2017-02-28 09:57:34 +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
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
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
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
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
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
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
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
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
Phil Yang b2217d1d8f HBASE-17639 Do not stop server if ReplicationSourceManager's waitUntilCanBePushed throws InterruptedException 2017-02-14 17:46:13 +08:00
Sean Busbey 024ae356ac HBASE-17558 ZK dumping jsp should escape HTML.
Signed-off-by: Enis Soztutar <enis@apache.org>
2017-02-13 23:37:59 -05:00
Jan Hentschel 55c2e2d484 HBASE-9702 Changed unit tests to use method names for tables 2017-02-13 13:27:55 -08:00