Commit Graph

1690 Commits

Author SHA1 Message Date
Chia-Ping Tsai d63a287bfd HBASE-18519 Use builder pattern to create cell 2017-08-28 14:14:49 +08:00
Chia-Ping Tsai 8f290c35b7 HBASE-18691 [compat 1-2] HCD remove and removeConfiguration change return type 2017-08-27 18:58:35 +08:00
Michael Stack 6859d4e207 HBASE-18687 Add @since 2.0.0 to new classes; AMENDMENT 2017-08-25 14:14:51 -07:00
Michael Stack e62fdd9db4 Revert "So far -- fix this message"
Revert miscommit

This reverts commit 3bc64dac95.
2017-08-25 14:14:05 -07:00
Michael Stack 20d272bce5 HBASE-18687 Add @since 2.0.0 to new classes 2017-08-25 13:12:30 -07:00
Michael Stack 3bc64dac95 So far -- fix this message 2017-08-25 13:12:30 -07:00
Huaxiang Sun 2e87396236 Revert "HBASE-17249 Get/Scan's setTimeRange/setColumnFamilyTimeRange can take the TimeRange reference as the parameter instead of creating a new setColumnFamilyTimeRange instance. (huaxiang sun)"
This reverts commit 61220e4d7c.
2017-08-25 10:53:18 -07:00
zhangduo d12eb7a4aa HBASE-18347 Implement a BufferedMutator for async client 2017-08-24 15:55:43 +08:00
Chia-Ping Tsai 25ee5f7f84 HBASE-18546 Always overwrite the TS for Append/Increment unless no existing cells are found 2017-08-24 14:35:22 +08:00
Chia-Ping Tsai 25ff9d0bbf HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor 2017-08-24 13:03:38 +08:00
Chia-Ping Tsai 12f2b02a80 Revert "HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor"
Wrong author information
This reverts commit b03348630c.
2017-08-24 13:02:11 +08:00
Chia-Ping Tsai b03348630c HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor 2017-08-24 12:56:58 +08:00
Apekshit Sharma 26e6c2ceb4 HBASE-17442 Move most of the replication related classes from hbase-client to new hbase-replication package. (Guanghao Zhang).
Change-Id: Ie0e24cc617ab4bf56de8b1747062d1b78a5d4669
2017-08-23 14:41:58 -07:00
Michael Stack 7b8cf37c3b HBASE-18660 Remove duplicate code from the checkAndPut method in HTable (Yun Zhao) 2017-08-22 21:19:24 -07:00
Mike Drob 51d458872d HBASE-12349 Add custom error-prone module 2017-08-22 16:38:17 -05:00
Michael Stack 05f07f692b HBASE-18645 Loads of tests timing out.... Revert "HBASE-14498 Master stuck in infinite loop when all Zookeeper servers are unreachable"
This reverts commit 1ab6882f62.
2017-08-22 01:41:18 -07:00
tedyu e2532ecd1e HBASE-18617 FuzzyRowKeyFilter should not modify the filter pairs (vinisha) 2017-08-18 09:10:20 -07:00
Pankaj Kumar 1ab6882f62 HBASE-14498 Master stuck in infinite loop when all Zookeeper servers are unreachable
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-17 19:02:39 -07:00
Guanghao Zhang 092dc6de84 HBASE-18608 AsyncConnection should return AsyncAdmin interface instead of the implemenation 2017-08-17 09:47:39 +08:00
Xiang Li 4c3a64db13 HBASE-18573 Update Append and Delete to use Mutation#getCellList(family)
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-08-16 14:50:46 -07:00
zhangduo 4c74a73d57 HBASE-18553 Expose scan cursor for asynchronous scanner 2017-08-16 21:04:57 +08:00
Ashish Singhi b0878184a3 HBASE-18437 Revoke access permissions of a user from a table does not work as expected
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-08-15 22:29:16 -07:00
Guanghao Zhang 59ffb6119b HBASE-18598 AsyncNonMetaRegionLocator use FIFO algorithm to get a candidate locate request 2017-08-16 13:08:40 +08:00
Lars Francke 70c4f78ce0 HBASE-18599 Add missing @Deprecated annotations
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-15 10:44:50 -07:00
Deon Huang d37266f63c HBASE-2631 Decide between InMB and MB as suffix for field names in ClusterStatus objects
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-15 21:42:31 +08:00
brandboat d4317c80e6 HBASE-18582 Correct the docs for Mutation#setCellVisibility
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-15 21:37:55 +08:00
Mike Drob 0b26ccdaa1 HBASE-18303 Clean up @Parameter boilerplate 2017-08-14 14:23:24 -05:00
Jerry He 096dac2e83 HBASE-18522 Add RowMutations support to Batch 2017-08-14 10:39:46 -07:00
Chia-Ping Tsai e2b797be39 HBASE-18528 DON'T allow user to modify the passed table/column descriptor 2017-08-14 14:02:30 +08:00
Michael Stack c6ac04ab39 HBASE-18271 Shade netty Purge mention of netty-all.
Add in hbase-thirdparty hbase-shaded-netty instead.
s/io.netty/org.apache.hadoop.hbase.shaded.io.netty/ everywhere in hbase.

Also set a system property when running tests and when starting
hbase; required by netty so can find the relocation files in the
bundled .so.
2017-08-13 12:46:21 -07:00
Reid Chan 923195c39e HBASE-15511 ClusterStatus should be able to return responses by scope
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-14 01:02:39 +08:00
Xiang Li 173dce7347 HBASE-18555: Remove redundant familyMap.put() from addxxx() of sub-classes of Mutation and Query
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-08-11 22:49:38 -07:00
Guanghao Zhang cabdbf181a HBASE-18500 Performance issue: Don't use BufferedMutator for HTable's put method 2017-08-11 16:33:35 +08:00
Guanghao Zhang 4dd24c52b8 HBASE-17125 Inconsistent result when use filter to read data 2017-08-11 10:58:00 +08:00
zhangduo 624652373e HBASE-18489 Expose scan cursor in RawScanResultConsumer 2017-08-10 10:11:40 +08:00
no_apologies a7014ce46c HBASE-18515 Introduce Delete.add as a replacement for Delete#addDeleteMarker
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-07 11:05:23 +08:00
Guanghao Zhang 5915d73a70 HBASE-18485 Performance issue: ClientAsyncPrefetchScanner is slower than ClientSimpleScanner 2017-08-07 10:35:19 +08:00
Benedict Jin fe890b70ac HBASE-18470 Remove the redundant comma from RetriesExhaustedWithDetailsException#getDesc
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-03 15:42:53 +08:00
Robert Yokota 855dd48f0a HBASE-16893 Use Collection.removeIf instead of Iterator.remove in DependentColumnFilter
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-03 13:38:52 +08:00
Apekshit Sharma de696cf6b6 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:19:06 -07:00
Michael Stack 7a6de1bd42 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:33:20 -07:00
Yi Liang 00c1b56665 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:24:58 -05:00
anoopsamjohn 5c47cb5d49 HBASE-18473 VC.listLabels() erroneously closes any connection. 2017-07-30 14:49:38 +05:30
Yu Li 1e49decfa2 HBASE-18441 ZookeeperWatcher#interruptedException should throw exception 2017-07-26 15:19:11 +08:00
Malcolm Taylor 421029d0c7 HBASE-18434 Address some alerts raised by lgtm.com
Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
2017-07-26 10:00:23 +05:30
Andrew Purtell 2fd8e824d5 HBASE-18054 log when we add/remove failed servers in client (Ali) 2017-07-25 18:53:09 -07:00
张世彬10204932 d7febd54da HBASE-18323 Remove multiple ACLs for the same user in kerberos
Signed-off-by: Josh Elser <elserj@apache.org>
2017-07-25 18:10:50 -04:00
Phil Yang 1ac4152b19 HBASE-15968 New behavior of versions considering mvcc and ts rather than ts only 2017-07-25 15:00:36 +08:00
Yi Liang e9d8a7b6d5 HBASE-18107: [AMv2] Remove DispatchMergingRegionsRequest & DispatchMergingRegions
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-23 10:44:34 +01:00
Mike Drob 317ce73963 HBASE-18433 Convenience method for creating simple ColumnFamilyDescriptor
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-22 23:42:33 +08:00
rgidwani ec3cb19664 HBASE-15816 Provide client with ability to set priority on Operations
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-07-21 17:12:16 -07:00
Michael Stack 890d92a90c 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:28:08 +01:00
Chia-Ping Tsai 7941b83aaf HBASE-18420 Some methods of Admin don't use ColumnFamilyDescriptor 2017-07-21 19:14:33 +08:00
Andrew Purtell 01db60d65b HBASE-18330 NPE in ReplicationZKLockCleanerChore 2017-07-19 15:46:08 -07:00
Phil Yang 6b7ebc019c HBASE-18390 Sleep too long when finding region location failed 2017-07-19 11:34:57 +08:00
Yi Liang 353627b39d HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-14 22:25:14 +01:00
Guanghao Zhang 81ffd6a13e HBASE-18342 Add coprocessor service support for async admin 2017-07-14 11:53:52 +08:00
Jan Hentschel c0725ddff1 HBASE-18344 Introduce Append.addColumn as a replacement for Append.add
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-13 20:04:57 +08:00
Chia-Ping Tsai cc4301ca08 HBASE-18268 Eliminate the findbugs warnings for hbase-client 2017-07-12 03:07:17 +08:00
Guanghao Zhang 1978b78cdf HBASE-18343 Track the remaining unimplemented methods for async admin 2017-07-11 14:01:56 +08:00
zhangduo f8e892d7aa HBASE-18348 The implementation of AsyncTableRegionLocator does not follow the javadoc 2017-07-11 11:43:35 +08:00
tedyu 7d007eac98 HBASE-17705 Procedure execution must fail fast if procedure is not registered (Vladimir Rodionov) 2017-07-10 09:04:56 -07:00
Guanghao Zhang 1ddcc07d65 HBASE-18318 Implement updateConfiguration/stopMaster/stopRegionServer/shutdown methods 2017-07-10 13:41:19 +08:00
Guanghao Zhang c48bb67123 HBASE-18316 Implement async admin operations for draining region servers 2017-07-09 19:51:59 +08:00
Chia-Ping Tsai bc8ebc6f72 HBASE-18241 Change client.Table, client.Admin, Region, Store, and HBaseTestingUtility to not use HTableDescriptor or HColumnDescriptor 2017-07-08 16:54:25 +08:00
Guanghao Zhang 7f93729782 HBASE-18317 Implement async admin operations for Normalizer/CleanerChore/CatalogJanitor 2017-07-08 10:55:10 +08:00
Guanghao Zhang b0a5fa0c2a HBASE-18319 Implement getClusterStatus/getRegionLoad/getCompactionState/getLastMajorCompactionTimestamp methods 2017-07-07 16:21:45 +08:00
Michael Stack 6786b2b63e Revert "HBASE-17056 Remove checked in PB generated files Selective add of dependency on"
Revert for now. Build unstable and some interesting issues around
CLASSPATH

This reverts commit df93c13fd2.
2017-07-06 21:58:32 -07:00
Michael Stack df93c13fd2 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 20:57:11 -07:00
Michael Stack c5abb6cabb Revert "HBASE-14070 - Core HLC"
Revert a push too-early

This reverts commit 9fe94c1169.
2017-07-05 20:11:05 -07:00
Amit Patel 9fe94c1169 HBASE-14070 - Core HLC
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-05 16:51:02 -07:00
Guanghao Zhang e71e5ece88 HBASE-18297 Provide a AsyncAdminBuilder to create new AsyncAdmin instance 2017-07-05 09:18:02 +08:00
Michael Stack 99221bd43f HBASE-18286 Create static empty byte array to save memory
Revert of "Revert "HBASE-18266 Create static empty byte array to save memory (Ben Epstein)""
... so a reapply except this time w/ the proper JIRA number

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

This reverts commit e89baeaf93.
2017-07-03 19:48:44 -07:00
Peter Somogyi f2731fc241 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:42:46 -07:00
Guanghao Zhang 14f0423b58 HBASE-18283 Provide a construct method which accept a thread pool for AsyncAdmin 2017-07-04 09:51:41 +08:00
Michael Stack f1b97a6aa0 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:24:44 -07:00
Michael Stack e89baeaf93 HBASE-18266 Create static empty byte array to save memory (Ben Epstein) 2017-06-30 15:26:43 -07:00
Sean Busbey 3caeba0798 HBASE-15391 ADDENDUM Avoid too large "deleted from META" info log. 2017-06-30 09:15:44 -05:00
Michael Stack 4223c0c0ac HBASE-15391 Avoid too large "deleted from META" info log (Liu Shaohui) 2017-06-30 03:53:33 -07:00
Michael Stack 92f33ad076 Revert "HBASE-18229: create new Async Split API to embrace AM v2"
TestShell is failing.

This reverts commit 5be05e90d4.
2017-06-30 03:30:01 -07:00
Yi Liang 5be05e90d4 HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 16:20:18 -07:00
张世彬10204932 07c1e18a55 HBASE-17982 correct spelling error of 'occured'
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 15:09:49 -07:00
Xiang Li c4be91b2f0 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 14:59:30 -07:00
Guanghao Zhang 873b15ee31 HBASE-18234 Revisit the async admin api (addendum) 2017-06-27 10:42:08 +08:00
Guanghao Zhang 2d781aa15c HBASE-18234 Revisit the async admin api 2017-06-26 17:27:09 +08:00
Josh Elser 5b485d14cd HBASE-17752 Shell command to list snapshot sizes WRT quotas 2017-06-20 14:17:00 -04:00
Michael Stack dd1d81ef5a HBASE-18004 getRegionLocations needs to be called once in
ScannerCallableWithReplicas#call() (Huaxiang Sun)
2017-06-15 13:41:01 -07:00
Andrew Purtell 50e28d62a6 HBASE-18219 Fix typo in constant HConstants.HBASE_CLIENT_MEAT_REPLICA_SCAN_TIMEOUT 2017-06-14 16:02:38 -07:00
zhangduo ea64dbef7f HBASE-18199 Race in NettyRpcConnection may cause call stuck in BufferCallBeforeInitHandler forever 2017-06-10 19:12:06 +08:00
Josh Elser e5ea457054 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.
2017-06-09 18:43:18 -04:00
Yi Liang 112bff4ba0 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:24:28 -07:00
Chia-Ping Tsai 72cb7d97cc HBASE-18008 Any HColumnDescriptor we give out should be immutable 2017-06-08 23:26:08 +08:00
huzheng 0eeafa04f2 HBASE-17678 FilterList with MUST_PASS_ONE lead to redundancy cells returned - addendum
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-07 07:00:50 -07:00
Michael Stack 929c9dab14 HBASE-18181 Move master branch to version 3.0.0-SNAPSHOT post creation of branch-2 2017-06-06 22:04:39 -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