Commit Graph

1755 Commits

Author SHA1 Message Date
zhangduo 64345a5b5a HBASE-18489 Expose scan cursor in RawScanResultConsumer 2017-08-10 10:11:49 +08:00
Josh Elser f262548b1f HBASE-18514 Squash of space quota "phase 2" work
Contains the following commits:

  HBASE-17748 Include HBase snapshots in space quotas

  Introduces a new Chore in the Master which computes the size
  of the snapshots included in a cluster. The size of these
  snapshots are included in the table's which the snapshot was created
  from HDFS usage.

  Includes some test stabilization, trying to make the tests more
  deterministic by ensuring we observe stable values as we know
  that those values are mutable. This should help avoid problems
  where size reports are delayed and we see an incomplete value.

  HBASE-17752 Shell command to list snapshot sizes WRT quotas

  HBASE-17840 Update hbase book to space quotas on snapshots
2017-08-07 16:32:16 -04:00
no_apologies 2c067695dd HBASE-18515 Introduce Delete.add as a replacement for Delete#addDeleteMarker
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-07 11:13:12 +08:00
Guanghao Zhang be034c26b4 HBASE-18485 Performance issue: ClientAsyncPrefetchScanner is slower than ClientSimpleScanner 2017-08-07 10:43:03 +08:00
Benedict Jin ee6ff31c0d HBASE-18470 Remove the redundant comma from RetriesExhaustedWithDetailsException#getDesc
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-03 15:43:20 +08:00
Robert Yokota da2cb02422 HBASE-16893 Use Collection.removeIf instead of Iterator.remove in DependentColumnFilter
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-03 13:43:51 +08:00
Apekshit Sharma 41da64a144 HBASE-18231 Deprecate Admin#closeRegion*() commands in favor of Admin#unassign().
Other changes:
- Update corresponding tests in TestAdmin2. Removed tests centered around serverName part of old functions.
- Remove dead functions from ProtobufUtil and ServerManager
- Rename closeRegion* functions in HBTU to unassignRegion*

Change-Id: Ib9bdeb185e10750daf652be0bb328306accb73ab
2017-08-02 15:22:17 -07:00
Michael Stack ee70b1d2e0 HBASE-17056 Remove checked in PB generated files
Selective add of dependency on hbase-thirdparty jars.
Update to READMEs on how protobuf is done (and update to refguide).
Removed all checked in generated protobuf files. They are generated
on the fly now as part of mainline build.
2017-08-02 09:42:38 -07:00
Andrew Purtell 5e21e30682 HBASE-18431 Mitigate compatibility concerns between branch-1.3 and branch-1.4
We needed to move TableName out of HBase.proto to resolve a cycle after
repairing incompatible changes introduced into branch-1. Carry this forward.
2017-08-01 17:05:14 -07:00
Yi Liang 928137c1ce HBASE-18465: [AMv2] remove old split region code that is no longer needed
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-30 15:25:40 -05:00
anoopsamjohn d776a3caae HBASE-18473 VC.listLabels() erroneously closes any connection. 2017-07-30 15:38:18 +05:30
Yu Li 3be51a85ba HBASE-18441 ZookeeperWatcher#interruptedException should throw exception 2017-07-26 15:21:25 +08:00
Malcolm Taylor 7517f93265 HBASE-18434 Address some alerts raised by lgtm.com
Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
2017-07-26 10:03:07 +05:30
Andrew Purtell e24f7f4675 HBASE-18054 log when we add/remove failed servers in client (Ali) 2017-07-25 18:53:08 -07:00
张世彬10204932 8ad76bbc88 HBASE-18323 Remove multiple ACLs for the same user in kerberos
Signed-off-by: Josh Elser <elserj@apache.org>
2017-07-25 18:17:02 -04:00
Phil Yang 86ce7fcbbf HBASE-15968 New behavior of versions considering mvcc and ts rather than ts only 2017-07-25 15:17:47 +08:00
Yi Liang 9e230dc321 HBASE-18107: [AMv2] Remove DispatchMergingRegionsRequest & DispatchMergingRegions
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-23 10:45:38 +01:00
Mike Drob 254b78c116 HBASE-18433 Convenience method for creating simple ColumnFamilyDescriptor
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-22 23:44:02 +08:00
rgidwani d461bec6c2 HBASE-15816 Provide client with ability to set priority on Operations
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-07-21 17:12:21 -07:00
Michael Stack d5c6e11016 HBASE-17908 Upgrade guava
Pull in guava 22.0 by using the shaded version up in new hbase-thirdparty project.

In poms, exclude guava everywhere except on hadoop-common. Do this so
we minimize transitive includes. hadoop-common is needed because hadoop
Configuration uses guava doing preconditions.

Everywhere we used guava, instead use shaded so fix a load of imports.

Stopwatch API changed as did hashing and toStringHelper which is now
in MoreObjects class. Otherwise, minimal changes to come up on 22.0
2017-07-21 15:41:52 +01:00
Chia-Ping Tsai f8fa04c717 HBASE-18420 Some methods of Admin don't use ColumnFamilyDescriptor 2017-07-21 19:15:09 +08:00
Andrew Purtell cbf390422b HBASE-18330 NPE in ReplicationZKLockCleanerChore 2017-07-19 15:46:22 -07:00
Phil Yang fc362f69cb HBASE-18390 Sleep too long when finding region location failed 2017-07-19 11:49:58 +08:00
Yi Liang a4575704bc HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-14 22:26:17 +01:00
Sean Busbey 9cc9404261 HBASE-18187 update version to 2.0.0-alpha-2-SNAPSHOT 2017-07-14 11:20:32 -05:00
Guanghao Zhang 06a0bfc3ba HBASE-18342 Add coprocessor service support for async admin 2017-07-14 11:55:32 +08:00
Jan Hentschel 97b649eb93 HBASE-18344 Introduce Append.addColumn as a replacement for Append.add
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-13 20:05:22 +08:00
Chia-Ping Tsai ca5d8c40b7 HBASE-18268 Eliminate the findbugs warnings for hbase-client 2017-07-12 03:08:05 +08:00
Guanghao Zhang 8a8e299eee HBASE-18343 Track the remaining unimplemented methods for async admin 2017-07-11 14:05:02 +08:00
zhangduo 7acb226eb9 HBASE-18348 The implementation of AsyncTableRegionLocator does not follow the javadoc 2017-07-11 11:44:40 +08:00
tedyu 5d7dfa4d1d HBASE-17705 Procedure execution must fail fast if procedure is not registered (Vladimir Rodionov) 2017-07-10 09:11:58 -07:00
Guanghao Zhang 4368f09057 HBASE-18318 Implement updateConfiguration/stopMaster/stopRegionServer/shutdown methods 2017-07-10 13:49:03 +08:00
Guanghao Zhang da80839ecc HBASE-18316 Implement async admin operations for draining region servers 2017-07-09 20:22:06 +08:00
Chia-Ping Tsai 53ec9c5bd3 HBASE-18241 Change client.Table, client.Admin, Region, Store, and HBaseTestingUtility to not use HTableDescriptor or HColumnDescriptor 2017-07-08 17:00:15 +08:00
Guanghao Zhang 5d4e4f2007 HBASE-18317 Implement async admin operations for Normalizer/CleanerChore/CatalogJanitor 2017-07-08 10:59:01 +08:00
Guanghao Zhang 359f97711f HBASE-18319 Implement getClusterStatus/getRegionLoad/getCompactionState/getLastMajorCompactionTimestamp methods 2017-07-07 16:47:19 +08:00
Michael Stack b2b5cd6de6 Revert "HBASE-17056 Remove checked in PB generated files Selective add of dependency on"
Build is unstable and has interesting issues around CLASSPATH. Revert
for now.

This reverts commit 1049025e1d.
2017-07-06 21:48:41 -07:00
Michael Stack 1049025e1d HBASE-17056 Remove checked in PB generated files Selective add of dependency on
hbase-thirdparty jars. Update to READMEs on how protobuf is done (and update to
refguide) Removed all checked in generated protobuf files. They are generatedon
the fly now as part of mainline build.
2017-07-05 21:38:23 -07:00
Guanghao Zhang 507f5fb844 HBASE-18297 Provide a AsyncAdminBuilder to create new AsyncAdmin instance 2017-07-05 10:10:05 +08:00
Michael Stack 84a5d29391 HBASE-18286 Create static empty byte array to save memory
Revert "Revert "HBASE-18266 Create static empty byte array to save memory (Ben Epstein)""
... i.e. a reapply but with correct JIRA this time.

This reverts commit 3a0db474a2.
2017-07-03 19:51:16 -07:00
Michael Stack 3a0db474a2 Revert "HBASE-18266 Create static empty byte array to save memory (Ben Epstein)"
Wrong JIRA number

This reverts commit 549fb1677b.
2017-07-03 19:50:55 -07:00
Peter Somogyi eacbdb061e HBASE-18264 Update pom plugins
Update plugins in main and subprojects
Unified versions to use variable instead of direct values

Affected plugins:
- apache-rat-plugin 0.11 -> 0.12
- asciidoctor-maven-plugin 1.5.2.1 -> 1.5.5
- asciidoctorj-pdf 1.5.0-alpha.6 -> 1.5.0-alpha.15
- build-helper-maven-plugin 1.9.1 -> 3.0.0
- buildnumber-maven-plugin 1.3 -> 1.4
- exec-maven-plugin 1.2.1/1.4.0 -> 1.6.0
- extra-enforcer-rules 1.0-beta-3 -> 1.0-beta-6
- findbugs-maven-plugin 3.0.0 -> 3.0.4
- jamon-maven-plugin 2.4.1 -> 2.4.2
- maven-bundle-plugin 2.5.3 -> 3.3.0
- maven-compiler-plugin 3.2/3.5.1 -> 3.6.1
- maven-eclipse-plugin 2.9 -> 2.10
- maven-shade-plugin 2.4.1 -> 3.0.0
- maven-surefire-plugin 2.18.1 -> 2.20
- maven-surefire-report-plugin 2.7.2 -> 2.20
- scala-maven-plugin 3.2.0 -> 3.2.2
- spotbugs 3.1.0-RC1 -> 3.1.0-RC3
- wagon-ssh 2.2 -> 2.12
- xml-maven-plugin 1.0 -> 1.0.1

- maven-assembly-plugin 2.4 -> 2.6(inherited)
- maven-dependency-plugin 2.4 -> 2.10 (inherited)
- maven-enforcer-plugin 1.3.1 -> 1.4.1 (inherited)
- maven-javadoc-plugin 2.10.3 -> 2.10.4 (inherited)
- maven-resources-plugin 2.7 (inherited)
- maven-site-plugin 3.4 -> 3.5.1 (inherited)

Change-Id: I84539f555be498dff18caed1e3eea1e1aeb2143a

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-03 19:43:42 -07:00
Guanghao Zhang af36bfb2f7 HBASE-18283 Provide a construct method which accept a thread pool for AsyncAdmin 2017-07-04 10:18:49 +08:00
Michael Stack f4c99a6a89 HBASE-11707 Using Map instead of list in FailedServers of RpcClient (Liu Shaohui)
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-01 12:25:21 -07:00
Michael Stack 549fb1677b HBASE-18266 Create static empty byte array to save memory (Ben Epstein) 2017-06-30 15:31:16 -07:00
Sean Busbey d00850f66d HBASE-15391 ADDENDUM Avoid too large "deleted from META" info log. 2017-06-30 09:52:19 -05:00
Michael Stack 09cafb1163 HBASE-15391 Avoid too large "deleted from META" info log (Liu Shaohui) 2017-06-30 03:53:58 -07:00
Michael Stack 619dcf24f4 Revert "HBASE-18229: create new Async Split API to embrace AM v2"
TestShell is failing.

This reverts commit 290fb8965d.
2017-06-30 03:30:50 -07:00
Yi Liang 290fb8965d HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 16:21:08 -07:00
张世彬10204932 f6dd43be70 HBASE-17982 correct spelling error of 'occured'
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 15:10:08 -07:00
Xiang Li 2db99eb74a HBASE-18022: Refine the error message issued with TableNotFoundException when expected table is not the same as the one fetched from meta
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 15:07:01 -07:00
Guanghao Zhang 69e3234226 HBASE-18234 Revisit the async admin api (addendum) 2017-06-27 10:53:52 +08:00
Guanghao Zhang 289938337b HBASE-18234 Revisit the async admin api 2017-06-26 17:30:47 +08:00
Michael Stack 4184ae7563 HBASE-18004 getRegionLocations needs to be called once in
ScannerCallableWithReplicas#call() (Huaxiang Sun)
2017-06-15 13:41:49 -07:00
Andrew Purtell 6af3ee44c0 HBASE-18219 Fix typo in constant HConstants.HBASE_CLIENT_MEAT_REPLICA_SCAN_TIMEOUT 2017-06-14 16:03:50 -07:00
zhangduo eca1ec3356 HBASE-18199 Race in NettyRpcConnection may cause call stuck in BufferCallBeforeInitHandler forever 2017-06-10 19:12:29 +08:00
Yi Liang ea7d51e129 HBASE-18109: Assign system tables first
This issue adds comments and a sort so system tables are queued first
(which will ensure they go out first). This should be good enough
along w/ existing scheduling mechanisms to ensure system/meta get
assigned first.

Signed-off-by: Michael Stack <stack@apache.org>
2017-06-08 13:26:42 -07:00
Chia-Ping Tsai 1e7804634c HBASE-18008 Any HColumnDescriptor we give out should be immutable 2017-06-08 23:28:33 +08:00
Michael Stack adfb48eeb8 HBASE-18190 Set version in branch-2 to 2.0.0-alpha-1 2017-06-07 21:10:01 -07:00
huzheng 347bef8d33 HBASE-17678 FilterList with MUST_PASS_ONE lead to redundancy cells returned - addendum
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-07 07:35:03 -07:00
huzheng 0d0c330401 HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-06 21:08:12 -07:00
Phil Yang 2f1923a823 HBASE-15576 Scanning cursor to prevent blocking long time on ResultScanner.next() 2017-06-07 11:32:04 +08:00
tedyu ef46debde8 HBASE-18005 read replica: handle the case that region server hosting both primary replica and meta region is down (huaxiang sun) 2017-06-02 09:29:51 -07:00
Michael Stack 3975bbd008 HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi) Move to a new AssignmentManager, one that describes Assignment using a State Machine built on top of ProcedureV2 facility.
This doc. keeps state on where we are at w/ the new AM:
https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.vfdoxqut9lqn
Includes list of tests disabled by this patch with reasons why.

Based on patches from Matteos' repository and then fix up to get it all to pass cluster
tests, filling in some missing functionality, fix of findbugs, fixing bugs, etc..
including:

    1. HBASE-14616 Procedure v2 - Replace the old AM with the new AM.
    The basis comes from Matteo's repo here:
    689227fcbf

    Patch replaces old AM with the new under subpackage master.assignment.
    Mostly just updating classes to use new AM -- import changes -- rather
    than the old. It also removes old AM and supporting classes.
    See below for more detail.

    2. HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
    3622cba4e3

    Adds running of remote procedure. Adds batching of remote calls.
    Adds support for assign/unassign in procedures. Adds version info
    reporting in rpc. Adds start of an AMv2.

    3. Reporting of remote RS version is from here:
    ddb4df3964.patch

    4. And remote dispatch of procedures is from:
    186b9e7c4d

    5. The split merge patches from here are also melded in:
    9a3a95a2c2
    and d6289307a0

We add testing util for new AM and new sets of tests.

Does a bunch of fixup on logging so its possible to follow a procedures' narrative by grepping
procedure id. We spewed loads of log too on big transitions such as master fail; fixed.

Fix CatalogTracker. Make it use Procedures doing clean up of Region data on split/merge.
Without these changes, ITBLL was failing at larger scale (3-4hours 5B rows) because we were
splitting split Regions among other things (CJ would run but wasn't
taking lock on Regions so havoc).

    Added a bunch of doc. on Procedure primitives.

    Added new region-based state machine base class. Moved region-based
    state machines on to it.

    Found bugs in the way procedure locking was doing in a few of the
    region-based Procedures. Having them all have same subclass helps here.

    Added isSplittable and isMergeable to the Region Interface.

    Master would split/merge even though the Regions still had
    references. Fixed it so Master asks RegionServer if Region
    is splittable.

    Messing more w/ logging. Made all procedures log the same and report
    the state the same; helps when logging is regular.

    Rewrote TestCatalogTracker. Enabled TestMergeTableRegionProcedure.

    Added more functionality to MockMasterServices so can use it doing
    standalone testing of Procedures (made TestCatalogTracker use it
    instead of its own version).

    Add to MasterServices ability to wait on Master being up -- makes
    it so can Mock Master and start to implement standalone split testing.
    Start in on a Split region standalone test in TestAM.

    Fix bug where a Split can fail because it comes in in the middle of
    a Move (by holding lock for duration of a Move).

    Breaks CPs that were watching merge/split. These are run by Master now
    so you need to observe on Master, not on RegionServer.

    Details:

    M hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
    Takes List of regionstates on construction rather than a Set.
    NOTE!!!!! This is a change in a public class.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
    Add utility getShortNameToLog

    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.java
    Add support for dispatching assign, split and merge processes.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/master/RegionState.java
    Purge old overlapping states: PENDING_OPEN, PENDING_CLOSE, etc.

    M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
    Lots of doc on its inner workings. Bug fixes.

    M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
    Log and doc on workings. Bug fixes.

    A hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java
    Dispatch remote procedures every 150ms or 32 items -- which ever
    happens first (configurable). Runs a timeout thread. This facility is
    not on yet; will come in as part of a later fix. Currently works a
    region at a time. This class carries notion of a remote procedure and of a buffer full of these.
    "hbase.procedure.remote.dispatcher.threadpool.size" with default = 128
    "hbase.procedure.remote.dispatcher.delay.msec" with default = 150ms
    "hbase.procedure.remote.dispatcher.max.queue.size" with default = 32

    M hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
    Add in support for merge. Remove no-longer used methods.

    M hbase-protocol-shaded/src/main/protobuf/Admin.proto b/hbase-protocol-shaded/src/main/protobuf/Admin.proto
    Add execute procedures call ExecuteProcedures.

    M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
    Add assign and unassign state support for procedures.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
    Adds getting RS version out of RPC
    Examples: (1.3.4 is 0x0103004, 2.1.0 is 0x0201000)

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
    Remove periodic metrics chore. This is done over in new AM now.
    Replace AM with the new. Host the procedures executor.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
    Have AMv2 handle assigning meta.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
    Extract version number of the server making rpc.

    A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
    Add new assign procedure. Runs assign via Procedure Dispatch.
    There can only be one RegionTransitionProcedure per region running at the time,
    since each procedure takes a lock on the region.

    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignCallable.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/BulkAssigner.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java
    Remove these hacky classes that were never supposed to live longer than
    a month or so to be replaced with real assigners.

    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStateStore.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/UnAssignCallable.java

    A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
    A procedure-based AM (AMv2).

    TODO
     - handle region migration
     - handle meta assignment first
     - handle sys table assignment first (e.g. acl, namespace)
     - handle table priorities
      "hbase.assignment.bootstrap.thread.pool.size"; default size is 16.
      "hbase.assignment.dispatch.wait.msec"; default wait is 150
      "hbase.assignment.dispatch.wait.queue.max.size"; wait max default is 100
      "hbase.assignment.rit.chore.interval.msec"; default is 5 * 1000;
      "hbase.assignment.maximum.attempts"; default is 10;

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
     Procedure that runs subprocedure to unassign and then assign to new location

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
     Manage store of region state (in hbase:meta by default).

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
     In-memory state of all regions. Used by AMv2.

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
     Base RIT procedure for Assign and Unassign.

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
     Unassign procedure.

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
     Run region assignement in a manner that pays attention to target server version.
     Adds "hbase.regionserver.rpc.startup.waittime"; defaults 60 seconds.
2017-05-31 17:49:11 -07:00
Phil Yang c945d2b2d9 HBASE-18122 addendum for fixing async client scanner 2017-05-31 15:30:24 +08:00
zhangduo efc7edc81a HBASE-18115 Move SaslServer creation to HBaseSaslRpcServer 2017-05-27 11:38:41 +08:00
Phil Yang b74474dfc9 HBASE-18113 Handle old client without include_stop_row flag when startRow equals endRow 2017-05-26 13:38:56 +08:00
Michael Stack a3c5a74487 Revert "HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)"
Revert a mistaken commit!!!

This reverts commit dc1065a85d.
2017-05-24 23:31:36 -07:00
Michael Stack dc1065a85d HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
Move to a new AssignmentManager, one that describes Assignment using
a State Machine built on top of ProcedureV2 facility.

This doc. keeps state on where we are at w/ the new AM:
https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.vfdoxqut9lqn
Includes list of tests disabled by this patch with reasons why.

Based on patches from Matteos' repository and then fix up to get it all to pass cluster
tests, filling in some missing functionality, fix of findbugs, fixing bugs, etc..
including:

1. HBASE-14616 Procedure v2 - Replace the old AM with the new AM.
The basis comes from Matteo's repo here:
689227fcbf

Patch replaces old AM with the new under subpackage master.assignment.
Mostly just updating classes to use new AM -- import changes -- rather
than the old. It also removes old AM and supporting classes.
See below for more detail.

2. HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
3622cba4e3

Adds running of remote procedure. Adds batching of remote calls.
Adds support for assign/unassign in procedures. Adds version info
reporting in rpc. Adds start of an AMv2.

3. Reporting of remote RS version is from here:
ddb4df3964.patch

4. And remote dispatch of procedures is from:
186b9e7c4d

5. The split merge patches from here are also melded in:
9a3a95a2c2
and d6289307a0

We add testing util for new AM and new sets of tests.

Does a bunch of fixup on logging so its possible to follow a procedures' narrative by grepping
procedure id. We spewed loads of log too on big transitions such as master fail; fixed.

Fix CatalogTracker. Make it use Procedures doing clean up of Region data on split/merge.
Without these changes, ITBLL was failing at larger scale (3-4hours 5B rows) because we were
splitting split Regions among other things (CJ would run but wasn't
taking lock on Regions so havoc).

Added a bunch of doc. on Procedure primitives.

Added new region-based state machine base class. Moved region-based
state machines on to it.

Found bugs in the way procedure locking was doing in a few of the
region-based Procedures. Having them all have same subclass helps here.

Added isSplittable and isMergeable to the Region Interface.

Master would split/merge even though the Regions still had
references. Fixed it so Master asks RegionServer if Region
is splittable.

Messing more w/ logging. Made all procedures log the same and report
the state the same; helps when logging is regular.

Rewrote TestCatalogTracker. Enabled TestMergeTableRegionProcedure.

Added more functionality to MockMasterServices so can use it doing
standalone testing of Procedures (made TestCatalogTracker use it
instead of its own version).

Add to MasterServices ability to wait on Master being up -- makes
it so can Mock Master and start to implement standalone split testing.
Start in on a Split region standalone test in TestAM.

Fix bug where a Split can fail because it comes in in the middle of
a Move (by holding lock for duration of a Move).

Breaks CPs that were watching merge/split. These are run by Master now
so you need to observe on Master, not on RegionServer.

Details:

M hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
Takes List of regionstates on construction rather than a Set.
NOTE!!!!! This is a change in a public class.

M hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
Add utility getShortNameToLog

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.java
Add support for dispatching assign, split and merge processes.

M hbase-client/src/main/java/org/apache/hadoop/hbase/master/RegionState.java
Purge old overlapping states: PENDING_OPEN, PENDING_CLOSE, etc.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
Lots of doc on its inner workings. Bug fixes.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
Log and doc on workings. Bug fixes.

A hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java
Dispatch remote procedures every 150ms or 32 items -- which ever
happens first (configurable). Runs a timeout thread. This facility is
not on yet; will come in as part of a later fix. Currently works a
region at a time. This class carries notion of a remote procedure and of a buffer full of these.
"hbase.procedure.remote.dispatcher.threadpool.size" with default = 128
"hbase.procedure.remote.dispatcher.delay.msec" with default = 150ms
"hbase.procedure.remote.dispatcher.max.queue.size" with default = 32

M hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
Add in support for merge. Remove no-longer used methods.

M hbase-protocol-shaded/src/main/protobuf/Admin.proto b/hbase-protocol-shaded/src/main/protobuf/Admin.proto
Add execute procedures call ExecuteProcedures.

M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
Add assign and unassign state support for procedures.

M hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
Adds getting RS version out of RPC
Examples: (1.3.4 is 0x0103004, 2.1.0 is 0x0201000)

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
Remove periodic metrics chore. This is done over in new AM now.
Replace AM with the new. Host the procedures executor.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
Have AMv2 handle assigning meta.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
Extract version number of the server making rpc.

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
Add new assign procedure. Runs assign via Procedure Dispatch.
There can only be one RegionTransitionProcedure per region running at the time,
since each procedure takes a lock on the region.

D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignCallable.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/BulkAssigner.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java
Remove these hacky classes that were never supposed to live longer than
a month or so to be replaced with real assigners.

D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStateStore.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/UnAssignCallable.java

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
A procedure-based AM (AMv2).

TODO
 - handle region migration
 - handle meta assignment first
 - handle sys table assignment first (e.g. acl, namespace)
 - handle table priorities
  "hbase.assignment.bootstrap.thread.pool.size"; default size is 16.
  "hbase.assignment.dispatch.wait.msec"; default wait is 150
  "hbase.assignment.dispatch.wait.queue.max.size"; wait max default is 100
  "hbase.assignment.rit.chore.interval.msec"; default is 5 * 1000;
  "hbase.assignment.maximum.attempts"; default is 10;

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
 Procedure that runs subprocedure to unassign and then assign to new location

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
 Manage store of region state (in hbase:meta by default).

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
 In-memory state of all regions. Used by AMv2.

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Base RIT procedure for Assign and Unassign.

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
 Unassign procedure.

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
 Run region assignement in a manner that pays attention to target server version.
 Adds "hbase.regionserver.rpc.startup.waittime"; defaults 60 seconds.
2017-05-24 20:47:25 -07:00
Josh Elser ed618da906 HBASE-17981 Consolidate the space quota shell commands 2017-05-22 13:41:36 -04:00
Josh Elser 13b9a1ed01 HBASE-17976 Remove stability annotation from public audience class 2017-05-22 13:41:36 -04:00
Josh Elser d671a1dbc6 HBASE-17955 Various reviewboard improvements to space quota work
Most notable change is to cache SpaceViolationPolicyEnforcement objects
in the write path. When a table has no quota or there is not SpaceQuotaSnapshot
for that table (yet), we want to avoid creating lots of
SpaceViolationPolicyEnforcement instances, caching one instance
instead. This will help reduce GC pressure.
2017-05-22 13:41:36 -04:00
Josh Elser a8460b8bad HBASE-17794 Swap "violation" for "snapshot" where appropriate
A couple of variables and comments in which violation is incorrectly
used to describe what the code is doing. This was a hold over from early
implementation -- need to scrub these out for clarity.
2017-05-22 13:41:35 -04:00
Josh Elser 13af7f8ac6 HBASE-17002 JMX metrics and some UI additions for space quotas 2017-05-22 13:41:35 -04:00
Josh Elser 80a1f8fa2a HBASE-17428 Implement informational RPCs for space quotas
Create some RPCs that can expose the in-memory state that the
RegionServers and Master hold to drive the space quota "state machine".
Then, create some hbase shell commands to interact with those.
2017-05-22 13:41:35 -04:00
Josh Elser 6c9082fe16 HBASE-17259 API to remove space quotas on a table/namespace 2017-05-22 13:41:35 -04:00
Josh Elser 34ba143fc8 HBASE-17001 Enforce quota violation policies in the RegionServer
The nuts-and-bolts of filesystem quotas. The Master must inform
RegionServers of the violation of a quota by a table. The RegionServer
must apply the violation policy as configured. Need to ensure
that the proper interfaces exist to satisfy all necessary policies.

This required a massive rewrite of the internal tracking by
the general space quota feature. Instead of tracking "violations",
we need to start tracking "usage". This allows us to make the decision
at the RegionServer level as to when the files in a bulk load request
should be accept or rejected which ultimately lets us avoid bulk loads
dramatically exceeding a configured space quota.
2017-05-22 13:41:35 -04:00
Josh Elser 98b4181f43 HBASE-16999 Implement master and regionserver synchronization of quota state
* Implement the RegionServer reading violation from the quota table
* Implement the Master reporting violations to the quota table
* RegionServers need to track its enforced policies
2017-05-22 13:41:35 -04:00
Josh Elser 533470f8c8 HBASE-16998 Implement Master-side analysis of region space reports
Adds a new Chore to the Master that analyzes the reports that are
sent by RegionServers. The Master must then, for all tables with
quotas, determine the tables that are violating quotas and move
those tables into violation. Similarly, tables no longer violating
the quota can be moved out of violation.

The Chore is the "stateful" bit, managing which tables are and
are not in violation. Everything else is just performing
computation and informing the Chore on the updated state.

Added InterfaceAudience annotations and clean up the QuotaObserverChore
constructor. Cleaned up some javadoc and QuotaObserverChore. Reuse
the QuotaViolationStore impl objects.
2017-05-22 13:41:35 -04:00
tedyu f74e051bce HBASE-16996 Implement storage/retrieval of filesystem-use quotas into quota table (Josh Elser) 2017-05-22 13:41:35 -04:00
tedyu c5172169f2 HBASE-16995 Build client Java API and client protobuf messages - addendum fixes line lengths (Josh Elser) 2017-05-22 13:41:35 -04:00
tedyu 140413c11b HBASE-16995 Build client Java API and client protobuf messages - addendum fixes white spaces (Josh Elser) 2017-05-22 13:41:35 -04:00
tedyu 4dfafd6e50 HBASE-16995 Build client Java API and client protobuf messages (Josh Elser) 2017-05-22 13:41:35 -04:00
Apekshit Sharma 23ea2c36f5 HBASE-18068 Fix flaky test TestAsyncSnapshotAdminApi
- internalRestoreSnapshot() returns future which completes by just getting proc_id from master. Changed it to wait for the procedure to complete.
- Refactor TestAsyncSnapshotAdminApi: Add cleanup() which deletes all tables and snapshots after every test run. Simplifies individual tests.

Change-Id: Idc30fb699db32d58fd0f60da220953a430f1d3cc
2017-05-22 09:20:37 -07:00
Josh Elser 709f5a1980 HBASE-18075 Support non-latin table names and namespaces 2017-05-21 22:24:12 -04:00
Guanghao Zhang 553d5db355 HBASE-15616 (addendum) Allow null qualifier for all table operations 2017-05-22 09:42:02 +08:00
Guanghao Zhang 3fe4b28bb0 HBASE-15616 Allow null qualifier for all table operations 2017-05-19 17:47:08 +08:00
tedyu 958cd2d1b7 HBASE-18035 Meta replica does not give any primaryOperationTimeout to primary meta region (huaxiang sun) 2017-05-18 15:56:41 -07:00
tedyu d137991ccc HBASE-18058 Zookeeper retry sleep time should have an upper limit (Allan Yang) 2017-05-18 15:50:59 -07:00
huzheng 37dd8ff722 HBASE-11013: Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-18 17:39:50 +08:00
Guanghao Zhang 62d7323023 HBASE-18053 AsyncTableResultScanner will hang when scan wrong column family 2017-05-17 12:16:51 +08:00
anoopsamjohn 67d1358311 HBASE-18043 Institute a hard limit for individual cell size that cannot be overridden by clients. - Addendum to fix test issue in TestMobStoreScanner. 2017-05-16 18:53:27 +05:30
Andrew Purtell 37650775a5 Revert "HBASE-18026 ProtobufUtil seems to do extra array copying"
This reverts commit 5895631634.
2017-05-15 18:06:33 -07:00
tedyu 5e046151d6 HBASE-11013: Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions - revert, pending work in snapshot descriptor 2017-05-11 18:53:14 -07:00
tedyu b3dcfb659e HBASE-17928 Shell tool to clear compaction queues (Guangxu Cheng) 2017-05-11 18:47:12 -07:00
tedyu d8d4ba7c59 HBASE-17928 Shell tool to clear compaction queues - revert pending work in snapshot descriptor 2017-05-11 18:43:59 -07:00
Michael Stack d64acfd304 HBASE-18021 Add more info in timed out RetriesExhaustedException for read replica client get processing (Huaxiang Sun) 2017-05-11 17:23:43 -07:00
Vincent 5895631634 HBASE-18026 ProtobufUtil seems to do extra array copying
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-05-11 13:11:28 -07:00
tedyu 815b0f853b HBASE-17928 Shell tool to clear compaction queues (Guangxu Cheng) 2017-05-09 18:32:38 -07:00
huzheng 951b23a44c HBASE-11013: Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-05-09 09:32:48 -07:00
tedyu ac1024af21 HBASE-16356 REST API scanner: row prefix filter and custom filter parameters are mutually exclusive (Ben Watson) 2017-05-09 07:58:20 -07:00
huzheng 2026540ea3 HBASE-17667: Implement async flush/compact region methods
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-05 21:12:49 +08:00
huzheng ff998ef74f HBASE-17867: Implement async procedure RPC API(list/exec/abort/isFinished)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-03 21:46:37 +08:00
jc@lifove.net c0f265384f HBASE-17862 Fix a condition that always returns true
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-05-03 00:29:00 +08:00
Chia-Ping Tsai 923508c9de HBASE-8486 remove references to -ROOT- table from table descriptors where allowed by compatibility rules.
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-28 12:35:47 -05:00
QilinCao 03e8f6b56e HBASE-17835 Spelling mistakes in the Java source
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-28 11:25:57 -05:00
huzheng 4bc0eb31c3 HBASE-17865: Implement async listSnapshot/deleteSnapshot methods.
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-04-28 09:09:13 +08:00
ckulkarni eb6ded4849 HBASE-17448 Export metrics from RecoverableZooKeeper
Added metrics for RecoverableZooKeeper related to specific exceptions,
total failed ZooKeeper API calls and latency histograms for read,
write and sync operations. Also added unit tests for the same. Added
service provider for the ZooKeeper metrics implementation inside the
hadoop compatibility module.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-04-26 18:30:13 -07:00
zhangduo 177344cdbf HBASE-17873 Change the IA.Public annotation to IA.Private for unstable API
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-26 16:39:11 -05:00
Chia-Ping Tsai 053e61541e HBASE-15583 Any HTableDescriptor we give out should be immutable 2017-04-27 03:22:29 +08:00
Balazs Meszaros 2557506415 HBASE-15143 Procedure v2 - Web UI displaying queues
Signed-off-by: Michael Stack <stack@apache.org>
2017-04-25 09:39:28 -07:00
huzheng d39f40e787 HBASE-17864: Implement async snapshot/cloneSnapshot/restoreSnapshot methods
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-04-21 18:57:43 +08:00
Ashish Singhi 87f2bb5796 HBASE-13288 Fix naming of parameter in Delete constructor
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-04-21 11:09:44 +08:00
Guanghao Zhang 40cc666ac9 HBASE-17915 Implement async replication admin methods 2017-04-20 18:13:03 +08:00
huzheng 8db9760363 HBASE-17866: Implement async setQuota/getQuota methods
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-04-17 09:49:30 +08:00
Michael Stack 7678855fac HBASE-17904 Get runs into NoSuchElementException when using Read Replica, with hbase. ipc.client.specificThreadForWriting
to be true and hbase.rpc.client.impl to be org.apache.hadoop.hbase.ipc.RpcClientImpl (Huaxiang Sun)
2017-04-16 11:01:06 -07:00
Umesh Agashe c8461456d0 HBASE-17888: Added generic methods for updating metrics on submit and finish of a procedure execution
Signed-off-by: Michael Stack <stack@apache.org>
2017-04-14 11:51:08 -07:00
AShiou 23249eb0f5 HBASE-17895 TestAsyncProcess#testAction fails if unsafe support is false
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-04-12 11:42:13 +08:00
Nemo Chen 0b5bd78d6e HBASE-16469 Several log refactoring/improvement suggestions
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-11 14:16:12 -05:00
Chia-Ping Tsai 18c5ecf6ed HBASE-17881 Remove the ByteBufferCellImpl 2017-04-07 21:14:19 +08:00
Yu Li d7e3116a17 HBASE-17886 Fix compatibility of ServerSideScanMetrics 2017-04-06 17:29:22 +08:00
zhangduo a66d491892 HBASE-17857 Remove IS annotations from IA.Public classes 2017-04-05 15:34:06 +08:00
huzheng 5f98ad2053 HBASE-17668: Implement async assgin/offline/move/unassign methods
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-04-01 08:19:14 +08:00
zhangduo 0ec1459467 HBASE-17855 Fix typo in async client implementation 2017-03-31 13:00:27 +08:00
Michael Stack d033cbb715 HBASE-17844 Subset of HBASE-14614, Procedure v2: Core Assignment Manager (non-critical changes)
Minor changes related to HBASE-14614. Added comments. Changed logging.
Added toString formatting. Removed imports. Removed unused code.
2017-03-30 10:31:04 -07:00
Guanghao Zhang 752b258b7c HBASE-17520 Implement isTableEnabled/Disabled/Available methods 2017-03-30 13:37:17 +08:00
Jan Hentschel 50e9825139 HBASE-13395 Removed HTableInterface
Signed-off-by: CHIA-PING TSAI <chia7712@gmail.com>
2017-03-26 00:04:21 +08:00
huzheng faf81d5133 HBASE-17669: Implement async mergeRegion/splitRegion methods
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-03-24 21:25:24 +08:00
zhangduo f1c1f258e5 HBASE-17595 addendum fix the problem for mayHaveMoreCellsInRow 2017-03-23 20:34:10 +08:00
CHIA-PING TSAI fe3c32ebd5 HBASE-17809 cleanup unused class 2017-03-23 14:15:28 +08:00
zhangduo cc59fe4e91 HBASE-17812 Remove RpcConnection from pool in AbstractRpcClient.cancelConnections 2017-03-21 10:07:16 +08:00
brandboat 9c8f02e4ef HBASE-16014 Get and Put constructor argument lists are divergent
Signed-off-by: CHIA-PING TSAI <chia7712@gmail.com>
2017-03-21 09:33:24 +08:00
Jan Hentschel 55d6dcaf87 HBASE-16084 Cleaned up the stale references in Javadoc
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-03-20 10:55:36 -07:00
zhangduo 5b4bb8217d HBASE-17691 Add ScanMetrics support for async scan 2017-03-20 20:54:04 +08:00
tedyu 75d0f49dcd HBASE-14123 HBase Backup/Restore Phase 2 (Vladimir Rodionov) 2017-03-18 03:04:19 -07:00
CHIA-PING TSAI e2a070cae0 HBASE-17778 Remove the testing code in the AsyncRequestFutureImpl 2017-03-17 07:49:13 +08:00
Guanghao Zhang 6a6fff103e HBASE-17790 Mark ReplicationAdmin's peerAdded and listReplicationPeers as Deprecated 2017-03-16 16:55:18 +08:00
zhangduo 1849e8a5a7 HBASE-17740 Correct the semantic of batch and partial for async client 2017-03-16 09:44:23 +08:00
Chia-Ping Tsai 0ecb678259 HBASE-17723 ClientAsyncPrefetchScanner may end prematurely when the size of the cache is one 2017-03-16 03:07:20 +08:00
zhangduo a49bc58a54 HBASE-17584 Expose ScanMetrics with ResultScanner rather than Scan 2017-03-15 17:48:58 +08:00
tedyu 777fea552e HBASE-17779 disable_table_replication returns misleading message and does not turn off replication (Janos Gub) 2017-03-14 12:13:34 -07:00
zhangduo ed6e5d6999 HBASE-17763 IPCUtil.wrapException will wrap DoNotRetryIOException with IOException 2017-03-10 15:37:59 +08:00
Yu Li c63a871176 HBASE-17745 Support short circuit connection for master services 2017-03-10 09:15:04 +08:00
Guanghao Zhang 4ff838df13 HBASE-17600 Implement get/create/modify/delete/list namespace admin operations 2017-03-09 10:32:46 +08:00
tedyu c42a0665b9 HBASE-17460 enable_table_replication can not perform cyclic replication of a table - addendum removes replication check (Janos Gub) 2017-03-07 19:42:26 -08:00
Jan Hentschel b53f354763 HBASE-17532 Replaced explicit type with diamond operator
Signed-off-by: Michael Stack <stack@apache.org>
2017-03-07 11:22:51 -08:00
Karan Mehta fee86ebd7b HBASE-17716 Formalize Scan Metric names
Signed-off-by: Michael Stack <stack@apache.org>
2017-03-07 07:41:54 -08:00
Phil Yang b635414e83 HBASE-15484 Correct the semantic of batch and partial - amend to fix bug and revise the JavaDoc for related APIs. 2017-03-07 22:23:56 +08:00
Phil Yang 0d3e986f7e HBASE-15484 Correct the semantic of batch and partial 2017-03-07 11:52:04 +08:00
Michael Stack 4beae9a56e Javadoc on what BLOCKSIZE means (related to HBASE-15248) 2017-03-06 15:53:13 -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
Josh Elser 5645684ec9 HBASE-17717 Explicitly use "sasl" ACL scheme for hbase superuser
The special "auth" ZK ACL scheme will always set the ACL's id (the
user who is allowed) to be the authenticated user of the ZK connection.
This results in the HBase superuser not actually receiving the
permissions as the ZKUtil intends to do. Since we know we have security
enabled, we can instead explicitly list "sasl" as the ACL scheme
instead.
2017-03-02 15:46:33 -05:00
huzheng 697a55a878 HBASE-17646: Implement Async getRegion method
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-03-02 11:52:05 +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 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
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 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
zhangduo f037f230fd HBASE-17608 Add suspend support for RawScanResultConsumer 2017-02-22 20:32:03 +08: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
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
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
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
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
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