Commit Graph

6828 Commits

Author SHA1 Message Date
Umesh Agashe 199b392ec8 HBASE-20310 Fixed false inconsistency shown by hbck -metaonly option on HBase 2
When -metaonly option is specified then tablesInfo is not populated for all tables from hdfs causing false inconsistency of dangling state in meta.
2018-04-11 12:51:12 -07:00
Toshihiro Suzuki 072c503ec7 HBASE-20219 An error occurs when scanning with reversed=true and loadColumnFamiliesOnDemand=true
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-04-11 09:59:45 -07:00
Balazs Meszaros 35b4adf3ed HBASE-20382 If RSGroups not enabled, rsgroup.jsp prints stack trace 2018-04-11 09:50:07 -07:00
Michael Stack ba02a8664b HBASE-20384 [AMv2] Logging format improvements; use encoded name rather than full region name marking transitions 2018-04-11 08:35:54 -07:00
zhangduo 37e5b0b1b7 HBASE-20367 Write a replication barrier for regions when disabling a table 2018-04-11 20:36:51 +08:00
Ashish Singhi 828a1c76c7 HBASE-15291 FileSystem not closed in secure bulkLoad
Signed-off-by: Ashish Singhi <ashishsinghi@apache.org>
2018-04-11 12:01:28 +05:30
zhangduo bc35de597d HBASE-20363 Addendum wait until region is splittable 2018-04-09 09:07:06 +08:00
zhangduo f66343050f HBASE-20363 TestNamespaceAuditor.testRegionMerge is flaky 2018-04-08 16:48:25 +08:00
zhangduo 852025dd00 HBASE-20362 TestMasterShutdown.testMasterShutdownBeforeStartingAnyRegionServer is flaky 2018-04-08 16:09:50 +08:00
zhangduo adc0e85e85 HBASE-20182 Can not locate region after split and merge 2018-04-07 13:37:53 +08:00
tedyu 8f6849ff02 HBASE-20095 Redesign single instance pool in CleanerChore - addendum simplifies onConfigurationChange 2018-04-05 10:24:37 -07:00
BELUGA BEHR d866e7c658 HBASE-19488 Move to using Apache commons CollectionUtils
Signed-off-by: Apekshit Sharma <appy@apache.org>
2018-04-04 14:12:19 -07:00
Ashish Singhi 5937202fd5 HBASE-16499 slow replication for small HBase clusters
Signed-off-by: Ashish Singhi <ashishsinghi@apache.org>
2018-04-04 09:54:41 +05:30
Michael Stack b1b0db3195 HBASE-20298 Doc change in read/write/total accounting metrics 2018-04-03 17:00:43 -07:00
Michael Stack c88ca54c16 HBASE-20259 Doc configs for in-memory-compaction and add detail to
in-memory-compaction logging

Adds logging of CompactingMemStore configuration on construction.

Add logging of detail about Store on creation including memstore type.

Add chapter to refguide on new in-memory compaction feature.
2018-04-02 09:53:12 -07:00
zhangduo 1e56938757 HBASE-20296 Remove last pushed sequence ids when removing tables from a peer 2018-04-01 21:14:31 +08:00
Jan Hentschel 97b3a04019 HBASE-17631 Changed Canary interval to 60 seconds 2018-04-01 13:03:52 +02:00
Mike Drob d57001ee2d HBASE-20282 Clean up tooling docs/help 2018-03-30 08:59:47 -07:00
tedyu e60f34fdb5 HBASE-20159 Support using separate ZK quorums for client - addendum fixes flaky TestSeparateClientZKCluster 2018-03-30 07:19:47 -07:00
Vasudevan cbd8b15e6b HBASE-20197 Review of ByteBufferWriterOutputStream.java (BELUGA BEHR)
Signed-off-by: Vasudevan <ramkrishna.s.vasudevan@gmail.com>
2018-03-30 12:13:41 +05:30
Mike Drob 621e2b5f5e HBASE-20273 Additional removed/changed configs 2018-03-29 11:47:14 -07:00
Yu Li 061a31fad1 HBASE-20159 Support using separate ZK quorums for client 2018-03-29 02:37:26 +08:00
Josh Elser 69f5d707b6 HBASE-20199 Add a unit test to verify flush and snapshot permission requirements aren't excessive
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-27 20:17:08 -04:00
Zach York 09ed7c7a10 HBASE-20280 Fix possibility of deadlocking in refreshFileConnections
When prefetch on open is specified, there is a deadlocking case
where if the prefetch is cancelled, the PrefetchExecutor interrupts
the threads if necessary, when that happens in FileIOEngine, it
causes an ClosedByInterruptException which is a subclass of
ClosedChannelException. If we retry all ClosedChannelExceptions,
this will lock as this access is expected to be interrupted.
This change removes calling refreshFileConnections for
ClosedByInterruptExceptions.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-03-27 16:53:01 -07:00
Rajeshbabu Chintaguntla d87139989f HBASE-20111 A region's splittable state now includes the configuration splitPolicy
The Master asks a RegionServer whether a Region can be split or not, primarily to
verify that the region is not closing, opening, etc. This change has the RegionServer
also consult the configured RegionSplitPolicy.

Signed-off-by: Josh Elser <elserj@apache.org>
2018-03-27 18:42:49 -04:00
zhangduo 056c3395d9 HBASE-20285 Delete all last pushed sequence ids when removing a peer or removing the serial flag for a peer 2018-03-27 12:20:51 +08:00
Josh Elser 15c398f7d2 HBASE-20223 Update to hbase-thirdparty 2.1.0
Remove commons-cli and commons-collections4 use. Account
for the newer internal protobuf version of 3.5.1.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-03-26 22:05:19 -04:00
Toshihiro Suzuki ff5250ca2b HBASE-20229 ConnectionImplementation.locateRegions() returns duplicated entries when region replication is on 2018-03-26 15:09:20 -07:00
Yuki Tawara 4cedd9914b HBASE-20289 Fix comparator for NormalizationPlan
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-26 14:30:25 -07:00
Reid Chan 83fa0ad9ed HBASE-20095 Redesign single instance pool in CleanerChore 2018-03-26 12:48:31 -05:00
zhangduo e9701a0595 HBASE-20127 Add UT for serial replication after failover 2018-03-26 20:16:02 +08:00
anoopsamjohn 3f7222df36 HBASE-17819 Reduce the heap overhead for BucketCache. 2018-03-25 16:36:30 +05:30
tedyu b50b2e51bf HBASE-20272 TestAsyncTable#testCheckAndMutateWithTimeRange fails due to TableExistsException 2018-03-24 06:27:20 -07:00
zhangduo c44e886860 HBASE-20271 ReplicationSourceWALReader.switched should use the file name instead of the path object directly 2018-03-24 21:12:40 +08:00
Jan Hentschel 64ccd2b295 HBASE-13300 Fixed casing in set/getTimeStamp for Mutations 2018-03-23 17:23:22 -07:00
Sakthi b8f999bf33 HBASE-20135 Fixed NullPointerException during reading bloom filter when upgraded from hbase-1 to hbase-2 2018-03-23 15:21:51 -07:00
Toshihiro Suzuki 88eac3ca18 HBASE-20261 Table page (table.jsp) in Master UI does not show replicaIds for hbase meta table
Signed-off-by: Josh Elser <elserj@apache.org>
2018-03-23 15:31:30 -04:00
Chia-Ping Tsai ad47c2daf4 HBASE-19504 Add TimeRange support into checkAndMutate
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-24 00:12:38 +08:00
zhangduo 64061f896f HBASE-20147 Serial replication will be stuck if we create a table with serial replication but add it to a peer after there are region moves 2018-03-23 14:31:20 +08:00
Umesh Agashe c614b9f3e8 HBASE-20224 Web UI is broken in standalone mode
Changes for HBASE-20027 seem to cause UI not showing up on default port in standalone mode. For concurrent
unit test execution, individual tests can set hbase.localcluster.assign.random.ports to true or modify
test/resources/hbase-site.xml.
2018-03-22 20:27:39 -07:00
Michael Stack 5d1b2110d1
Revert "HBASE-20224 Web UI is broken in standalone mode"
Broke shell tests.

This reverts commit dd9fe813ec.
2018-03-22 10:57:42 -07:00
Umesh Agashe 4cb40e6d84 HBASE-20224 Web UI is broken in standalone mode
Changes for HBASE-20027 seem to cause UI not showing up on default port in standalone mode. For concurrent
unit test execution, individual tests can set hbase.localcluster.assign.random.ports to true or modify
test/resources/hbase-site.xml.
2018-03-22 06:52:20 -07:00
Chia-Ping Tsai a6eeb26cc0 HBASE-20212 Make all Public classes have InterfaceAudience category
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-22 18:10:23 +08:00
Peter Somogyi 68b2f5502a HBASE-17449 Add explicit document on different timeout settings 2018-03-22 12:06:22 +05:30
Michael Stack 9601ab2272 HBASE-20237 Put back getClosestRowBefore and throw UnsupportedOperation instead... for asynchbase client Throw exception if an old client connects. 2018-03-21 21:51:25 -07:00
zhangduo d7475b92e8 HBASE-20242 The open sequence number will grow if we fail to open a region after writing the max sequence id file 2018-03-22 08:42:36 +08:00
Andrew Purtell 17ac2fe9c1 HBASE-19024 Provide a configurable option to hsync WAL edits to the disk for better durability (Harshal Jain) 2018-03-20 21:07:59 -07:00
tedyu e7cfdac7b5 HBASE-20090 Properly handle Preconditions check failure in MemStoreFlusher.run 2018-03-20 21:02:09 -07:00
Michael Stack acbdb86bb4 HBASE-20169 NPE when calling HBTU.shutdownMiniCluster
Adds a prepare step to RecoverMetaProcedure in which we test for
cluster up and master being up. If not up, we fail the run.

Modified hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.java
Modified hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChunkCreator.java
 Minor log cleanup.

Modified hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java
 Add pepare step.

Modified hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
 Debug for the failing test....

Added hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRecoverMetaProcedure.java
 Test the prepare step goes down if master or cluster are down.
2018-03-20 13:11:57 -07:00
Michael Stack 74c28bdf44 HBASE-20232 [LOGGING] Formatting around close and flush 2018-03-20 10:34:49 -07:00
tedyu 2a3f4a0a4e HBASE-20214 Review of RegionLocationFinder Class - revert due to the pending removal of commons-collections4 dependency 2018-03-19 16:52:27 -07:00
tedyu df5de33a02 HBASE-20196 Maintain all regions with same size in memstore flusher 2018-03-19 08:10:39 -07:00
zhangduo 67f013430c HBASE-20206 WALEntryStream should not switch WAL file silently 2018-03-19 11:40:11 +08:00
zhangduo 00095a2ef9 Revert "HBASE-19665 Add table based replication peers/queues storage back"
This reverts commit 31978c31bb.

 Conflicts:
	hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableReplicationStorageBase.java
2018-03-17 20:25:27 +08:00
BELUGA BEHR 104f58701e HBASE-20214 Review of RegionLocationFinder Class 2018-03-16 16:09:40 -07:00
Michael Stack bedf849d83 HBASE-20213 [LOGGING] Aligning formatting and logging less (compactions,
in-memory compactions)

Log less. Log using same format as used elsewhere in log.

Align logs in HFileArchiver with how we format elsewhere. Removed
redundant 'region' qualifiers, tried to tighten up the emissions so
easier to read the long lines.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChunkCreator.java
 Add a label for each of the chunkcreators we make (I was confused by
two chunk creater stats emissions in log file -- didn't know that one
was for data and the other index).

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java
 Formatting. Log less.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.java
 Make the emissions in here trace-level. When more than a few regions,
log is filled with this stuff.
2018-03-16 13:16:49 -07:00
Zach York aaa90d8069 [HBASE-20141] Fix TooManyFiles exception when RefreshingChannels
HBASE-19435 implements a fix for reopening file channels when they are unnexpected closed
to avoid disabling the BucketCache. However, it was missed that the the channels might not
actually be completely closed (the write or read channel might still be open
(see https://docs.oracle.com/javase/7/docs/api/java/nio/channels/ClosedChannelException.html)
This commit closes any open channels before creating a new channel.
2018-03-16 10:51:39 -07:00
Michael Stack 13f3ba3cee HBASE-20202 [AMv2] Don't move region if its a split parent or offlined
M hbase-client/src/main/java/org/apache/hadoop/hbase/client/DoNotRetryRegionException.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/MergeRegionException.java
 Allow passing cause to Constructor.

M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
 Add prepare step to move procedure.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
 Add check that regions to merge are actually online to the Constructor
so we can fail fast if they are offline

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
 Add prepare step. Check regions and context and skip move if not right.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java
 Add check parent region is online to constructor.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
 Add generic check region is online utility function for use by subclasses.

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java
 Add test that we fail if we try to move an offlined region.
2018-03-16 09:35:33 -07:00
Michael Stack c200bf8f78
HBASE-20190 Fix default for MIGRATE_TABLE_STATE_FROM_ZK_KEY 2018-03-15 10:34:02 -07:00
Chia-Ping Tsai 4f2133ee32 HBASE-20119 Introduce a pojo class to carry coprocessor information in order to make TableDescriptorBuilder accept multiple cp at once
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-16 01:21:38 +08:00
Ashish Singhi 82483fad7c HBASE-20146 Addendum Regions are stuck while opening when WAL is disabled
Signed-off-by: zhangduo <zhangduo@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2018-03-15 10:13:30 +08:00
Michael Stack d0e55429b3 HBASE-20178 [AMv2] Throw exception if hostile environment
Add Fail-Fast to Procedures by throwing exception out of Procedure
constructor so if move but table is disabled or if master is going
down, etc., we can give notice before the procedure is scheduled.
Will help guard against scheduling Procedures that will have a hard
time succeeding; e.g. a move when table is offline.

Also fixed bug around table state where we presumed ENABLED though no
entry in hbase:meta (we were using this mechanism for whether a table
existed or not).

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java
 Test stolen from HBASE-20131

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableState.java
 Add convenience isEnabled/isDisabled

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
 Promote assert state to throw exception.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
 Add isClusterUp

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 Move constructor now throws exception
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.java
 Do environment check at construction and fail-fast if hostile.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
 Add preflightCheck utility method.

M hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
 Removed setting time setting table state; broke when using other than
 default environment edge masked by presumption that no state meant
 active.
2018-03-14 14:56:22 -07:00
Mike Drob f63a7ff635 HBASE-20180 Avoid Class::newInstance 2018-03-14 13:15:05 -05:00
Apekshit Sharma 84ee32c723 HBASE-20185 Fix ACL check for MasterRpcServices#execProcedure 2018-03-14 19:02:19 +05:30
Chance Li 4f54a66782 HBASE-19389 Limit concurrency of put with dense (hundreds) columns to prevent write handler exhausted
Signed-off-by: Yu Li <liyu@apache.org>
2018-03-14 18:38:33 +08:00
Yu Li 9a26af37b9 Revert "HBASE-19389 Limit concurrency of put with dense (hundreds) columns to prevent write handler exhausted"
This reverts commit 98ac4f12b5.
2018-03-14 18:38:07 +08:00
Yu Li 98ac4f12b5 HBASE-19389 Limit concurrency of put with dense (hundreds) columns to prevent write handler exhausted
Signed-off-by: Yu Li <liyu@apache.org>
2018-03-14 18:25:17 +08:00
huzheng 31978c31bb HBASE-19665 Add table based replication peers/queues storage back 2018-03-14 15:42:16 +08:00
zhangduo b7308ee01c HBASE-20117 Cleanup the unused replication barriers in meta table 2018-03-14 12:08:15 +08:00
Mike Grimes b16e03c130 HBASE-17165 Make use of retry setting in LoadIncrementalHFiles & fix test 2018-03-13 15:00:36 -07:00
Sahil Aggarwal 1b66444846 HBASE-19075: Fix the 'tasks' table on master info page to not scroll up on clicking the tab 2018-03-13 14:26:16 -07:00
Michael Stack 72c3d27bf6 HBASE-20173 [AMv2] DisableTableProcedure concurrent to ServerCrashProcedure can deadlock
Allow that DisableTableProcedue can grab a region lock before
ServerCrashProcedure can. Cater to this cricumstance where SCP
was not unable to make progress by running the search for RIT
against the crashed server a second time, post creation of all
crashed-server assignemnts. The second run will uncover such as
the above DisableTableProcedure unassign and will interrupt its
suspend allowing both procedures to make progress.

M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
 Add new procedure step post-assigns that reruns the RIT finder method.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 Make this important log more specific as to what is going on.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
 Better explanation as to what is going on.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
 Add extra step and run handleRIT a second time after we've queued up
 all SCP assigns. Also fix a but. SCP was adding an assign of a RIT
 that was actually trying to unassign (made the deadlock more likely).
2018-03-13 06:04:36 -07:00
BELUGA BEHR f30dfc69bb HBASE-19449 Minor logging change in HFileArchiver
Signed-off-by: Apekshit Sharma <appy@apache.org>
2018-03-12 22:01:56 +05:30
zhangduo 6060d3ba56 HBASE-20167 Optimize the implementation of ReplicationSourceWALReader 2018-03-12 15:14:16 +08:00
Umesh Agashe 45bbee4905 HBASE-20120 Removed unused classes/ java files from hbase-server
deleted:    hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/NoOpHeapMemoryTuner.java
deleted:    hbase-server/src/main/java/org/apache/hadoop/hbase/replication/BaseWALEntryFilter.java
deleted:    hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSMapRUtils.java
deleted:    hbase-server/src/main/java/org/apache/hadoop/hbase/util/ProtoUtil.java
Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2018-03-10 13:08:38 +08:00
Guangxu Cheng 70240f9732 HBASE-20132 Change the "KV" to "Cell" for web UI
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2018-03-10 12:27:59 +08:00
zhangduo dd6f4525e7 HBASE-20148 Make serial replication as a option for a peer instead of a table 2018-03-10 09:04:44 +08:00
Umesh Agashe 974200fca1 HBASE-20024 Fixed flakyness of TestMergeTableRegionsProcedure
We assumed that we can run for loop from 0 to lastStep sequentially. MergeTableRegionProcedure skips step 2. So, when i is 0 the procedure is already at step 3.
Added a method StateMachineProcedure#getCurrentStateId that can be used from test code only.
2018-03-09 12:45:39 -08:00
Ashish Singhi 06550bc93b HBASE-20146 Regions are stuck while opening when WAL is disabled
Signed-off-by: zhangduo <zhangduo@apache.org>
2018-03-09 21:10:16 +08:00
zhangduo 756cccecff HBASE-19598 Addendum fix typo 2018-03-09 15:37:22 +08:00
zhangduo 04798d6747 HBASE-19598 Addendum increase sync wait time 2018-03-09 15:34:24 +08:00
zhangduo 033485dff3 HBASE-19598 Fix TestAssignmentManagerMetrics flaky test 2018-03-09 11:47:55 +08:00
zhangduo a513678a79 HBASE-20160 TestRestartCluster.testRetainAssignmentOnRestart uses the wrong condition to decide whether the assignment is finished 2018-03-09 11:08:44 +08:00
zhangduo a03d09abd7 HBASE-20144 The shutdown of master will hang if there are no live region server 2018-03-08 15:05:57 +08:00
Michael Stack 37d91cdfbb Revert "HBASE-20137 TestRSGroups is flakey"
Revert. Fix is not right.

This reverts commit 6d1740d498.
2018-03-07 09:26:21 -08:00
zhangduo 6b77786dfc HBASE-20125 Add UT for serial replication after region split and merge 2018-03-07 14:52:23 +08:00
Michael Stack 1f5e93a8f8 HBASE-20137 TestRSGroups is flakey
On failed RPC we expire the server and suspend expecting the
resultant ServerCrashProcedure to wake us back up again. In tests,
TestRSGroup hung because it failed to schedule a server expiration
because the server was already expired undergoing processing (the
test was shutting down). Deal with this case by having expire
servers return false if unable to expire. Callers will then know
where a ServerCrashProcedure has been scheduled or not.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
  Have expireServer return true if successful.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 The log that included an exception whose message was the current
procedure as a String totally baffled me. Make it more obvious what
exception is.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
 If failed expire of a server, wake our procedure -- do not suspend --
and presume ok to move region to CLOSED state (because going down or
concurrent crashed server processing ongoing).
2018-03-06 10:55:40 -08:00
zhangduo 1384da7137 HBASE-20129 Add UT for serial replication checker 2018-03-06 16:43:01 +08:00
Josh Elser 4a4c012049 HBASE-18135 Implement mechanism for RegionServers to report file archival for space quotas
This de-couples the snapshot size calculation from the
SpaceQuotaObserverChore into another API which both the periodically
invoked Master chore and the Master service endpoint can invoke. This
allows for multiple sources of snapshot size to reported (from the
multiple sources we have in HBase).

When a file is archived, snapshot sizes can be more quickly realized and
the Master can still perform periodical computations of the total
snapshot size to account for any delayed/missing/lost file archival RPCs.

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2018-03-05 17:32:42 -05:00
zhangduo b7b8683925 HBASE-20115 Reimplement serial replication based on the new replication storage layer 2018-03-05 20:25:25 +08:00
haxiaolin 1d25b60831 HBASE-20114 Fix IllegalFormatConversionException in rsgroup.jsp
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-02 09:00:28 -08:00
Chia-Ping Tsai db131be39a HBASE-19437 Batch operation can't handle the null result for Append/Increment
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-02 23:31:56 +08:00
Sean Busbey 2a65066b35 HBASE-20070 refactor website generation
* rely on git plumbing commands when checking if we've built the site for a particular commit already
* switch to forcing '-e' for bash
* add command line switches for: path to hbase, working directory, and publishing
* only export JAVA/MAVEN HOME if they aren't already set.
* add some docs about assumptions
* Update javadoc plugin to consistently be version 3.0.0
* avoid duplicative site invocations on reactor modules
* update use of cp command so it works both on linux and mac
* manually skip enforcer plugin during build
* still doing install of all jars due to MJAVADOC-490, but then skip rebuilding during aggregate reports.
* avoid the pager on git-diff by teeing to a log file, which also helps later reviewing in the case of big changesets.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Misty Stanley-Jones <misty@apache.org>
2018-03-02 09:25:10 -06:00
huzheng 99d3edfc82 HBASE-20050 Reimplement updateReplicationPositions logic in serial replication based on the newly introduced replication storage layer
Signed-off-by: zhangduo <zhangduo@apache.org>
2018-03-02 15:53:14 +08:00
Umesh Agashe e86ffedb45 HBASE-20055 Removed declaration of un-thrown exceptions and unused setRegionStateBackToOpen() from MergeTableRegionsProcedure
Plus some minor cleanup.
2018-03-01 08:46:23 -08:00
Chia-Ping Tsai 776eb5d9cb HBASE-20093 (addendum) remove unused import of ServerLoad
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-01 23:47:36 +08:00
Michael Stack 0732ef5ebf Revert "HBASE-19598 Fix TestAssignmentManagerMetrics flaky test"
Pushed prematurely. Revert.

This reverts commit 016cf0c64b.
2018-02-28 23:39:54 -08:00
Michael Stack 016cf0c64b HBASE-19598 Fix TestAssignmentManagerMetrics flaky test
Master never left waitForMasterActive because it never checked state of
the clusterUp flag. The test here was aborting regionserver and then
just exiting. The minihbasecluster shutdown sets the cluster down flag
but we were never looking at it so Master thread was staying up.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
The tableOnMaster check in waitForMasterActive looks wrong. It was
making it so a 'normal' Master was getting stuck in here. This is not
the place to worry about tablesOnMaster. That is for the balancer to be
concerned with. There is a problem with Master hosting
system-tables-only. After further study, Master can carry regions like a
regionserver but making it so it carries system tables only is tricky
given meta assign happens ahead of all others which means that the
Master needs to have checked-in as a regionserver super early... It
needs work. Punted for now.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
Mostly renaming so lists and maps of region infos have same name as they
have elsewhere in code base and cleaning up confusion that may arise
when we talk of servers-for-system-tables....It is talking about
something else in the code changes here that is other than the normal
understanding. It is about filtering regionservers by their version
numbers so we favor regions with higher version numbers. Needs to go
back up into the balancer.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
It was possible for the Master to be given regions if no regionservers
available (as per the failing unit test in this case).

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Minor reordering moving the waitForMasterActive later in the initialize
and wrapping each test in a check if we are to keep looping (which
checks cluster status flag).

M hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
This was an old test from the days when Master carried system tables.
Updated test and fixed metrics. Metrics count the hbase:meta along with
the userspace region so upped expected numbers (previously the
hbase:meta was hosted on the master so metrics were not incremented).

M hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRegionsOnMasterOptions.java
I took a look at this test again but nope, needs a load of work still to
make it pass.

M hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
Stop being so whiney.
2018-02-28 22:25:24 -08:00
Michael Stack 372c88abd6
HBASE-19656 Disable TestAssignmentManagerMetrics for beta-1 2018-02-28 21:30:44 -08:00
tedyu d7adc58e52 HBASE-20107 Add a test case for HBASE-14317 (Zephyr Guo) 2018-02-28 21:17:03 -08:00
Josh Elser bdedcc5631 HBASE-18133 Decrease quota reaction latency by HBase
Certain operations in HBase are known to directly affect
the utilization of tables on HDFS. When these actions
occur, we can circumvent the normal path and notify the
Master directly. This results in a much faster response to
changes in HDFS usage.

This requires FS scanning by the RS to be decoupled from
the reporting of sizes to the Master. An API inside each
RS is made so that any operation can hook into this call
in the face of other operations (e.g. compaction, flush,
bulk load).

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2018-02-28 14:11:20 -05:00
Sergey Soldatov 393ab302ab HBASE-19863 java.lang.IllegalStateException: isDelete failed when SingleColumnValueFilter is used
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
Signed-off-by: ramkrish86 <ramkrishna.s.vasudevan@gmail.com>
2018-02-28 13:58:37 -05:00
Vladimir Rodionov 6cfa208add HBASE-17825: Backup further optimizations
Signed-off-by: Josh Elser <elserj@apache.org>
2018-02-28 09:14:15 -05:00
Chia-Ping Tsai 62ee7d9502 HBASE-20097 Merge TableDescriptors#getAll and TableDescriptors#getAllDescriptors into one
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-28 15:21:21 +08:00
Chia-Ping Tsai 197bd79070 HBASE-20084 Refactor the RSRpcServices#doBatchOp
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-28 15:15:34 +08:00
Chia-Ping Tsai 7f6e971c4c HBASE-20093 Replace ServerLoad by ServerMetrics for ServerManager
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-28 14:57:50 +08:00
Michael Stack ba063abd2f HBASE-20100 TestEnableTableProcedure flakey
Allow OPEN as a possible state when update region transition state.
Usually state is OPENING but if crash before finish step is completed,
on replay, master may have read that the state is OPEN from meta table
and so will think it open... When we replay the procedure finish, allow
that the region is already OPEN.
2018-02-27 14:51:21 -08:00
BELUGA BEHR f01c90bc0e HBASE-19614 Use ArrayDeque as Queue instead of LinkedList in CompoundBloomFilterWriter
Signed-off-by: Apekshit Sharma <appy@apache.org>
2018-02-27 11:50:52 -08:00
gsheffi 0fa5d69fc7 HBASE-20074 [FindBugs] Same code on both branches in CompactingMemStore#initMemStoreCompactor
Signed-off-by: Michael Stack <stack@apache.org>
2018-02-27 11:21:40 -06:00
Sean Busbey e4ce38df32 Revert "for creating patch HBASE-20074-V01.patch"
This reverts commit 73028d5bd9.

bad commit message
2018-02-27 11:20:54 -06:00
Chia-Ping Tsai dbd8013057 HBASE-20092 Fix TestRegionMetrics#testRegionMetrics
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-27 16:48:17 +08:00
zhangduo f06a89b531 HBASE-20066 Region sequence id may go backward after split or merge 2018-02-27 15:33:07 +08:00
Michael Stack d272ac908c HBASE-20069 fix existing findbugs errors in hbase-server; ADDENDUM Address review 2018-02-26 23:16:21 -08:00
Michael Stack b11e506664 HBASE-20069 fix existing findbugs errors in hbase-server 2018-02-26 16:01:31 -08:00
gsheffi 73028d5bd9 for creating patch HBASE-20074-V01.patch
Signed-off-by: Michael Stack <stack@apache.org>
2018-02-26 09:57:22 -08:00
Vasudevan 7cfb46432f HBASE-20036 TestAvoidCellReferencesIntoShippedBlocks timed out (Ram) 2018-02-26 22:07:42 +05:30
zhangduo 2beda62a10 HBASE-20083 Fix findbugs error for ReplicationSyncUp 2018-02-26 22:13:13 +08:00
zhangduo 8c74d177f6 HBASE-20082 Fix findbugs errors only on master which are introduced by HBASE-19397 2018-02-26 15:50:51 +08:00
Michael Stack 549a6d93d4 HBASE-20043 ITBLL fails against hadoop3
Fix MoveRandomRegionOfTableAction. It depended on old AM behavior.
Make it do explicit move as is required in AMv3; w/o it, it was just
closing region causing test to fail.

Fix pom so hadoop3 profile specifies a different netty3 version.

Bunch of logging format change that came of trying trying to read
the spew from this test.
2018-02-24 17:29:54 -08:00
zhangduo ba5fb53d14 HBASE-20065 Revisit the timestamp usage in MetaTableAccessor 2018-02-25 09:13:56 +08:00
Sean Busbey f90b47e3b0 HBASE-20061 HStore synchronized member variable filesCompacting should be private
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2018-02-24 10:57:01 -06:00
tedyu 9a7645360b HBASE-20054 Forward port HBASE-18282 ReplicationLogCleaner can delete WALs not yet replicated in case of KeeperException 2018-02-23 19:14:52 -08:00
Sean Busbey 216d2d4648 Revert "HBASE-19835 Use explicit casting to avoid side effects"
This reverts commit f1a81618fd.

 Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java

patch reverted changes that happened in parallel without explanation. see jira.
2018-02-23 16:50:15 -06:00
zhangduo ad5cd50dfc HBASE-20048 Revert serial replication feature 2018-02-23 13:58:31 +08:00
Toshihiro Suzuki 1bc996aa50 HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-22 20:06:21 -08:00
Apekshit Sharma 51f7b75f1f HBASE-19401 Add missing security checks in RSRpcServices 2018-02-22 16:09:53 -08:00
tedyu d68f697f39 HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE 2018-02-22 12:35:12 -08:00
Umesh Agashe 8afa49f5d0 HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs
Negative Remaining KVs and progress percent greater than 100 is because CompactionProgress#totalCompactingKVs is sometimes less than CompactionProgress#currentCompactedKVs.
Changes add a getter to CompactionProgress#totalCompactingKVs and from inside getter warning is logged. currentCompactedKVs are return when totalCompactingKVs are less than current.

Signed-off-by: Michael Stack <stack@apache.org>
2018-02-22 10:10:21 -08:00
Michael Stack 3434e99e6c HBASE-20044 TestClientClusterStatus is flakey"
Revert "Revert "HBASE-2004 TestClientClusterStatus is flakey""
This is a revert of a revert, i.e. a reapplication, just so I can fix
the JIRA number.

This reverts commit 6796b8e21f.
2018-02-22 09:44:04 -08:00
Michael Stack 3d2e9e2125 Revert "HBASE-2004 TestClientClusterStatus is flakey"
Revert to fix JIRA number; should be 20044.

This reverts commit 92bb4db9ef.
2018-02-22 09:44:04 -08:00
Michael Stack 11af33af2a HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure 2018-02-22 09:15:16 -08:00
Josh Elser 4cf846d085 HBASE-20035 Stabilize the flaky TestQuotaStatusRPCs
The test will fail if the quota moves to violation before
the second half of the test.

Signed-off-by: Michael Stack <stack@apache.org>
2018-02-22 09:40:20 -05:00
Michael Stack 2440f807bf Revert "HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs"
Applied prematurely.

This reverts commit 61b55166bf.
2018-02-21 18:02:25 -08:00
zhangduo b328807d25 HBASE-20038 TestLockProcedure.testTimeout is flakey 2018-02-21 17:24:19 -08:00
Esteban Gutierrez a0900857c7 HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory 2018-02-21 15:56:36 -08:00
Michael Stack 13223c217c HBASE-20042 TestRegionServerAbort flakey; ADDENDUM, RETRY 2018-02-21 15:26:21 -08:00
Umesh Agashe 61b55166bf HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs
Negative Remaining KVs and progress percent greater than 100 is because CompactionProgress#totalCompactingKVs is sometimes less than CompactionProgress#currentCompactedKVs.
Changes add a getter to CompactionProgress#totalCompactingKVs and from inside getter warning is logged. currentCompactedKVs are return when totalCompactingKVs are less than current.
2018-02-21 15:14:24 -08:00
Michael Stack 3a3994223c HBASE-2004 TestClientClusterStatus is flakey 2018-02-21 14:53:31 -08:00
Michael Stack 3f82098d4b HBASE-20042 TestRegionServerAbort flakey 2018-02-21 13:26:10 -08:00
Andrew Purtell 173a5bf1f1 HBASE-20027 Add test TestClusterPortAssignment
LocalHBaseCluster forces random port assignment for sake of concurrent unit test
execution friendliness, but we still need a positive test for RPC and info port
assignment.
2018-02-21 13:12:30 -08:00
tedyu bf5f034463 HBASE-19166 AsyncProtobufLogWriter persists ProtobufLogWriter as class name for backward compatibility 2018-02-21 13:04:59 -08:00
Mike Drob 5d994a24fc HBASE-20039 MR tests out to hbase-mapreduce mobile 2018-02-21 14:54:30 -06:00
Josh Elser d9b8dcc1d3 HBASE-19953 Ensure post DDL hooks are only called after successful operations
The 1.x functionality of Master DDL operations is that "post" observer hooks
are only invoked when the DDL action was successful. With the async-ness of
ProcV2, we find ourselves in a case where the post-hook may be invoked before
the Procedure runs and fails. We need to introduce some blocking to wait and
see if the Procedure is going to fail on a precondition before invoking the hook.

Signed-off-by: Michael Stack <stack@apache.org>
2018-02-21 14:02:49 -05:00
zhangduo a27ef55a40
HBASE-20037 Race when calling SequenceIdAccounting.resetHighest 2018-02-21 10:05:02 -08:00
anastas 92d04d5751 HBASE-19506: The CellChunkMap index chunks are usually small, so in order to prevent memory underutilization, HBASE-19506 presents small chunks preallocated in a small pool 2018-02-21 10:12:25 +02:00
Chia-Ping Tsai 79d9403a79 HBASE-20017 BufferedMutatorImpl submit the same mutation repeatedly
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-02-20 16:59:48 -08:00
Ted Yu b75a8f4047 HBASE-19954 Separate TestBlockReorder into individual tests to avoid ShutdownHook suppression error against hadoop3 2018-02-20 14:56:20 -08:00
Apekshit Sharma 6b84393661 HBASE-19400 Add missing security checks in MasterRpcServices
- Added ADMIN permission check for following rpc calls:
  normalize, setNormalizerRunning, runCatalogScan, enableCatalogJanitor, runCleanerChore,
  setCleanerChoreRunning, execMasterService, execProcedure, execProcedureWithRet
- Moved authorizationEnabled check to start of AccessChecker's functions. Currently, and IDK why,
  we call authManager.authorize() first and then discard its result if authorizationEnabled is false. Weird.
2018-02-20 13:37:20 -07:00
Michael Stack 148356a7bf HBASE-20029 @Ignore TestQuotaThrottle and TestReplicasClient#testCancelOfMultiGet 2018-02-20 12:09:47 -08:00
Michael Stack 51cea3e2c3 HBASE-20024 TestMergeTableRegionsProcedure is STILL flakey 2018-02-20 11:08:27 -08:00