[hbase] branch HBASE-11288 updated (1fbb69a -> efc4990)

2020-11-06 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 1fbb69a  Renamed ClientMetaTableAccess to ClientCatalogAccessor
 add efc4990  added more RootCellComparator tests

No new revisions were added by this update.

Summary of changes:
 .../apache/hadoop/hbase/TestCellComparator.java| 198 +++--
 .../java/org/apache/hadoop/hbase/TestKeyValue.java |  59 +-
 2 files changed, 158 insertions(+), 99 deletions(-)



[hbase] branch HBASE-11288 updated (45ef0ca -> 1fbb69a)

2020-11-02 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


 discard 45ef0ca  Consolidated CatalogAccessor contents to MetaTableAccessor 
and made it a subclass of MetaTableAccessor. This should make it easier to 
review diffs
 discard 77d2016  removed KeyValue Root Comparator
 discard a7e3747  WIP for generalized split meta
 discard 25b7e84  Fixed basic split meta issues to get 
TestSplitMetaBasicOperations passing again
 discard 5b6e455  foward ported from branch-2 test mostly passing
 discard 89ad5b4  rebased and flattened split meta PoC
 add 4bbc772  HBASE-25173 Remove owner related methods in 
TableDescriptor/TableDescriptorBuilder (#2541)
 add 485da75  HBASE-25176 MasterStoppedException should be moved to 
hbase-client module (#2538)
 add 17f9ade  HBASE-25201 YouAreDeadException should be moved to 
hbase-server module (#2581)
 add 735689d  HBASE-25223 Use try-with-resources statement (#2592)
 add bb4a9d3  HBASE-25224 Maximize sleep for checking meta and namespace 
regions availability (#2593)
 add 259fe19  HBASE-24845 Git/Jira Release Audit: limit branches when 
building audit db (#2238)
 add 35b344c  HBASE-25090 CompactionConfiguration logs unrealistic store 
file sizes (#2595)
 add 12d0397  HBASE-24419 Normalizer merge plans should consider more than 
2 regions when possible
 add eee1cf7  HBASE-24200 Upgrade to Yetus 0.12.0
 add e3beccf  HBASE-24977 Meta table shouldn't be modified as read only 
(#2537)
 add d790bde  HBASE-25167 Normalizer support for hot config reloading 
(#2523)
 add 2315eab  rebased and flattened split meta PoC
 add d46e11a  foward ported from branch-2 test mostly passing
 add 4e4e2a6  Fixed basic split meta issues to get 
TestSplitMetaBasicOperations passing again
 add e2e8866  WIP for generalized split meta
 add 2cac7c1  removed KeyValue Root Comparator
 add ea8fc11  Consolidated CatalogAccessor contents to MetaTableAccessor 
and made it a subclass of MetaTableAccessor. This should make it easier to 
review diffs
 add aae0aad  addressed stack's comments
 add 1fbb69a  Renamed ClientMetaTableAccess to ClientCatalogAccessor

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (45ef0ca)
\
 N -- N -- N   refs/heads/HBASE-11288 (1fbb69a)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 dev-support/Jenkinsfile|   2 +-
 dev-support/Jenkinsfile_GitHub |   2 +-
 dev-support/create-release/do-release.sh   |   4 +-
 dev-support/create-release/hbase-rm/Dockerfile |   2 +-
 dev-support/git-jira-release-audit/README.md   |   9 +-
 .../git_jira_release_audit.py  |  11 +-
 dev-support/jenkins_precommit_jira_yetus.sh|   2 +-
 .../org/apache/hadoop/hbase/CatalogAccessor.java   |  45 +---
 .../org/apache/hadoop/hbase/MetaTableAccessor.java | 149 +++--
 .../master/SnapshotOfRegionAssignmentFromMeta.java |  13 +-
 .../apache/hadoop/hbase/CatalogFamilyFormat.java   |  20 +-
 ...bleAccessor.java => ClientCatalogAccessor.java} | 104 -
 java => NotAllMetaRegionsOnlineException.java} |   6 +-
 .../hbase/client/AsyncConnectionConfiguration.java |   6 +-
 .../hbase/client/AsyncNonRootRegionLocator.java|   2 +-
 .../hbase/client/AsyncRootRegionLocator.java   |   2 +-
 .../hbase/client/AsyncTableRegionLocatorImpl.java  |   8 +-
 .../hadoop/hbase/client/ConnectionRegistry.java|   4 +-
 .../apache/hadoop/hbase/client/MasterRegistry.java |  16 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java|  61 +++---
 .../hadoop/hbase/client/RegionInfoBuilder.java |   4 +-
 .../hadoop/hbase/client/TableDescriptor.java   |   7 -
 .../hbase/client/TableDescriptorBuilder.java   |  59 --
 .../hadoop/hbase/client/ZKConnectionRegistry.java  |   2 +-
 .../MasterStoppedException.java}   |  18 +-
 .../hbase/client/DoNothingConnectionRegistry.java  |   2 +-
 .../client/TestAsyncRootRegionLocatorFailFast.java |   2 +-
 .../org/apache/hadoop/hbase/CellComparator.java|   5 +
 .../apache/hadoop/hbase/CellComparatorImpl.java|  24 ---
 .../java/org/apache/hadoop/hbase/HConstants.java   |   6 +-
 .../hadoop/hbase/conf/ConfigurationManager.java|  27 

[hbase] branch HBASE-11288 updated (8e1d70e -> 45ef0ca)

2020-10-26 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


 discard 8e1d70e  WIP for generalized split meta
 discard 7d678f5  Fixed basic split meta issues to get 
TestSplitMetaBasicOperations passing again
 discard 71cc7f2  foward ported from branch-2 test mostly passing
 discard 5f68328  rebased and flattened split meta PoC
 add 90052cc  HBASE-25194 Do not publish workspace in flaky find job (#2564)
 add 7d00e43  HBASE-25166 MobFileCompactionChore is closing the master's 
shared cluster connection (#2514)
 add 28f2c17  HBASE-25204 Nightly job failed as the name of jdk and maven 
changed (#2567)
 add 200343c  HBASE-25203 Change the reference url to flaky list in our 
jenkins jobs (#2566)
 add 6c8f5f3  HBASE-25196 Add deprecation documentation to HConstants 
(#2559)
 add 1b58af1  HBASE-25198 Remove deprecated RpcSchedulerFactory#create 
(#2561)
 add 2cd5f91  HBASE-25197 Remove SingletonCoprocessorService interface 
(#2560)
 add 74df1e1  HBASE-25207 Revisit the implementation and usage of 
RegionStates.include (#2571)
 add d8de24c  HBASE-25128 RSGroupInfo's toString() and hashCode() does not 
take into account configuration map. (#2484)
 add 5e3ffb1  HBASE-25193: Add support for row prefix and type in the WAL 
Pretty Printer
 add 881c92b  HBASE-25206 Data loss can happen if a cloned table loses 
original split region(delete table) (#2569)
 add e5d4e2f  HBASE-25189 [Metrics] Add checkAndPut and checkAndDelete 
latency metrics at table level (#2549)
 add 164cc5a  HBASE-25215 TestClientOperationTimeout.testScanTimeout is 
flaky (#2583)
 add 89ad5b4  rebased and flattened split meta PoC
 add 5b6e455  foward ported from branch-2 test mostly passing
 add 25b7e84  Fixed basic split meta issues to get 
TestSplitMetaBasicOperations passing again
 add a7e3747  WIP for generalized split meta
 add 77d2016  removed KeyValue Root Comparator
 add 45ef0ca  Consolidated CatalogAccessor contents to MetaTableAccessor 
and made it a subclass of MetaTableAccessor. This should make it easier to 
review diffs

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (8e1d70e)
\
 N -- N -- N   refs/heads/HBASE-11288 (45ef0ca)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 dev-support/Jenkinsfile|6 +-
 dev-support/Jenkinsfile_GitHub |2 +-
 dev-support/adhoc_run_tests/Jenkinsfile|4 +-
 .../flaky-tests/flaky-reporting.Jenkinsfile|7 +-
 dev-support/flaky-tests/report-flakies.py  |   17 +-
 .../flaky-tests/run-flaky-tests.Jenkinsfile|6 +-
 dev-support/hbase-personality.sh   |2 +-
 .../org/apache/hadoop/hbase/CatalogAccessor.java   |  968 +-
 .../org/apache/hadoop/hbase/MetaTableAccessor.java | 1024 +++-
 .../hbase/client/AsyncNonRootRegionLocator.java|   20 +-
 .../java/org/apache/hadoop/hbase/HConstants.java   |4 +-
 .../java/org/apache/hadoop/hbase/KeyValue.java |   83 --
 .../apache/hadoop/hbase/rsgroup/RSGroupInfo.java   |4 +
 .../hbase/regionserver/MetricsTableLatencies.java  |   25 +
 .../regionserver/MetricsTableLatenciesImpl.java|   36 +
 .../coprocessor/SingletonCoprocessorService.java   |   37 -
 .../hadoop/hbase/io/hfile/FixedFileTrailer.java|8 -
 .../org/apache/hadoop/hbase/master/HMaster.java|2 +-
 .../hbase/master/assignment/AssignmentManager.java |   17 +-
 .../hbase/master/assignment/RegionStates.java  |   40 +-
 .../assignment/TransitRegionStateProcedure.java|1 +
 .../master/procedure/DeleteTableProcedure.java |3 +-
 .../master/procedure/EnableTableProcedure.java |4 +-
 .../hadoop/hbase/mob/MobFileCompactionChore.java   |5 +-
 .../store/region/WALProcedurePrettyPrinter.java|2 +-
 .../regionserver/FifoRpcSchedulerFactory.java  |6 -
 .../hbase/regionserver/MetricsRegionServer.java|   15 +-
 .../hadoop/hbase/regionserver/RSRpcServices.java   |   11 +-
 .../regionserver/RegionServerTableMetrics.java |   12 +
 .../hbase/regionserver/RpcSchedulerFactory.java|7 -
 .../regionserver/SimpleRpcSchedulerFactory.java|   10 -
 .../apache/hadoop/hbase/wal/WALPrettyPrinter.java  |

[hbase] branch HBASE-11288 updated (483d02c -> 8e1d70e)

2020-10-16 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


 discard 483d02c  fixed commons logging usage in new test
 discard 02dc1a2  WIP for generalized split meta
 discard 13dfd76  Fixed basic split meta issues to get 
TestSplitMetaBasicOperations passing again
 discard 9f20314  foward ported from branch-2 test mostly passing
 discard 6225269  rebased and flattened split meta PoC
 add 8828643  HBASE-25086 Refactor Replication: move the default 
ReplicationSinkService implementation out (#2444)
 add 687e53b  HBASE-24813 ReplicationSource should clear buffer usage on 
Replicatio… (#2191)
 add 4f8aa75  HBASE-25097 Wrong RIT page number in Master UI (#2458)
 add 4e59014  Add Zheng Wang to developers list. (#2457)
 add c86b065  HBASE-25085 Add support for java properties to hbase-vote.sh
 add 1093e34  HBASE-25088 
CatalogFamilyFormat/MetaTableAccessor.parseRegionInfoFromRegionName incorrectly 
setEndKey to regionId (#2448)
 add 380585e  HBASE-25098 ReplicationStatisticsChore runs in wrong time 
unit (#2460)
 add c312760  HBASE-25045 : Add 2.3.2 to the downloads page
 add b57bef5  HBASE-25077: hbck.jsp page loading fails, logs NPE in master 
log. (#2433)
 add 86557ed  HBASE-25096 WAL size in RegionServer UI is wrong (#2456)
 add 80ffac2  HBASE-25070 : With new generic API getLogEntries, cleaning up 
unused RPC APIs
 add fbef545  HBASE-25017 Migrate flaky reporting jenkins job from Hadoop 
to hbase (#2466)
 add 68b56be  HBASE-25100 conf and conn are assigned twice in 
HBaseReplicationEndpoint and HBaseInterClusterReplicationEndpoint (#2463)
 add 3aa612f  Revert "HBASE-25017 Migrate flaky reporting jenkins job from 
Hadoop to hbase (#2466)"
 add 9d6af96  HBASE-25107 Migrate flaky reporting jenkins job from Hadoop 
to hbase (#2466)
 add 5d92662  HBASE-24967 The table.jsp cost long time to load if the table 
include… (#2326)
 add b268b1f  HBASE-25103 Remove ZNodePaths.metaReplicaZNodes (#2464)
 add 9fc29c4  HBASE-24877 addendum: additional checks to avoid one extra 
possible race control in the initialize loop (#2400)
 add 0187607  HBASE-25109 Add MR Counters to WALPlayer; currently hard to 
tell if it is doing anything (#2468)
 add ee02e67  HBASE-25062 The link of "Re:(HBASE-451) Remove 
HTableDescriptor from HRegionInfo" invalid (#2455)
 add 1ce1cf6  HBASE-25132 Migrate flaky test jenkins job from Hadoop to 
hbase (#2485)
 add e663f09  HBASE-25133 Migrate HBase Nightly jenkins job from Hadoop to 
hbase (#2487)
 add 5351aca  HBASE-25134 Migrate HBase PreCommit jenkins job from Hadoop 
to hbase (#2488)
 add e9de7d9  HBASE-24981 Enable table replication fails from 1.x to 2.x if 
table already exist at peer
 add a0b3d62  HBASE-25135 Convert the internal seperator while emitting the 
memstore read metrics to # (#2486)
 add 11a336a  Revert "HBASE-25134 Migrate HBase PreCommit jenkins job from 
Hadoop to hbase (#2488)"
 add 3b91a15  HBASE-25091 Move LogComparator from ReplicationSource to 
AbstractFSWALProvider#.WALsStartTimeComparator (#2449)
 add 5e5166d  HBASE-25120 Remove the deprecated annotation for 
MetaTableAccessor.getScanForTableName (#2493)
 add b0170d0  HBASE-25080 Should not use AssignmentManager to test whether 
a table is enabled or not (#2436)
 add 3226c17  HBASE-25115 HFilePrettyPrinter can't seek to the row which is 
the first row of a hfile
 add a8096b3  HBASE-25048 [HBCK2] Bypassed parent procedures are not 
updated in store (#2410)
 add 23ce918  HBASE-25147 : Serialize regionNames in 
ReopenTableRegionsProcedure
 add 9ba90e1  HBASE-25121 Refactor MetaTableAccessor.addRegionsToMeta and 
its usage places (#2476)
 add 16251db  HBASE-25143 Remove branch-1.3 from precommit and docs (#2491)
 add 81f2cc5  HBASE-25154 Set java.io.tmpdir to project build directory to 
avoid writing std*deferred files to /tmp (#2502)
 add 9f238bd  HBASE-24054 To be safe, jetty's version number should be 
blocked.
 add 14b523e  HBASE-25146 Add extra logging at info level to 
HFileCorruptionChecker in order to report progress (#2503)
 add e885098  Revert "HBASE-24813 ReplicationSource should clear buffer 
usage on Replicatio… (#2191)"
 add a8c49a6  HBASE-25144 Add Hadoop-3.3.0 to personality hadoopcheck 
(#2492)
 add 3537f91  HBASE-23742 Document that with split-to-hfile data over the 
MOB threshold will be treated as normal data (#2505)
 add 2fc79e2  HBASE-23959 Fix javadoc for JDK11 (#2500)
 add aff8bbf  HBASE-25160 Refactor AccessController and 
VisibilityController (#2506)
 add 0d63318  HBASE-25124 Support changing region replica count without 
disabling table (#2497)
 add 8a995ae  HBASE-25165 Change 'State time' in UI so sorts (#2508)
 add bdcafa8  HBASE-24025: Improve performance of mov

[hbase] branch HBASE-11288 updated (02dc1a2 -> 483d02c)

2020-10-07 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 02dc1a2  WIP for generalized split meta
 add 483d02c  fixed commons logging usage in new test

No new revisions were added by this update.

Summary of changes:
 .../hadoop/hbase/master/TestSplitMetaAssignmentOperations.java | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)



[hbase] branch HBASE-11288 updated (9f20314 -> 02dc1a2)

2020-10-07 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 9f20314  foward ported from branch-2 test mostly passing
 add 13dfd76  Fixed basic split meta issues to get 
TestSplitMetaBasicOperations passing again
 add 02dc1a2  WIP for generalized split meta

No new revisions were added by this update.

Summary of changes:
 .../org/apache/hadoop/hbase/CatalogAccessor.java   |   6 +-
 .../hadoop/hbase/ClientMetaTableAccessor.java  |   3 +
 .../hadoop/hbase/client/MutableRegionInfo.java |  23 +-
 .../org/apache/hadoop/hbase/client/RegionInfo.java |  20 +-
 .../org/apache/hadoop/hbase/CellComparator.java|  26 ++
 .../apache/hadoop/hbase/MetaCellComparator.java|   3 +-
 .../apache/hadoop/hbase/RootCellComparator.java|   5 +-
 .../org/apache/hadoop/hbase/master/HMaster.java|  10 -
 .../hbase/master/assignment/AssignmentManager.java | 129 +++---
 .../assignment/MergeTableRegionsProcedure.java |   5 +-
 .../hbase/master/assignment/RegionStateStore.java  |   8 +-
 .../hbase/master/janitor/CatalogJanitor.java   |   9 +-
 .../master/procedure/ServerCrashProcedure.java |  12 +-
 .../hadoop/hbase/regionserver/HRegionServer.java   |  10 +-
 .../java/org/apache/hadoop/hbase/util/FSUtils.java |   8 +-
 .../hbase/client/TestSplitMetaBasicOperations.java | 115 +++---
 .../master/TestSplitMetaAssignmentOperations.java  | 432 +
 17 files changed, 670 insertions(+), 154 deletions(-)
 create mode 100644 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitMetaAssignmentOperations.java



[hbase] branch HBASE-11288 updated (1a59469 -> 9f20314)

2020-09-24 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


 discard 1a59469  foward ported from branch-2 test mostly passing
 discard 6c28aae  rebased and flattened split meta PoC
 add a589e55  HBASE-24992 log after Generator success when running ITBLL 
(#2358)
 add d48c732  HBASE-24602 Add Increment and Append support to 
CheckAndMutate (#2228)
 add 0d95a8f  HBASE-24979 : Client operation timeout test for batch requests
 add 2250b51  HBASE-24995: MetaFixer fails to fix overlaps when multiple 
tables have overlaps (#2361)
 add 2e638de  HBASE-24994 Add hedgedReadOpsInCurThread metric (#2365)
 add 2e96a5b  HBASE-24993 Remove OfflineMetaRebuildTestCore (#2359)
 add 0511089  HBASE-25000 Move delete region info related methods to 
RegionStateStore (#2366)
 add 84a34be  HBASE-24974: Provide a flexibility to print only row key and 
filter for multiple tables in the WALPrettyPrinter (#2345)
 add 23713f4  HBASE-25005 Refactor CatalogJanitor (#2373)
 add f36c55c  HBASE-24990 Fix empty value of properties 
'hbase.replication.source.maxthreads' in hbase-thrift module (#2356)
 add bc15b61  HBASE-24776 [hbtop] Support Batch mode (#2291)
 add ce59a2b  HBASE-25004 : Log RegionTooBusyException details (#2371)
 add bbfbe33  HBASE-24958 CompactingMemStore.timeOfOldestEdit error update 
(#2321)
 add 9c5dbb2  HBASE-24764: Add support of adding default peer configs via 
hbase-site.xml for all replication peers. (#2284)
 add 3c00ff5  HBASE-23643 Add document for "HBASE-23065 [hbtop] Top-N heavy 
hitter user and client drill downs" (#2381)
 add e5ca9ad  HBASE-25008 Add document for "HBASE-24776 [hbtop] Support 
Batch mode" (#2382)
 add fe77630  HBASE-25006 Make the cost functions optional for 
StochastoicBalancer
 add a393fc5  HBASE-25016 Should close ResultScanner in 
MetaTableAccessor.scanByRegionEncodedName
 add 0f00e1c  HBASE-25018 EOM cleanup (#2391)
 add dcba493  HBASE-25016 addendum: should also close the Table which is 
returned by calling getMetaHTable
 add 2042523  HBASE-24877 Add option to avoid aborting RS process upon 
uncaught exc… (#2255)
 add 724a0e5  HBASE-25022 Remove 'hbase.testing.nocluster' config (#2394)
 add a3f4028  HBASE-25002 Create simple pattern matching query for 
retrieving metri… (#2370)
 add 325317f  HBASE-24831 : Addendum for source compatibility
 add ca96f96  HBASE-25014 ScheduledChore is never triggered when 
initalDelay > 1.5*period (#2395)
 add 6d985dd  HBASE-25009: Hbck chore logs wrong message when loading 
regions from RS (#2379)
 add c5ca191  HBASE-24875 Remove the force param for unassign since it dose 
not take effect any more (#2254)
 add a918bf0  HBASE-25012 HBASE-24359 causes replication missed log of some 
RemoteException (#2384)
 add bfdc96e  HBASE-25035 Add 2.2.6 to download page (#2405)
 add 1bb19e0  HBASE-25037 Lots of thread pool are changed to non daemon 
after HBASE-24750 which causes trouble when shutting down (#2407)
 add 35d59dc  HBASE-24528 : BalancerDecision queue implementation in 
HMaster with Admin API
 add b3dfc8f  HBASE-25021 Nightly job should skip hadoop-2 integration test 
for master (#2409)
 add 9fc586a  HBASE-25047 WAL split edits number is negative in 
RegionServerUI (#2408)
 add e386ec5  HBASE-25054 Do not add non shaded protobuf as dependency in 
TableMapReduceUtil for master (#2412)
 add 5e12c0a  HBASE-25061 Update default URL to KEYS file in 
`hbase-vote.sh` (#2416)
 add 16831ec  HBASE-24857:Fix several problems when starting webUI (#2245)
 add 6371914  HBASE-25057: Fix typo memeber (#2414)
 add 58618e3  HBASE-24991 Replace MovedRegionsCleaner with guava cache 
(#2357)
 add 4c9a92d  HBASE-24481 REST - Fix incorrect response code of get-regions 
in rest api
 add fd7260b  HBASE-25069: Display region name instead of encoded region 
name in HBCK report page. (#2428)
 add 0956c34  HBASE-25066 Use FutureUtils.rethrow in 
AsyncTableResultScanner to better catch the stack trace (#2420)
 add 3e13b3f  HBASE-24896 'Stuck' in static initialization creating 
RegionInfo instance
 add d41eb4f  HBASE-24896 : Jira number correction in comment (ADDENDUM)
 add b5adfe1  HBASE-25072 Remove the unnecessary System.out.println in 
MasterRegistry (#2429)
 add 8efd250  HBASE-24976 Printing the swallowed exception
 add 8c11007  Revert "HBASE-24976 Printing the swallowed exception"
 add 7731856  HBASE-24976 REST Server failes to start without any error 
message
 add 36e8b0b  HBASE-25075 Fix typo in ReplicationProtobufUtil (#2431)
 add 8a6299b  HBASE-25076 fix typo in MasterRegion java doc (#2432)
 add d1a3b66  HBASE-25081 Up the container nproc uplimit to 3 (#2439)
 add 70a947d  HBASE-25067 Edit of log messages around async W

[hbase] 01/01: foward ported from branch-2 test mostly passing

2020-09-23 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.rebase4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 1a59469f29f68a6e07036d0f19e3e5b90582b955
Author: Francis Liu 
AuthorDate: Tue Sep 22 02:57:50 2020 -0700

foward ported from branch-2 test mostly passing
---
 .../org/apache/hadoop/hbase/CatalogAccessor.java   |  8 ++-
 .../hbase/favored/FavoredNodeAssignmentHelper.java |  2 +-
 .../hadoop/hbase/client/AsyncClientScanner.java|  4 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java| 54 -
 .../hbase/client/TableDescriptorBuilder.java   |  9 ++-
 .../java/org/apache/hadoop/hbase/HConstants.java   |  2 +-
 .../coordination/ZkSplitLogWorkerCoordination.java | 20 +--
 .../hadoop/hbase/ipc/SimpleRpcScheduler.java   | 33 +--
 .../org/apache/hadoop/hbase/master/HMaster.java| 36 +---
 .../MasterAnnotationReadingPriorityFunction.java   | 11 ++--
 .../hadoop/hbase/master/MasterRpcServices.java |  1 +
 .../hadoop/hbase/master/RegionsRecoveryChore.java  |  2 +-
 .../hadoop/hbase/master/TableStateManager.java |  2 +-
 .../hbase/master/assignment/AssignmentManager.java | 53 +++--
 .../hbase/master/balancer/SimpleLoadBalancer.java  |  2 +-
 .../master/procedure/MasterProcedureUtil.java  |  4 +-
 .../master/procedure/ModifyTableProcedure.java |  6 +-
 .../master/procedure/ServerCrashProcedure.java | 16 ++---
 .../flush/MasterFlushTableProcedureManager.java|  2 +-
 .../apache/hadoop/hbase/regionserver/HRegion.java  |  7 ++-
 .../hadoop/hbase/regionserver/HRegionServer.java   | 40 +
 .../hadoop/hbase/regionserver/MemStoreFlusher.java |  3 +-
 .../hadoop/hbase/regionserver/RSRpcServices.java   |  8 +--
 .../hbase/regionserver/RegionSplitPolicy.java  |  3 +-
 .../regionserver/StorefileRefresherChore.java  |  3 +-
 ...{OpenRootHandler.java => CloseRootHandler.java} | 18 +++---
 .../regionserver/handler/OpenRootHandler.java  |  4 +-
 .../handler/UnassignRegionHandler.java |  5 +-
 .../hbase/security/access/AccessChecker.java   |  4 +-
 .../hadoop/hbase/TestClientClusterMetrics.java | 32 +-
 .../org/apache/hadoop/hbase/TestNamespace.java |  3 +-
 .../hbase/client/MetaWithReplicasTestBase.java |  9 +--
 .../hbase/client/RegionReplicaTestHelper.java  |  2 +-
 .../client/TestAsyncAdminWithRegionReplicas.java   | 13 -
 .../hbase/client/TestMetaRegionLocationCache.java  |  1 +
 .../client/TestMetaReplicasAddressChange.java  |  2 +-
 .../TestMetaWithReplicasShutdownHandling.java  |  7 ++-
 .../hadoop/hbase/master/AbstractTestDLS.java   |  6 +-
 .../hbase/master/TestAssignmentManagerMetrics.java |  2 +-
 .../hadoop/hbase/master/TestMasterMetrics.java |  2 +-
 .../TestMasterRestartAfterDisablingTable.java  |  4 +-
 .../hbase/master/TestMetaShutdownHandler.java  |  2 +
 .../hadoop/hbase/master/TestRollingRestart.java|  4 +-
 ...wnHandler.java => TestRootShutdownHandler.java} | 68 ++
 .../master/assignment/AssignmentTestingUtil.java   | 14 +
 ...tReportRegionStateTransitionFromDeadServer.java |  3 +-
 .../procedure/MasterProcedureTestingUtility.java   |  2 +-
 .../hadoop/hbase/master/procedure/TestSCP.java |  2 +-
 .../hadoop/hbase/master/procedure/TestSCPBase.java | 31 --
 .../hbase/master/procedure/TestSCPWithMeta.java|  9 ++-
 .../procedure/TestSCPWithReplicasWithRSGroup.java  |  2 +-
 .../hbase/master/procedure/TestSCPWithoutMeta.java |  2 +-
 .../regionserver/TestRegionServerMetrics.java  |  4 +-
 ...syncFSWALCorruptionDueToDanglingByteBuffer.java |  4 +-
 ...estFSHLogCorruptionDueToDanglingByteBuffer.java |  3 +-
 55 files changed, 377 insertions(+), 218 deletions(-)

diff --git 
a/hbase-balancer/src/main/java/org/apache/hadoop/hbase/CatalogAccessor.java 
b/hbase-balancer/src/main/java/org/apache/hadoop/hbase/CatalogAccessor.java
index 6dc0a32..61c66b0 100644
--- a/hbase-balancer/src/main/java/org/apache/hadoop/hbase/CatalogAccessor.java
+++ b/hbase-balancer/src/main/java/org/apache/hadoop/hbase/CatalogAccessor.java
@@ -419,7 +419,7 @@ public class CatalogAccessor {
 final boolean excludeOfflinedSplitParents) throws IOException {
 if (tableName != null && tableName.equals(TableName.ROOT_TABLE_NAME)) {
   throw new IOException(
-"This method can't be used to locate meta regions; use 
RootTableLocator instead");
+"This method can't be used to locate root regions; use 
RootTableLocator instead");
 }
 // Make a version of CollectingVisitor that collects RegionInfo and 
ServerAddress
 ClientMetaTableAccessor.CollectRegionLocationsVisitor visitor =
@@ -427,7 +427,7 @@ public class CatalogAccessor {
 byte[] startRow = 
ClientMetaTableAccessor.getTableStartRowForMeta(tableName, QueryType.REGION);
 byte[] stopRow = ClientMetaTableAccesso

[hbase] branch HBASE-11288 updated (6c28aae -> 1a59469)

2020-09-23 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 6c28aae  rebased and flattened split meta PoC
 add 1a59469  foward ported from branch-2 test mostly passing

No new revisions were added by this update.

Summary of changes:
 .../org/apache/hadoop/hbase/CatalogAccessor.java   |  8 ++-
 .../hbase/favored/FavoredNodeAssignmentHelper.java |  2 +-
 .../hadoop/hbase/client/AsyncClientScanner.java|  4 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java| 54 -
 .../hbase/client/TableDescriptorBuilder.java   |  9 ++-
 .../java/org/apache/hadoop/hbase/HConstants.java   |  2 +-
 .../coordination/ZkSplitLogWorkerCoordination.java | 20 +--
 .../hadoop/hbase/ipc/SimpleRpcScheduler.java   | 33 +--
 .../org/apache/hadoop/hbase/master/HMaster.java| 36 +---
 .../MasterAnnotationReadingPriorityFunction.java   | 11 ++--
 .../hadoop/hbase/master/MasterRpcServices.java |  1 +
 .../hadoop/hbase/master/RegionsRecoveryChore.java  |  2 +-
 .../hadoop/hbase/master/TableStateManager.java |  2 +-
 .../hbase/master/assignment/AssignmentManager.java | 53 +++--
 .../hbase/master/balancer/SimpleLoadBalancer.java  |  2 +-
 .../master/procedure/MasterProcedureUtil.java  |  4 +-
 .../master/procedure/ModifyTableProcedure.java |  6 +-
 .../master/procedure/ServerCrashProcedure.java | 16 ++---
 .../flush/MasterFlushTableProcedureManager.java|  2 +-
 .../apache/hadoop/hbase/regionserver/HRegion.java  |  7 ++-
 .../hadoop/hbase/regionserver/HRegionServer.java   | 40 +
 .../hadoop/hbase/regionserver/MemStoreFlusher.java |  3 +-
 .../hadoop/hbase/regionserver/RSRpcServices.java   |  8 +--
 .../hbase/regionserver/RegionSplitPolicy.java  |  3 +-
 .../regionserver/StorefileRefresherChore.java  |  3 +-
 ...CloseMetaHandler.java => CloseRootHandler.java} | 12 ++--
 .../regionserver/handler/OpenRootHandler.java  |  4 +-
 .../handler/UnassignRegionHandler.java |  5 +-
 .../hbase/security/access/AccessChecker.java   |  4 +-
 .../hadoop/hbase/TestClientClusterMetrics.java | 32 +-
 .../org/apache/hadoop/hbase/TestNamespace.java |  3 +-
 .../hbase/client/MetaWithReplicasTestBase.java |  9 +--
 .../hbase/client/RegionReplicaTestHelper.java  |  2 +-
 .../client/TestAsyncAdminWithRegionReplicas.java   | 13 -
 .../hbase/client/TestMetaRegionLocationCache.java  |  1 +
 .../client/TestMetaReplicasAddressChange.java  |  2 +-
 .../TestMetaWithReplicasShutdownHandling.java  |  7 ++-
 .../hadoop/hbase/master/AbstractTestDLS.java   |  6 +-
 .../hbase/master/TestAssignmentManagerMetrics.java |  2 +-
 .../hadoop/hbase/master/TestMasterMetrics.java |  2 +-
 .../TestMasterRestartAfterDisablingTable.java  |  4 +-
 .../hbase/master/TestMetaShutdownHandler.java  |  2 +
 .../hadoop/hbase/master/TestRollingRestart.java|  4 +-
 ...wnHandler.java => TestRootShutdownHandler.java} | 68 ++
 .../master/assignment/AssignmentTestingUtil.java   | 14 +
 ...tReportRegionStateTransitionFromDeadServer.java |  3 +-
 .../procedure/MasterProcedureTestingUtility.java   |  2 +-
 .../hadoop/hbase/master/procedure/TestSCP.java |  2 +-
 .../hadoop/hbase/master/procedure/TestSCPBase.java | 31 --
 .../hbase/master/procedure/TestSCPWithMeta.java|  9 ++-
 .../procedure/TestSCPWithReplicasWithRSGroup.java  |  2 +-
 .../hbase/master/procedure/TestSCPWithoutMeta.java |  2 +-
 .../regionserver/TestRegionServerMetrics.java  |  4 +-
 ...syncFSWALCorruptionDueToDanglingByteBuffer.java |  4 +-
 ...estFSHLogCorruptionDueToDanglingByteBuffer.java |  3 +-
 55 files changed, 374 insertions(+), 215 deletions(-)
 copy 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/{CloseMetaHandler.java
 => CloseRootHandler.java} (82%)
 copy 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/{TestMetaShutdownHandler.java
 => TestRootShutdownHandler.java} (70%)



[hbase] branch HBASE-11288.rebase4 created (now 1a59469)

2020-09-23 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288.rebase4
in repository https://gitbox.apache.org/repos/asf/hbase.git.


  at 1a59469  foward ported from branch-2 test mostly passing

This branch includes the following new commits:

 new 1a59469  foward ported from branch-2 test mostly passing

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[hbase] 03/04: made reportRegionStateTransition retry delays a bit smarter

2020-08-09 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit c09fb1cf51207926621d71d4ca5d5d875af7778a
Author: Francis Liu 
AuthorDate: Sat Aug 8 14:31:41 2020 -0700

made reportRegionStateTransition retry delays a bit smarter
---
 .../java/org/apache/hadoop/hbase/regionserver/HRegionServer.java| 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index 64deba5..af5c487 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -2385,6 +2385,7 @@ public class HRegionServer extends Thread implements
 // Time to pause if master says 'please hold'. Make configurable if needed.
 final long initPauseTime = 1000;
 int tries = 0;
+int pausedTries = 0;
 long pauseTime;
 // Keep looping till we get an error. We want to send reports even though 
server is going down.
 // Only go down if clusterConnection is null. It is set to null almost as 
last thing as the
@@ -2416,12 +2417,15 @@ public class HRegionServer extends Thread implements
 || ioe instanceof CallQueueTooBigException;
 if (pause) {
   // Do backoff else we flood the Master with requests.
-  pauseTime = ConnectionUtils.getPauseTime(initPauseTime, tries);
+  pauseTime = ConnectionUtils.getPauseTime(initPauseTime, pausedTries);
+  pausedTries++;
 } else {
   pauseTime = initPauseTime; // Reset.
+  pausedTries = 0;
 }
 LOG.info("Failed report transition " +
   TextFormat.shortDebugString(request) + "; retry (#" + tries + ")" +
+"; paused retry (#" + pausedTries + ")" +
 (pause?
 " after " + pauseTime + "ms delay (Master is coming 
online...).":
 " immediately."),



[hbase] 04/04: added root priority and executor on master

2020-08-09 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 075bea4d8fa4d7c2c3465811a0b50841a6534fb3
Author: Francis Liu 
AuthorDate: Sun Aug 9 15:20:10 2020 -0700

added root priority and executor on master
---
 .../hadoop/hbase/ipc/SimpleRpcScheduler.java   | 33 +++---
 .../MasterAnnotationReadingPriorityFunction.java   | 11 +---
 2 files changed, 36 insertions(+), 8 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java
index 0c3e6c2..b424099 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java
@@ -43,6 +43,11 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
   private final RpcExecutor replicationExecutor;
 
   /**
+   * Executor for root region only.
+   */
+  private final RpcExecutor rootTransitionExecutor;
+
+  /**
* This executor is only for meta transition
*/
   private final RpcExecutor metaTransitionExecutor;
@@ -122,6 +127,9 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
 RpcExecutor.CALL_QUEUE_TYPE_FIFO_CONF_VALUE, 
maxPriorityQueueLength, priority, conf,
 abortable) :
 null;
+this.rootTransitionExecutor = new 
FastPathBalancedQueueRpcExecutor("rootPriority.FPBQ", 1,
+RpcExecutor.CALL_QUEUE_TYPE_FIFO_CONF_VALUE, maxPriorityQueueLength, 
priority, conf,
+abortable);
   }
 
   public SimpleRpcScheduler(Configuration conf, int handlerCount, int 
priorityHandlerCount,
@@ -143,6 +151,9 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
 if (replicationExecutor != null) {
   replicationExecutor.resizeQueues(conf);
 }
+if (rootTransitionExecutor != null) {
+  rootTransitionExecutor.resizeQueues(conf);
+}
 if (metaTransitionExecutor != null) {
   metaTransitionExecutor.resizeQueues(conf);
 }
@@ -168,10 +179,12 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
 if (replicationExecutor != null) {
   replicationExecutor.start(port);
 }
+if (rootTransitionExecutor != null) {
+  rootTransitionExecutor.start(port);
+}
 if (metaTransitionExecutor != null) {
   metaTransitionExecutor.start(port);
 }
-
   }
 
   @Override
@@ -186,7 +199,9 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
 if (metaTransitionExecutor != null) {
   metaTransitionExecutor.stop();
 }
-
+if (rootTransitionExecutor != null) {
+  rootTransitionExecutor.stop();
+}
   }
 
   @Override
@@ -197,7 +212,10 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
 if (level == HConstants.PRIORITY_UNSET) {
   level = HConstants.NORMAL_QOS;
 }
-if (metaTransitionExecutor != null &&
+if (rootTransitionExecutor != null &&
+  level == MasterAnnotationReadingPriorityFunction.ROOT_TRANSITION_QOS) {
+  return rootTransitionExecutor.dispatch(callTask);
+} else if (metaTransitionExecutor != null &&
   level == MasterAnnotationReadingPriorityFunction.META_TRANSITION_QOS) {
   return metaTransitionExecutor.dispatch(callTask);
 } else if (priorityExecutor != null && level > highPriorityLevel) {
@@ -208,7 +226,7 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
   return callExecutor.dispatch(callTask);
 }
   }
-
+  
   @Override
   public int getMetaPriorityQueueLength() {
 return metaTransitionExecutor == null ? 0 : 
metaTransitionExecutor.getQueueLength();
@@ -326,6 +344,13 @@ public class SimpleRpcScheduler extends RpcScheduler 
implements ConfigurationObs
   callQueueInfo.setCallMethodSize(queueName, 
metaTransitionExecutor.getCallQueueSizeSummary());
 }
 
+if (null != rootTransitionExecutor) {
+  queueName = "ROOT Transition Queue";
+  callQueueInfo.setCallMethodCount(queueName,
+rootTransitionExecutor.getCallQueueCountsSummary());
+  callQueueInfo.setCallMethodSize(queueName, 
rootTransitionExecutor.getCallQueueSizeSummary());
+}
+
 return callQueueInfo;
   }
 
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java
index 87f345e..3a6cb5b 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterAnnotati

[hbase] 01/04: Some extra fixes as precaution

2020-08-09 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 87e2bb70b680f13e2eddb402f3ed98eeef2cfcb5
Author: Francis Liu 
AuthorDate: Fri Aug 7 02:09:51 2020 -0700

Some extra fixes as precaution
---
 .../org/apache/hadoop/hbase/HTableDescriptor.java  |  6 +++-
 .../hadoop/hbase/client/AsyncClientScanner.java|  4 +--
 .../hbase/client/ConnectionImplementation.java |  8 -
 .../org/apache/hadoop/hbase/client/HBaseAdmin.java |  4 ++-
 .../apache/hadoop/hbase/client/MasterCallable.java |  8 +
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java|  8 ++---
 .../hadoop/hbase/client/TableDescriptor.java   | 14 +
 .../hbase/client/TableDescriptorBuilder.java   | 21 +
 .../hbase/snapshot/TestSecureExportSnapshot.java   |  2 +-
 .../hadoop/hbase/master/RegionsRecoveryChore.java  |  2 +-
 .../hadoop/hbase/master/SplitWALManager.java   |  2 +-
 .../hadoop/hbase/master/TableStateManager.java |  2 +-
 .../hbase/master/assignment/AssignmentManager.java |  9 ++
 .../hbase/master/balancer/SimpleLoadBalancer.java  |  2 +-
 .../master/procedure/MasterProcedureUtil.java  |  4 ++-
 .../master/procedure/ServerCrashProcedure.java |  6 +++-
 .../apache/hadoop/hbase/regionserver/HRegion.java  | 12 +---
 .../hadoop/hbase/regionserver/HRegionServer.java   | 34 +-
 .../apache/hadoop/hbase/regionserver/HStore.java   |  2 +-
 .../hadoop/hbase/regionserver/MemStoreFlusher.java |  3 +-
 .../hadoop/hbase/regionserver/RSRpcServices.java   |  8 ++---
 .../hbase/regionserver/RegionSplitPolicy.java  |  4 ++-
 .../regionserver/StorefileRefresherChore.java  |  3 +-
 .../wal/BoundedRecoveredHFilesOutputSink.java  |  2 +-
 24 files changed, 128 insertions(+), 42 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
index 77d2b47..3f30af3 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
@@ -131,7 +131,11 @@ public class HTableDescriptor implements TableDescriptor, 
Comparable locateRegions(TableName tableName, boolean 
useCache,
   boolean offlined) throws IOException {
 List regions;
-if (TableName.isMetaTableName(tableName)) {
+if (TableName.isRootTableName(tableName)) {
+  regions = Collections.singletonList(RegionInfoBuilder.ROOT_REGIONINFO);
+} else  if (TableName.isMetaTableName(tableName)) {
   regions = 
Collections.singletonList(RegionInfoBuilder.FIRST_META_REGIONINFO);
 } else {
   regions = MetaTableAccessor.getTableRegions(this, tableName, !offlined);
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
index 4b1a738..c06d275 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
@@ -424,7 +424,9 @@ public class HBaseAdmin implements Admin {
 
   @Override
   public List getRegions(TableName tableName) throws IOException {
-if (TableName.isMetaTableName(tableName)) {
+if (TableName.isRootTableName(tableName)) {
+  return Arrays.asList(RegionInfoBuilder.ROOT_REGIONINFO);
+} else if (TableName.isMetaTableName(tableName)) {
   return Arrays.asList(RegionInfoBuilder.FIRST_META_REGIONINFO);
 } else {
   return MetaTableAccessor.getTableRegions(connection, tableName, true);
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MasterCallable.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MasterCallable.java
index 7ae9731..1089573 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MasterCallable.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MasterCallable.java
@@ -132,11 +132,19 @@ abstract class MasterCallable implements 
RetryingCallable, Closeable {
* @param regionName RegionName. If hbase:meta, we'll set high priority.
*/
   void setPriority(final byte[] regionName) {
+if (isRootRegion(regionName)) {
+  setPriority(TableName.ROOT_TABLE_NAME);
+}
 if (isMetaRegion(regionName)) {
   setPriority(TableName.META_TABLE_NAME);
 }
   }
 
+  private static boolean isRootRegion(final byte[] regionName) {
+return Bytes.equals(regionName, 
RegionInfoBuilder.ROOT_REGIONINFO.getRegionName()) ||
+  Bytes.equals(regionName, 
RegionInfoBuilder.ROOT_REGIONINFO.getEncodedNameAsBytes());
+  }
+
   private static boolean isMetaRegion(final byte[] regionName) {
 return Bytes.equals(regionName, 
RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName()) ||
   Bytes.equals(regionName

[hbase] 02/04: missing states requirining waiting for root loaded

2020-08-09 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit deeb817a47d86b3a8de82c88dbcc4ebc867cb46a
Author: Francis Liu 
AuthorDate: Sat Aug 8 00:42:56 2020 -0700

missing states requirining waiting for root loaded
---
 .../hadoop/hbase/master/procedure/ServerCrashProcedure.java| 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
index 5393fd0..8e231ad 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
@@ -145,7 +145,11 @@ public class ServerCrashProcedure
   case SERVER_CRASH_ASSIGN_ROOT:
 break;
 
+  //Don't block hbase:meta processing states on hbase:meta being loaded
   case SERVER_CRASH_CHECK_CARRYING_META:
+  case SERVER_CRASH_SPLIT_META_LOGS:
+  case SERVER_CRASH_DELETE_SPLIT_META_WALS_DIR:
+  case SERVER_CRASH_ASSIGN_META:
 // If hbase:root is not loaded, we can't do the check so yield
 if (env.getAssignmentManager().waitRootLoaded(this)) {
   LOG.info("pid="+getProcId()+", waiting for root loaded: "+state+
@@ -154,12 +158,6 @@ public class ServerCrashProcedure
 }
 break;
 
-  //Don't block hbase:meta processing states on hbase:meta being loaded
-  case SERVER_CRASH_SPLIT_META_LOGS:
-  case SERVER_CRASH_DELETE_SPLIT_META_WALS_DIR:
-  case SERVER_CRASH_ASSIGN_META:
-break;
-
   default:
 // If hbase:meta is not assigned, yield.
 if (env.getAssignmentManager().waitMetaLoaded(this)) {



[hbase] branch HBASE-11288.branch-2 updated (1bd3e1a -> 075bea4)

2020-08-09 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 1bd3e1a  fixed TestAssignmentManagerMetrics
 new 87e2bb7  Some extra fixes as precaution
 new deeb817  missing states requirining waiting for root loaded
 new c09fb1c  made reportRegionStateTransition retry delays a bit smarter
 new 075bea4  added root priority and executor on master

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/hadoop/hbase/HTableDescriptor.java  |  6 +++-
 .../hadoop/hbase/client/AsyncClientScanner.java|  4 +--
 .../hbase/client/ConnectionImplementation.java |  8 -
 .../org/apache/hadoop/hbase/client/HBaseAdmin.java |  4 ++-
 .../apache/hadoop/hbase/client/MasterCallable.java |  8 +
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java|  8 ++---
 .../hadoop/hbase/client/TableDescriptor.java   | 14 
 .../hbase/client/TableDescriptorBuilder.java   | 21 
 .../hbase/snapshot/TestSecureExportSnapshot.java   |  2 +-
 .../hadoop/hbase/ipc/SimpleRpcScheduler.java   | 33 +++---
 .../MasterAnnotationReadingPriorityFunction.java   | 11 +++---
 .../hadoop/hbase/master/RegionsRecoveryChore.java  |  2 +-
 .../hadoop/hbase/master/SplitWALManager.java   |  2 +-
 .../hadoop/hbase/master/TableStateManager.java |  2 +-
 .../hbase/master/assignment/AssignmentManager.java |  9 +
 .../hbase/master/balancer/SimpleLoadBalancer.java  |  2 +-
 .../master/procedure/MasterProcedureUtil.java  |  4 ++-
 .../master/procedure/ServerCrashProcedure.java | 16 +
 .../apache/hadoop/hbase/regionserver/HRegion.java  | 12 ---
 .../hadoop/hbase/regionserver/HRegionServer.java   | 40 ++
 .../apache/hadoop/hbase/regionserver/HStore.java   |  2 +-
 .../hadoop/hbase/regionserver/MemStoreFlusher.java |  3 +-
 .../hadoop/hbase/regionserver/RSRpcServices.java   |  8 ++---
 .../hbase/regionserver/RegionSplitPolicy.java  |  4 ++-
 .../regionserver/StorefileRefresherChore.java  |  3 +-
 .../wal/BoundedRecoveredHFilesOutputSink.java  |  2 +-
 26 files changed, 173 insertions(+), 57 deletions(-)



[hbase] 08/09: disabled hanging test TestSecureExportSnapshot

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 2ebfe86cebb86580b6a7f16df577eb5caf89a279
Author: Francis Liu 
AuthorDate: Tue Aug 4 16:33:21 2020 -0700

disabled hanging test TestSecureExportSnapshot
---
 .../java/org/apache/hadoop/hbase/snapshot/TestSecureExportSnapshot.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestSecureExportSnapshot.java
 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestSecureExportSnapshot.java
index ce1c4cb..133934d 100644
--- 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestSecureExportSnapshot.java
+++ 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestSecureExportSnapshot.java
@@ -26,11 +26,13 @@ import 
org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
+import org.junit.Ignore;
 import org.junit.experimental.categories.Category;
 
 /**
  * Reruns TestExportSnapshot using ExportSnapshot in secure mode.
  */
+@Ignore
 @Category({VerySlowRegionServerTests.class, LargeTests.class})
 public class TestSecureExportSnapshot extends TestExportSnapshot {
 



[hbase] 07/09: marked some failing tests as ignored for now

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 3e03dc695914e9ea4f6b1668326387dbd1b04463
Author: Francis Liu 
AuthorDate: Tue Aug 4 03:28:09 2020 -0700

marked some failing tests as ignored for now
---
 .../hadoop/hbase/replication/TestVerifyReplicationCrossDiffHdfs.java  | 4 +++-
 .../org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java | 3 +++
 .../test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java | 4 +++-
 .../org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.java | 4 +++-
 .../hadoop/hbase/client/TestMetaWithReplicasShutdownHandling.java | 4 +++-
 .../apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java   | 3 +++
 .../hadoop/hbase/replication/TestReplicationStatusAfterLagging.java   | 4 +++-
 .../java/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.java   | 3 +++
 8 files changed, 24 insertions(+), 5 deletions(-)

diff --git 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/replication/TestVerifyReplicationCrossDiffHdfs.java
 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/replication/TestVerifyReplicationCrossDiffHdfs.java
index 639f686..7d5f803 100644
--- 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/replication/TestVerifyReplicationCrossDiffHdfs.java
+++ 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/replication/TestVerifyReplicationCrossDiffHdfs.java
@@ -51,6 +51,7 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
@@ -58,7 +59,8 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableList;
 import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableMap;
-
+//TODO francis needs fixing post POC
+@Ignore
 @Category({ ReplicationTests.class, LargeTests.class })
 public class TestVerifyReplicationCrossDiffHdfs {
   @ClassRule
diff --git 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java
 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java
index 484f88a..1d15277 100644
--- 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java
+++ 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java
@@ -26,11 +26,14 @@ import 
org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
+import org.junit.Ignore;
 import org.junit.experimental.categories.Category;
 
 /**
  * Reruns TestMobExportSnapshot using MobExportSnapshot in secure mode.
  */
+//TODO francis needs fixing post POC
+@Ignore
 @Category({VerySlowRegionServerTests.class, LargeTests.class})
 public class TestMobSecureExportSnapshot extends TestMobExportSnapshot {
 
diff --git 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
index 6aa3931..a1ed854 100644
--- 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
+++ 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
@@ -50,13 +50,15 @@ import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
-
+//TODO francis needs fixing post POC
+@Ignore
 @Category({ LargeTests.class })
 public class TestRSGroupsKillRS extends TestRSGroupsBase {
 
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.java
index 05e91ac..fa298af 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.java
@@ -35,13 +35,15 @@ import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
 import org.apache.hadoop.hbase.zookeeper.ZNodePaths;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
-
+//TODO francis needs fixing post POC
+@Ignore
 @Category

[hbase] 09/09: fixed TestAssignmentManagerMetrics

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 1bd3e1a7f2d2fa31ecfaefba77b324944c2671f6
Author: Francis Liu 
AuthorDate: Tue Aug 4 16:33:40 2020 -0700

fixed TestAssignmentManagerMetrics
---
 .../org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
index 079bf93..5f41b61 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
@@ -162,7 +162,7 @@ public class TestAssignmentManagerMetrics {
   
METRICS_HELPER.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME,
 1,
 amSource);
   
METRICS_HELPER.assertCounter(MetricsAssignmentManagerSource.ASSIGN_METRIC_PREFIX
-+ "SubmittedCount", 3, amSource);
++ "SubmittedCount", 4, amSource);
 }
   }
 }



[hbase] 05/09: test fixes

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit fbfc8bb0588b4ae19db60dc1d2024de7f755c577
Author: Francis Liu 
AuthorDate: Tue Aug 4 01:21:31 2020 -0700

test fixes
---
 .../hadoop/hbase/client/TestClientNoCluster.java   | 28 +++---
 .../hadoop/hbase/rsgroup/TestRSGroupsBasics.java   |  4 ++--
 .../hadoop/hbase/TestClientClusterMetrics.java | 20 ++--
 .../org/apache/hadoop/hbase/TestNamespace.java |  1 +
 .../hbase/client/MetaWithReplicasTestBase.java |  2 +-
 .../hadoop/hbase/master/AbstractTestDLS.java   |  6 ++---
 .../hbase/master/TestCatalogJanitorCluster.java|  6 +++--
 .../hadoop/hbase/master/TestMasterMetrics.java |  2 +-
 .../TestMasterRestartAfterDisablingTable.java  |  4 ++--
 .../apache/hadoop/hbase/master/TestMetaFixer.java  |  3 ++-
 .../hbase/master/TestMetaShutdownHandler.java  | 10 
 .../hadoop/hbase/master/TestRollingRestart.java|  4 ++--
 ...tReportRegionStateTransitionFromDeadServer.java |  3 ++-
 .../TestReadAndWriteRegionInfoFile.java|  2 +-
 .../regionserver/TestRegionServerMetrics.java  |  4 ++--
 15 files changed, 60 insertions(+), 39 deletions(-)

diff --git 
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java
 
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java
index aa21636..be3bc3b 100644
--- 
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java
+++ 
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java
@@ -220,7 +220,7 @@ public class TestClientNoCluster extends Configured 
implements Tool {
 this.conf.set("hbase.client.connection.impl",
   RegionServerStoppedOnScannerOpenConnection.class.getName());
 try (Connection connection = ConnectionFactory.createConnection(conf)) {
-  MetaTableAccessor.fullScanRegions(connection);
+  MetaTableAccessor.fullScanRegions(connection, TableName.ROOT_TABLE_NAME, 
null);
 }
   }
 
@@ -427,14 +427,14 @@ public class TestClientNoCluster extends Configured 
implements Tool {
*/
   static class FakeServer implements ClientService.BlockingInterface {
 private AtomicInteger multiInvocationsCount = new AtomicInteger(0);
-private final SortedMap> meta;
+private final SortedMap> root;
 private final AtomicLong sequenceids;
 private final long multiPause;
 private final int tooManyMultiRequests;
 
-FakeServer(final Configuration c, final SortedMap> meta,
+FakeServer(final Configuration c, final SortedMap> root,
 final AtomicLong sequenceids) {
-  this.meta = meta;
+  this.root = root;
   this.sequenceids = sequenceids;
 
   // Pause to simulate the server taking time applying the edits.  This 
will drive up the
@@ -446,12 +446,12 @@ public class TestClientNoCluster extends Configured 
implements Tool {
 @Override
 public GetResponse get(RpcController controller, GetRequest request)
 throws ServiceException {
-  boolean metaRegion = 
isMetaRegion(request.getRegion().getValue().toByteArray(),
+  boolean rootRegion = 
isRootRegion(request.getRegion().getValue().toByteArray(),
 request.getRegion().getType());
-  if (!metaRegion) {
+  if (!rootRegion) {
 return doGetResponse(request);
   }
-  return doMetaGetResponse(meta, request);
+  return doRootGetResponse(root, request);
 }
 
 private GetResponse doGetResponse(GetRequest request) {
@@ -474,7 +474,7 @@ public class TestClientNoCluster extends Configured 
implements Tool {
 ScanRequest request) throws ServiceException {
   // Presume it is a scan of meta for now. Not all scans provide a region 
spec expecting
   // the server to keep reference by scannerid.  TODO.
-  return doMetaScanResponse(meta, sequenceids, request);
+  return doRootScanResponse(root, sequenceids, request);
 }
 
 @Override
@@ -501,7 +501,7 @@ public class TestClientNoCluster extends Configured 
implements Tool {
concurrentInvocations));
 }
 Threads.sleep(multiPause);
-return doMultiResponse(meta, sequenceids, request);
+return doMultiResponse(root, sequenceids, request);
   } finally {
 this.multiInvocationsCount.decrementAndGet();
   }
@@ -526,7 +526,7 @@ public class TestClientNoCluster extends Configured 
implements Tool {
 }
   }
 
-  static ScanResponse doMetaScanResponse(final SortedMap> meta,
+  static ScanResponse doRootScanResponse(final SortedMap> meta,
   final AtomicLong sequenceids, final ScanRequest request) {
 ScanResponse.Builder builder = ScanResponse.newBuilder();
 int max = request.getNumberOfRows();
@@ -555,7 +555,7 @@ public class TestClientNoCluster extends Configured 
i

[hbase] 03/09: added root handlder and asyncadmin, etc

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit c23117e7af0eb83a93b2ee9b4cde62b74bb25917
Author: Francis Liu 
AuthorDate: Tue Jul 28 01:26:12 2020 -0700

added root handlder and asyncadmin, etc
---
 .../hbase/client/AsyncNonRootRegionLocator.java|  2 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java| 38 ++--
 .../hadoop/hbase/client/TestClientNoCluster.java   | 12 +++
 .../hadoop/hbase/master/MasterRpcServices.java |  4 +--
 .../hadoop/hbase/regionserver/HRegionServer.java   |  5 +++
 .../hadoop/hbase/regionserver/RSRpcServices.java   |  8 +++--
 .../regionserver/handler/AssignRegionHandler.java  |  7 ++--
 .../regionserver/handler/CloseRootHandler.java | 40 ++
 .../regionserver/handler/OpenRootHandler.java  | 40 ++
 .../handler/UnassignRegionHandler.java |  5 +--
 10 files changed, 143 insertions(+), 18 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonRootRegionLocator.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonRootRegionLocator.java
index f082778..082085e 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonRootRegionLocator.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonRootRegionLocator.java
@@ -439,7 +439,7 @@ class AsyncNonRootRegionLocator {
   META_TABLE_NAME.equals(tableName) ? ROOT_TABLE_NAME : META_TABLE_NAME;
 if (LOG.isTraceEnabled()) {
   LOG.trace("Try locate '" + tableName + "', row='" + 
Bytes.toStringBinary(req.row) +
-"', locateType=" + req.locateType + " in meta");
+"', locateType=" + req.locateType + " in "+parentTableName);
 }
 byte[] metaStartKey;
 if (req.locateType.equals(RegionLocateType.BEFORE)) {
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
index 3b0ede9..1091ef6 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
@@ -2357,6 +2357,7 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
   return failedFuture(new IllegalArgumentException("Passed region name 
can't be null"));
 }
 try {
+  TableName parentTable;
   CompletableFuture> future;
   if (RegionInfo.isEncodedRegionName(regionNameOrEncodedRegionName)) {
 String encodedName = Bytes.toString(regionNameOrEncodedRegionName);
@@ -2378,12 +2379,15 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
   future = connection.registry.getMetaRegionLocations()
 .thenApply(locs -> Stream.of(locs.getRegionLocations())
   .filter(loc -> 
loc.getRegion().getEncodedName().equals(encodedName)).findFirst());
+  parentTable = null;
 } else if (encodedName.length() < RegionInfo.MD5_HEX_LENGTH) {
   future = 
AsyncMetaTableAccessor.getRegionLocationWithEncodedName(rootTable,
 regionNameOrEncodedRegionName);
+  parentTable = ROOT_TABLE_NAME;
 } else {
   future = 
AsyncMetaTableAccessor.getRegionLocationWithEncodedName(metaTable,
 regionNameOrEncodedRegionName);
+  parentTable = META_TABLE_NAME;
 }
   } else {
 RegionInfo regionInfo =
@@ -2393,16 +2397,20 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
 .thenApply(locs -> Stream.of(locs.getRegionLocations())
   .filter(loc -> loc.getRegion().getReplicaId() == 
regionInfo.getReplicaId())
   .findFirst());
+  parentTable = null;
   //TODO francis it won't reach here once meta is split
 } else if (regionInfo.isMetaRegion())   {
   future =
 AsyncMetaTableAccessor.getRegionLocation(rootTable, 
regionNameOrEncodedRegionName);
+  parentTable = ROOT_TABLE_NAME;
 } else {
   future =
 AsyncMetaTableAccessor.getRegionLocation(metaTable, 
regionNameOrEncodedRegionName);
+  parentTable = META_TABLE_NAME;
 }
   }
 
+  final TableName finalParentTable = parentTable;
   CompletableFuture returnedFuture = new 
CompletableFuture<>();
   addListener(future, (location, err) -> {
 if (err != null) {
@@ -2410,9 +2418,33 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
   return;
 }
 if (!location.isPresent() || location.get().getRegion() == null) {
-  returnedFuture.completeExceptionally(
-new UnknownRegionException("Invalid region name or encoded region 
name: " +

[hbase] 02/09: some refactoring and renaming partially working

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 80dcfceded34efe20d31abb836a239d5f6238b13
Author: Francis Liu 
AuthorDate: Mon Jul 27 02:26:34 2020 -0700

some refactoring and renaming partially working
---
 .../org/apache/hadoop/hbase/MetaTableAccessor.java | 187 -
 .../apache/hadoop/hbase/client/HRegionLocator.java |   2 +-
 .../hbase/favored/FavoredNodeAssignmentHelper.java |   2 +-
 .../hadoop/hbase/master/MasterRpcServices.java |   3 +-
 .../hbase/master/assignment/AssignmentManager.java |   6 +-
 .../hbase/master/assignment/RegionStateStore.java  |   4 +-
 .../master/procedure/ModifyTableProcedure.java |   5 +-
 .../apache/hadoop/hbase/HBaseTestingUtility.java   |   2 +-
 .../hadoop/hbase/TestClientClusterMetrics.java |  15 +-
 .../apache/hadoop/hbase/TestMetaTableAccessor.java |  20 +--
 .../hbase/client/RegionReplicaTestHelper.java  |   2 +-
 .../client/TestAsyncAdminWithRegionReplicas.java   |  10 +-
 .../hbase/client/TestZKConnectionRegistry.java |   2 +-
 .../hbase/master/TestCatalogJanitorCluster.java|  12 +-
 .../apache/hadoop/hbase/master/TestMetaFixer.java  |   3 +-
 .../TestRegionReplicasWithRestartScenarios.java|   2 +-
 .../TestHBaseFsckCleanReplicationBarriers.java |   3 +-
 17 files changed, 164 insertions(+), 116 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
index fa90a36..226e5e7 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
@@ -92,7 +92,8 @@ import 
org.apache.hbase.thirdparty.com.google.common.base.Throwables;
  * when this class is used on client-side (e.g. HBaseAdmin), we want to use 
short-lived connection
  * (opened before each operation, closed right after), while when used on HM 
or HRS (like in
  * AssignmentManager) we want permanent connection.
- * 
+ * catalogTableName
+ * catalogTableName
  * 
  * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be 
defined for the same table
  * range (table, startKey, endKey). For every range, there will be at least 
one HRI defined which is
@@ -192,9 +193,10 @@ public class MetaTableAccessor {
* @param connection connection we're using
* @param visitor Visitor invoked against each row in regions family.
*/
-  public static void fullScanRegions(Connection connection, boolean useRoot, 
final Visitor visitor)
-throws IOException {
-scanCatalogTable(connection, useRoot, null, null, QueryType.REGION, null, 
Integer.MAX_VALUE, visitor);
+  public static void fullScanRegions(Connection connection, TableName 
catalogTableName,
+final Visitor visitor) throws IOException {
+scanCatalogTable(connection, catalogTableName, null, null, 
QueryType.REGION,
+  null, Integer.MAX_VALUE, visitor);
   }
 
   /**
@@ -241,31 +243,21 @@ public class MetaTableAccessor {
* Callers should call close on the returned {@link Table} instance.
* @param connection connection we're using to access Meta
* @return An {@link Table} for hbase:meta
-   */
-  public static Table getRootHTable(final Connection connection)
-throws IOException {
-// We used to pass whole CatalogTracker in here, now we just pass in 
Connection
-if (connection.isClosed()) {
-  throw new IOException("connection is closed");
-}
-return connection.getTable(TableName.ROOT_TABLE_NAME);
-  }
-
-  /**
-   * Callers should call close on the returned {@link Table} instance.
-   * @param connection connection we're using to access Meta
-   * @return An {@link Table} for hbase:meta
* @throws NullPointerException if {@code connection} is {@code null}
*/
-  public static Table getMetaHTable(final Connection connection)
+  public static Table getCatalogHTable(final Connection connection,
+TableName catalogTableName)
   throws IOException {
+if (!isCatalogTable(catalogTableName)) {
+  throw new IllegalStateException("Table supplied is not a catalog table: 
" + catalogTableName);
+}
 // We used to pass whole CatalogTracker in here, now we just pass in 
Connection
 if (connection == null) {
   throw new NullPointerException("No connection");
 } else if (connection.isClosed()) {
   throw new IOException("connection is closed");
 }
-return connection.getTable(TableName.META_TABLE_NAME);
+return connection.getTable(catalogTableName);
   }
 
   /**
@@ -311,11 +303,12 @@ public class MetaTableAccessor {
   parsedInfo = parseRegionInfoFromRegionName(regionName);
   row = getCatalogKeyForRegion(parsedInfo);
 } catch (Exception parseEx) {
-  // Ignore. This is used with tableName 

[hbase] 04/09: bugfixes (log split, etc), rebase fixes, fixed TestSCP*Meta* tests

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit c0e0161fc5af582231db9ecc3b16bc0cafd83c19
Author: Francis Liu 
AuthorDate: Tue Aug 4 00:59:54 2020 -0700

bugfixes (log split, etc), rebase fixes, fixed TestSCP*Meta* tests
---
 .../org/apache/hadoop/hbase/MetaTableAccessor.java |  4 +-
 .../src/main/protobuf/MasterProcedure.proto|  7 +-
 .../procedure/TestSCPWithReplicasWithRSGroup.java  |  2 +-
 .../coordination/ZkSplitLogWorkerCoordination.java | 20 +++--
 .../org/apache/hadoop/hbase/master/HMaster.java| 38 +
 .../hbase/master/assignment/AssignmentManager.java | 47 +-
 .../hbase/master/procedure/InitMetaProcedure.java  |  5 +-
 .../hbase/master/procedure/InitRootProcedure.java  | 99 --
 .../master/procedure/ModifyTableProcedure.java |  2 +-
 .../hbase/security/access/AccessChecker.java   |  4 +-
 .../master/assignment/AssignmentTestingUtil.java   | 14 +++
 .../procedure/MasterProcedureTestingUtility.java   |  2 +-
 .../hadoop/hbase/master/procedure/TestSCP.java |  2 +-
 .../hadoop/hbase/master/procedure/TestSCPBase.java | 31 +--
 .../hbase/master/procedure/TestSCPWithMeta.java|  9 +-
 .../hbase/master/procedure/TestSCPWithoutMeta.java |  2 +-
 16 files changed, 181 insertions(+), 107 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
index 226e5e7..fbf2208 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
@@ -1957,7 +1957,9 @@ public class MetaTableAccessor {
   prevCatalogTableName = currCatalogTableName;
   prevRegionInfo = hri;
 }
-deleteFromCatalogTable(connection, prevCatalogTableName,  deletes);
+if (deletes.size() > 0) {
+  deleteFromCatalogTable(connection, prevCatalogTableName, deletes);
+}
 LOG.info("Deleted {} regions from {}", regionsInfo.size(), 
prevCatalogTableName);
 LOG.debug("Deleted regions: {}", regionsInfo);
   }
diff --git a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto 
b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
index e27c5d4..a71c972 100644
--- a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
+++ b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
@@ -473,9 +473,10 @@ message ReopenTableRegionsStateData {
 }
 
 enum InitRootState{
-  INIT_ROOT_ASSIGN_ROOT = 1;
-  INIT_ROOT_LOAD_ROOT = 2;
-  INIT_ROOT_INIT_META = 3;
+  INIT_ROOT_WRITE_FS_LAYOUT = 1;
+  INIT_ROOT_ASSIGN_ROOT = 2;
+  INIT_ROOT_LOAD_ROOT = 3;
+  INIT_ROOT_INIT_META = 4;
 }
 
 message InitRootStateData {
diff --git 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithRSGroup.java
 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithRSGroup.java
index 93739e7..cbf42e7 100644
--- 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithRSGroup.java
+++ 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithRSGroup.java
@@ -60,6 +60,6 @@ public class TestSCPWithReplicasWithRSGroup extends 
TestSCPBase {
 HMaster master = util.getHBaseCluster().getMaster();
 util.waitFor(6, (Predicate) () ->
 master.isInitialized() && ((RSGroupBasedLoadBalancer) 
master.getLoadBalancer()).isOnline());
-testRecoveryAndDoubleExecution(false, false);
+testRecoveryAndDoubleExecution(false, false, false);
   }
 }
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.java
index a8eabbd..1c81310 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.java
@@ -405,17 +405,27 @@ public class ZkSplitLogWorkerCoordination extends 
ZKListener implements
   int rootOffset = -1;
   for (int i = 0; i < paths.size(); i++) {
 if (AbstractFSWALProvider.isRootFile(paths.get(i))) {
-  offset = rootOffset;
+  rootOffset = i;
 }
 if (AbstractFSWALProvider.isMetaFile(paths.get(i))) {
-  offset = metaOffset;
+  metaOffset = i;
 }
   }
+  int seqIndex = 0;
+  int seq[] = new int[paths.size()];
   if (rootOffset != -1) {
-offset = rootOffset;
+seq[seqIndex] = rootOffset;
+seqIndex++;
   }
   if (metaOffset != -1) {
-offset = metaOffset;
+seq[seqI

[hbase] 06/09: fixed missing locks and thread pool in ConnectionImpl

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit df0b07dfc56bb15a6b66a4b3e97e9b3835aa5607
Author: Francis Liu 
AuthorDate: Tue Aug 4 03:17:40 2020 -0700

fixed missing locks and thread pool in ConnectionImpl
---
 .../hbase/client/ConnectionImplementation.java | 38 +++---
 1 file changed, 33 insertions(+), 5 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
index 4d15bf9..21cedfe 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
@@ -182,7 +182,7 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
   // package protected for the tests
   ClusterStatusListener clusterStatusListener;
 
-  private final Object metaRegionLock = new Object();
+  private final Object rootRegionLock = new Object();
 
   private final Object masterLock = new Object();
 
@@ -191,6 +191,7 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
   private volatile ThreadPoolExecutor batchPool = null;
   // meta thread executor shared by all Table instances created
   // by this connection
+  private volatile ThreadPoolExecutor rootLookupPool = null;
   private volatile ThreadPoolExecutor metaLookupPool = null;
   private volatile boolean cleanupPool = false;
 
@@ -229,6 +230,8 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
 
   /** lock guards against multiple threads trying to query the meta region at 
the same time */
   private final ReentrantLock userRegionLock = new ReentrantLock();
+  private final ReentrantLock metaRegionLock = new ReentrantLock();
+
 
   private ChoreService authService;
 
@@ -501,6 +504,25 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
 return tpe;
   }
 
+  private ThreadPoolExecutor getRootLookupPool() {
+if (this.rootLookupPool == null) {
+  synchronized (this) {
+if (this.rootLookupPool == null) {
+  //Some of the threads would be used for root replicas
+  //To start with, threads.max.core threads can hit the root 
(including replicas).
+  //After that, requests will get queued up in the passed queue, and 
only after
+  //the queue is full, a new thread will be started
+  int threads = 
conf.getInt("hbase.hconnection.root.lookup.threads.max", 128);
+  this.rootLookupPool = getThreadPool(
+threads,
+threads,
+"-rootLookup-shared-", new LinkedBlockingQueue<>());
+}
+  }
+}
+return this.rootLookupPool;
+  }
+
   private ThreadPoolExecutor getMetaLookupPool() {
 if (this.metaLookupPool == null) {
   synchronized (this) {
@@ -801,7 +823,7 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
 }
 
 // only one thread should do the lookup.
-synchronized (metaRegionLock) {
+synchronized (rootRegionLock) {
   // Check the cache again for a hit in case some other thread made the
   // same query while we were waiting on the lock.
   if (useCache) {
@@ -872,7 +894,11 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
   }
   // Query the meta region
   long pauseBase = this.pause;
-  userRegionLock.lock();
+  ReentrantLock regionLock = userRegionLock;
+  if (parentTable.equals(TableName.ROOT_TABLE_NAME)) {
+regionLock = metaRegionLock;
+  }
+  regionLock.lock();
   try {
 if (useCache) {// re-check cache after get lock
   RegionLocations locations = getCachedLocation(tableName, row);
@@ -885,9 +911,11 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
 RegionInfo.DEFAULT_REPLICA_ID);
 }
 s.resetMvccReadPoint();
+ThreadPoolExecutor lookupPool = 
parentTable.equals(TableName.ROOT_TABLE_NAME) ?
+  getRootLookupPool() : getMetaLookupPool();
 try (ReversedClientScanner rcs =
   new ReversedClientScanner(conf, s, parentTable, this, 
rpcCallerFactory,
-rpcControllerFactory, getMetaLookupPool(), 
metaReplicaCallTimeoutScanInMicroSecond)) {
+rpcControllerFactory, lookupPool, 
metaReplicaCallTimeoutScanInMicroSecond)) {
   boolean tableNotFound = true;
   for (;;) {
 Result regionInfoRow = rcs.next();
@@ -966,7 +994,7 @@ class ConnectionImplementation implements 
ClusterConnection, Closeable {
 relocateParent =
   !(e instanceof RegionOfflineException || e instanceof 
NoServerForRegionException);
   } finally {
-   

[hbase] branch HBASE-11288.branch-2 created (now 1bd3e1a)

2020-08-05 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288.branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git.


  at 1bd3e1a  fixed TestAssignmentManagerMetrics

This branch includes the following new commits:

 new 280ed9f  partially working
 new 80dcfce  some refactoring and renaming partially working
 new c23117e  added root handlder and asyncadmin, etc
 new c0e0161  bugfixes (log split, etc), rebase fixes, fixed TestSCP*Meta* 
tests
 new fbfc8bb  test fixes
 new df0b07d  fixed missing locks and thread pool in ConnectionImpl
 new 3e03dc6  marked some failing tests as ignored for now
 new 2ebfe86  disabled hanging test TestSecureExportSnapshot
 new 1bd3e1a  fixed TestAssignmentManagerMetrics

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[hbase] branch HBASE-11288 created (now cc80bed)

2020-05-19 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to branch HBASE-11288
in repository https://gitbox.apache.org/repos/asf/hbase.git.


  at cc80bed  addressed removal of deprecated scan api in 
TestSplitMetaBasicOperations

No new revisions were added by this update.



svn commit: r33874 - /dev/hbase/hbase-1.3.4RC0/ /release/hbase/1.3.4/

2019-05-01 Thread toffer
Author: toffer
Date: Wed May  1 20:26:21 2019
New Revision: 33874

Log:
Release HBase 1.3.4

Added:
release/hbase/1.3.4/
  - copied from r33873, dev/hbase/hbase-1.3.4RC0/
Removed:
dev/hbase/hbase-1.3.4RC0/



svn commit: r33633 - /dev/hbase/hbase-1.3.4RC0/compat-check-report.html

2019-04-14 Thread toffer
Author: toffer
Date: Mon Apr 15 03:56:35 2019
New Revision: 33633

Log:
Stage HBase 1.3.4 RC0 artifacts - addendum added compat report

Added:
dev/hbase/hbase-1.3.4RC0/compat-check-report.html

Added: dev/hbase/hbase-1.3.4RC0/compat-check-report.html
==
--- dev/hbase/hbase-1.3.4RC0/compat-check-report.html (added)
+++ dev/hbase/hbase-1.3.4RC0/compat-check-report.html Mon Apr 15 03:56:35 2019
@@ -0,0 +1,753 @@
+
+
+http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
+http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
+
+
+
+
+
+hbase: rel/1.3.3 to 1.3.4RC0 compatibility report
+
+body {
+font-family:Arial, sans-serif;
+background-color:White;
+color:Black;
+}
+hr {
+color:Black;
+background-color:Black;
+height:1px;
+border:0;
+}
+h1 {
+margin-bottom:0px;
+padding-bottom:0px;
+font-size:1.625em;
+}
+h2 {
+margin-bottom:0px;
+padding-bottom:0px;
+font-size:1.25em;
+white-space:nowrap;
+}
+div.symbols {
+color:#003E69;
+}
+div.symbols i {
+color:Brown;
+}
+span.section {
+font-weight:bold;
+cursor:pointer;
+color:#003E69;
+white-space:nowrap;
+margin-left:0.3125em;
+}
+span:hover.section {
+color:#336699;
+}
+span.sect_aff {
+cursor:pointer;
+padding-left:1.55em;
+font-size:0.875em;
+color:#cc3300;
+}
+span.ext {
+font-weight:normal;
+}
+span.jar {
+color:#cc3300;
+font-size:0.875em;
+font-weight:bold;
+}
+div.jar_list {
+padding-left:0.4em;
+font-size:0.94em;
+}
+span.pkg_t {
+color:#408080;
+font-size:0.875em;
+}
+span.pkg {
+color:#408080;
+font-size:0.875em;
+font-weight:bold;
+}
+span.cname {
+color:Green;
+font-size:0.875em;
+font-weight:bold;
+}
+span.iname_b {
+font-weight:bold;
+}
+span.iname_a {
+color:#33;
+font-weight:bold;
+font-size:0.94em;
+}
+span.sym_p {
+font-weight:normal;
+white-space:normal;
+}
+span.sym_pd {
+white-space:normal;
+}
+span.sym_p span, span.sym_pd span {
+white-space:nowrap;
+}
+span.attr {
+color:Black;
+font-weight:normal;
+}
+span.deprecated {
+color:Red;
+font-weight:bold;
+font-family:Monaco, monospace;
+}
+div.affect {
+padding-left:1em;
+padding-bottom:10px;
+font-size:0.87em;
+font-style:italic;
+line-height:0.9em;
+}
+div.affected {
+padding-left:2em;
+padding-top:10px;
+}
+table.ptable {
+border-collapse:collapse;
+border:1px outset black;
+margin-left:0.95em;
+margin-top:3px;
+margin-bottom:3px;
+width:56.25em;
+}
+table.ptable td {
+border:1px solid Gray;
+padding:3px;
+font-size:0.875em;
+text-align:left;
+vertical-align:top;
+max-width:28em;
+word-wrap:break-word;
+}
+table.ptable th {
+background-color:#ee;
+font-weight:bold;
+color:#33;
+font-family:Verdana, Arial;
+font-size:0.875em;
+border:1px solid Gray;
+text-align:center;
+vertical-align:top;
+white-space:nowrap;
+padding:3px;
+}
+table.summary {
+border-collapse:collapse;
+border:1px outset black;
+}
+table.summary th {
+background-color:#ee;
+font-weight:normal;
+text-align:left;
+font-size:0.94em;
+white-space:nowrap;
+border:1px inset Gray;
+padding:3px;
+}
+table.summary td {
+text-align:right;
+white-space:nowrap;
+border:1px inset Gray;
+padding:3px 5px 3px 10px;
+}
+span.mngl {
+padding-left:1em;
+font-size:0.875em;
+cursor:text;
+color:#44;
+font-weight:bold;
+}
+span.pleft {
+padding-left:2.5em;
+}
+span.color_p {
+font-style:italic;
+color:Brown;
+}
+span.param {
+font-style:italic;
+}
+span.focus_p {
+font-style:italic;
+background-color:#DCDCDC;
+}
+span.ttype {
+font-weight:normal;
+}
+span.nowrap {
+white-space:nowrap;
+}
+span.value {
+white-space:nowrap;
+font-weight:bold;
+}
+.passed {
+background-color:#CCFFCC;
+font-weight:normal;
+}
+.warning {
+background-color:#F4F4AF;
+font-weight:normal;
+}
+.failed {
+background-color:#FF;
+font-weight:normal;
+}
+.new {
+background-color:#C6DEFF;
+font-weight:normal;
+}
+
+.compatible {
+background-color:#CCFFCC;
+font-weight:normal;
+}
+.almost_compatible {
+background-color:#FFDAA3;
+font-weight:normal;
+}
+.incompatible {
+background-color:#FF;
+font-weight:normal;
+}
+.gray {
+background-color:#DCDCDC;
+font-weight:normal;
+}
+
+.top_ref {
+font-size:0.69em;
+}
+.footer {
+font-size:0.8125em;
+}
+.tabset {
+float:left;
+}
+a.tab {
+border:1px solid Black;
+float:left;
+margin:0px 5px -1px 0px;
+padding:3px 5px 3px 5px;
+position:relative;
+font-size:0.875em;
+background-color:#DDD;
+text-decoration:none;
+color:Black;
+}
+a.disabled:hover
+{
+co

svn commit: r33632 - in /dev/hbase/hbase-1.3.4RC0: ./ hbase-1.3.4-bin.tar.gz hbase-1.3.4-bin.tar.gz.asc hbase-1.3.4-bin.tar.gz.sha512 hbase-1.3.4-src.tar.gz hbase-1.3.4-src.tar.gz.asc hbase-1.3.4-src.

2019-04-14 Thread toffer
Author: toffer
Date: Mon Apr 15 03:37:26 2019
New Revision: 33632

Log:
Stage HBase 1.3.4 RC0 artifacts

Added:
dev/hbase/hbase-1.3.4RC0/
dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz   (with props)
dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.asc
dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.sha512
dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz   (with props)
dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.asc
dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.sha512

Added: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz
==
Binary file - no diff available.

Propchange: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.asc
==
--- dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.asc (added)
+++ dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.asc Mon Apr 15 03:37:26 2019
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1
+
+iQIcBAABAgAGBQJcs/lkAAoJECKHQ9rWRtnzntwP/RrliA4SnMxEqNLTKbcKlzfI
+6SOIiC2QVoN7rTcDEpAIOQmGKE8noWSsyoL6nFBTu6VWIadLNfOfI7Er45dZVJAe
+GfrlY7l19Ibj/YnK4TyZVK9BpOvqSmA5+lShlCPpVG4tC/GXiZiBOscOkCO3QTg0
+ReSOn+c459iWxtiaHHVZGvys2bDCWA5X19MDlphvNYuckplxdFtKkCkxQdRSxPhQ
+/UD87PORR5areQPjxc/lmzxt0gv0v8fpC+iymt9IPZJStnPH2l+U99UvJgwZcUq1
+JjkMIMlEF5dtBO68ZHGKsKZX1f0fbVoWa+/TnA+CGxM13KEzQSKqBBLyg95Mnukp
+l7iQURHlfBPqpw1UqoyLmY6nAfuBh3IKuLh7P7NA6jV7SshodvWif/faEiiAz10s
+vlQIaFM8/+m8fqOorrsRpkr6Bks3HClfw8Ia8WZS6OciaN5/LHtiUS8pmJvG1Zzf
+knauTMb2tKhJjMd5eWffnlV/6e8OeCzGTnb/dr9sjd8CykI6Sr0awn1v04JHuVpZ
+4lyVjsYv2AbWbLTXLvCTKhkIjU8YEvy4yGexwJwE5R9RKiqh++0v/q0+9D5gmKhD
+w8vihBS/iM0xSumd1M1kxxxqoGZ+qGupKodF7+N3hV2Ux+hw+BnRcJMM9nSCBWbS
+o27HbE187+rnZxjzzqVh
+=1wz5
+-END PGP SIGNATURE-

Added: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.sha512
==
--- dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.sha512 (added)
+++ dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-bin.tar.gz.sha512 Mon Apr 15 03:37:26 
2019
@@ -0,0 +1,3 @@
+hbase-1.3.4-bin.tar.gz: 2021C8A3 EA3A359C AC9E908C 103E5608 69D8F6F3 2A20DF5B
+FB900F25 34C7A83B 6EA43F53 D538D546 C30D3D1D 96EFE488
+502AD230 3943FE10 5995C1B1 1FD0E55D

Added: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz
==
Binary file - no diff available.

Propchange: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.asc
==
--- dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.asc (added)
+++ dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.asc Mon Apr 15 03:37:26 2019
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1
+
+iQIcBAABAgAGBQJcs/mFAAoJECKHQ9rWRtnz/IQQANBQWavSYWTOYGbSXNlH3Gsf
+Y4ArS3FnfcOTkilSmNnmFLq81rWE970kDJfBB86wJ0o89ejS2HObzcJFX01KOygk
+E5mnbI5cWqUdN0Sa2QyTYgDwIkNR4sGnkM5ckqzcOI3On5zOOegdo8aE0KGQZWGM
+PArUAl1Ppw9DjgMS2nxOPnM+A+en3Mx1RqXfYBCxS2HkNw1iOwnNPLJSZGfdP1tp
+iHXoqxLIY85PngRZEhXt1ikab1XbeY5NIwVfrJEwBqw7DzGXInwvflNRCRjCDSyI
+7POFPAK6u8giR238gn+oh8w/iRSH0Rq2WrjCGuNr98Wmo6GcIU4sfDJ7OxTTeAVz
++24Igs72cwohNt4nmySrrrgzKmipOFSHwNAdqfSlpKaNwkCnkC70zS0cJ95rH+4H
+W2kv8En9SpqKmrArMxTBK9HsqcGKLpRaP9LheGbK5ql8FZba67oAYe7QaBiTH6AL
+VEfM/kRMALHgqzwgpqJoykePH/SvrF15wwRJ8u1IUqFyjGfqxrWYrl+oMr5dIxIM
+IZDDwz+noHVUouur+tEMdTayr9sNEcwC9V3QexxfQAl5qOU2luPtfpFluwRbBB0i
+SRWGpavMjNKsp+sKz9IWWYFJ46Y+LYglIarYZao1ADE1a/47XxZvSR4yerz7snlR
+KCqAGggQNlK0uaCP1u4s
+=QiSu
+-END PGP SIGNATURE-

Added: dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.sha512
==
--- dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.sha512 (added)
+++ dev/hbase/hbase-1.3.4RC0/hbase-1.3.4-src.tar.gz.sha512 Mon Apr 15 03:37:26 
2019
@@ -0,0 +1,3 @@
+hbase-1.3.4-src.tar.gz: B89A3079 BE511ED9 806C241A A157FF2F 425BBABE 4455DA99
+CDDE192E 4A7B10C1 F0F0D728 A97FEB01 79FB7982 79E7A4B9
+7E0CB2C7 1601D12F F19D0695 C3C1E38C




[hbase] annotated tag 1.3.4RC0 created (now fd77899)

2019-04-14 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a change to annotated tag 1.3.4RC0
in repository https://gitbox.apache.org/repos/asf/hbase.git.


  at fd77899  (tag)
 tagging 5d443750f65c9b17df23867964f48bbd07f9267d (commit)
 replaces rel/1.3.3
  by Francis Liu
  on Mon Apr 15 01:56:49 2019 +

- Log -
Tagging the first 1.3.4 release candidate (Candidates start at zero)
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQIcBAABAgAGBQJcs+ThAAoJECKHQ9rWRtnzMOcQALrAO5Z27daX8lGH+ewuePy7
WmWltcMKvQ1XiMYMxpy+4+XtlJt/doX9uGCD7C0ClYZBhQWUkyVxJj/jJXGyg4Sv
1mDPfXEUEa+N/JaO/qe18aFPTwPdJzdJHT+lZ7zNkg/RCLmT95HH2SyvJS7GauZ6
ySYiJqYy4qz8iAOu3AR7juMmYt0D3mG1MAp3fK76sXwflEMand5UGe8pvvYhzazR
krPvavUirqnpmmraN683ZAZe79vFROzUecFT7YYQgmZwjyEyebegJSTJg18AB7Bv
7e+ehu66UjHX7i3ATgHHG6Z4agX8cLMxVDKKTjCJCLcc1JPFdO73r4+F8S1LS7C9
5w5J2v5chpnds9M0u2HjdvBmzlSB/zAfzne5JX//z4SJwyk/K5EPROBas5IjW1VN
Hj4TYZIwGyHmmXPFlP+hCDf0ym2zmnfVuDjywH1zTV+4h2B+DgcS5uGftv8K1++W
crvMWpt3MC470FWnTK5zYJmfoSzKMvyCLDxw/7Lnk4Qiu2OMMo6AvpZ0LnEvxEB9
8fyhQ5cjZBKzslPSOqjxYlt2+y5h+j5H30mzeBL/ZnZdVW6sUZshpixYZb1+KFjY
D02PWa/3g5BSefq+FeE0OP5JatHvCUkRue257E6OUqdO5h77tqSM0xGXsik/2UHC
zwu7aYQSlpbTmI45gRRb
=MFvv
-END PGP SIGNATURE-
---

No new revisions were added by this update.



[hbase] branch branch-1.3 updated: Update POMs and CHANGES.txt for 1.3.4RC0

2019-04-14 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch branch-1.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1.3 by this push:
 new 5d44375  Update POMs and CHANGES.txt for 1.3.4RC0
5d44375 is described below

commit 5d443750f65c9b17df23867964f48bbd07f9267d
Author: Francis Liu 
AuthorDate: Mon Apr 15 01:48:26 2019 +

Update POMs and CHANGES.txt for 1.3.4RC0
---
 CHANGES.txt| 39 ++
 hbase-annotations/pom.xml  |  2 +-
 hbase-archetypes/hbase-archetype-builder/pom.xml   |  2 +-
 hbase-archetypes/hbase-client-project/pom.xml  |  2 +-
 .../hbase-shaded-client-project/pom.xml|  2 +-
 hbase-archetypes/pom.xml   |  2 +-
 hbase-assembly/pom.xml |  2 +-
 hbase-checkstyle/pom.xml   |  4 +--
 hbase-client/pom.xml   |  2 +-
 hbase-common/pom.xml   |  2 +-
 hbase-examples/pom.xml |  2 +-
 hbase-external-blockcache/pom.xml  |  2 +-
 hbase-hadoop-compat/pom.xml|  2 +-
 hbase-hadoop2-compat/pom.xml   |  2 +-
 hbase-it/pom.xml   |  2 +-
 hbase-prefix-tree/pom.xml  |  2 +-
 hbase-procedure/pom.xml|  2 +-
 hbase-protocol/pom.xml |  2 +-
 hbase-resource-bundle/pom.xml  |  2 +-
 hbase-rest/pom.xml |  2 +-
 hbase-server/pom.xml   |  2 +-
 hbase-shaded/hbase-shaded-check-invariants/pom.xml |  2 +-
 hbase-shaded/hbase-shaded-client/pom.xml   |  2 +-
 hbase-shaded/hbase-shaded-server/pom.xml   |  2 +-
 hbase-shaded/pom.xml   |  2 +-
 hbase-shell/pom.xml|  2 +-
 hbase-testing-util/pom.xml |  2 +-
 hbase-thrift/pom.xml   |  2 +-
 pom.xml|  2 +-
 29 files changed, 68 insertions(+), 29 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 6aba7fb..70deb36 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,44 @@
 HBase Change Log
 
+Release Notes - HBase - Version 1.3.4 04/14/2019
+
+** Sub-task
+* [HBASE-21374] - Backport HBASE-21342 to branch-1
+* [HBASE-21561] - Backport HBASE-21413 (Empty meta log doesn't get split 
when restart whole cluster) to branch-1
+* [HBASE-21711] - Remove references to git.apache.org/hbase.git
+* [HBASE-21748] - Port HBASE-21738 (Remove all the CLSM#size operation in 
our memstore because it's an quite time consuming.) to branch-1
+* [HBASE-22152] - Create a jenkins file for yetus to processing GitHub PR
+
+** Bug
+* [HBASE-20911] - correct Swtich/case indentation in formatter template 
for eclipse
+* [HBASE-20912] - Add import order config in dev support for eclipse
+* [HBASE-21135] - Build fails on windows as it fails to parse windows path 
during license check
+* [HBASE-21196] - HTableMultiplexer clears the meta cache after every put 
operation
+* [HBASE-21475] - Put mutation (having TTL set) added via co-processor is 
retrieved even after TTL expires
+* [HBASE-21492] - CellCodec Written To WAL Before It's Verified
+* [HBASE-21547] - Precommit uses master flaky list for other branches
+* [HBASE-21766] - TestSimpleRpcScheduler is flaky (branch-1)
+* [HBASE-22058] - upgrade thrift dependency to 0.9.3.1 on  branches 1.4, 
1.3 and 1.2
+* [HBASE-22067] - Fix log line in StochasticLoadBalancer when balancer is 
an ill-fit for cluster size
+* [HBASE-22070] - Checking restoreDir in RestoreSnapshotHelper 
+* [HBASE-22106] - Log cause of the failure when coprocessor specification 
parsing fails.
+* [HBASE-22125] - Fix more instances in make_rc.sh where we need 
-Dhttps.protocols=TLSv1.2
+
+** New Feature
+* [HBASE-21926] - Profiler servlet
+
+** Improvement
+* [HBASE-21818] - Incorrect list item in javadoc
+
+** Test
+* [HBASE-21963] - Add a script for building and verifying release candidate
+
+** Task
+* [HBASE-21685] - Change repository urls to Gitbox
+* [HBASE-21687] - Update Findbugs Maven Plugin to 3.0.4 to work with Maven 
3.6.0+ [branches-1]
+* [HBASE-21853] - update copyright notices to 2019
+
+
 Release Notes - HBase - Version 1.3.3 12/21/2018
 
 ** Sub-task
diff --git a/hbase-annotations/pom.xml b/hbase-annotations/pom.xml
index 8476a01..fa88227 100644
--- a/hbase-annotations/pom.xml
+++ b/hbase-annotations/pom.xml
@@ -23,7 +23,7 @@
   
 hbase
 org.apache.hbase
-1.3.4-SNAPSHOT
+1.3.4
 ..
   
 
diff --git a/hbase-archetypes/hbase-archetype-builder/pom.xml 
b/hbase-archetypes

[hbase] branch branch-1.3 updated: HBASE-21492 CellCodec Written To WAL Before It's Verified

2019-04-14 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch branch-1.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1.3 by this push:
 new ef58d78  HBASE-21492 CellCodec Written To WAL Before It's Verified
ef58d78 is described below

commit ef58d789921283022d05371bb68a9d2950f6857f
Author: BELUGA BEHR 
AuthorDate: Tue Nov 27 08:57:06 2018 -0800

HBASE-21492 CellCodec Written To WAL Before It's Verified

Conflicts:

hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractProtobufLogWriter.java
---
 .../java/org/apache/hadoop/hbase/mapreduce/WALPlayer.java |  2 +-
 .../hadoop/hbase/regionserver/wal/ProtobufLogWriter.java  |  2 +-
 .../apache/hadoop/hbase/regionserver/wal/WALCellCodec.java|  8 
 .../hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java | 11 +++
 4 files changed, 17 insertions(+), 6 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/WALPlayer.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/WALPlayer.java
index 377b6ea..bff110c 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/WALPlayer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/WALPlayer.java
@@ -295,7 +295,7 @@ public class WALPlayer extends Configured implements Tool {
   // No reducers.
   job.setNumReduceTasks(0);
 }
-String codecCls = WALCellCodec.getWALCellCodecClass(conf);
+String codecCls = WALCellCodec.getWALCellCodecClass(conf).getName();
 try {
   TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), 
Class.forName(codecCls));
 } catch (Exception e) {
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.java
index 42abeae..436df87 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.java
@@ -69,7 +69,7 @@ public class ProtobufLogWriter extends WriterBase {
   builder.setWriterClsName(ProtobufLogWriter.class.getSimpleName());
 }
 if (!builder.hasCellCodecClsName()) {
-  builder.setCellCodecClsName(WALCellCodec.getWALCellCodecClass(conf));
+  
builder.setCellCodecClsName(WALCellCodec.getWALCellCodecClass(conf).getName());
 }
 return builder.build();
   }
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
index 5c62ef2..11b6120 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
@@ -79,8 +79,8 @@ public class WALCellCodec implements Codec {
 this.compression = compression;
   }
 
-  public static String getWALCellCodecClass(Configuration conf) {
-return conf.get(WAL_CELL_CODEC_CLASS_KEY, WALCellCodec.class.getName());
+  public static Class getWALCellCodecClass(Configuration conf) {
+return conf.getClass(WAL_CELL_CODEC_CLASS_KEY, WALCellCodec.class);
   }
 
   /**
@@ -98,7 +98,7 @@ public class WALCellCodec implements Codec {
   public static WALCellCodec create(Configuration conf, String 
cellCodecClsName,
   CompressionContext compression) throws UnsupportedOperationException {
 if (cellCodecClsName == null) {
-  cellCodecClsName = getWALCellCodecClass(conf);
+  cellCodecClsName = getWALCellCodecClass(conf).getName();
 }
 return ReflectionUtils.instantiateWithCustomCtor(cellCodecClsName, new 
Class[]
 { Configuration.class, CompressionContext.class }, new Object[] { 
conf, compression });
@@ -117,7 +117,7 @@ public class WALCellCodec implements Codec {
*/
   public static WALCellCodec create(Configuration conf,
   CompressionContext compression) throws UnsupportedOperationException {
-String cellCodecClsName = getWALCellCodecClass(conf);
+String cellCodecClsName = getWALCellCodecClass(conf).getName();
 return ReflectionUtils.instantiateWithCustomCtor(cellCodecClsName, new 
Class[]
 { Configuration.class, CompressionContext.class }, new Object[] { 
conf, compression });
   }
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java
index 7f48f9b..c5200b4 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java
@@ -58,4 +58,15

[hbase] branch branch-1.3 updated: HBASE-22058 upgrade thrift dependency to 0.9.3.1

2019-03-25 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch branch-1.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1.3 by this push:
 new 7a49a7f  HBASE-22058 upgrade thrift dependency to 0.9.3.1
7a49a7f is described below

commit 7a49a7f97d1f3c16266c18b5ba7cd80ff1b33ed9
Author: Francis Liu 
AuthorDate: Tue Mar 19 16:49:36 2019 -0700

HBASE-22058 upgrade thrift dependency to 0.9.3.1
---
 hbase-thrift/pom.xml | 7 ---
 pom.xml  | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 9f8bb6a..a88e21a 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -408,12 +408,12 @@
 
   thrift.version
   "The Thrift version must be 
specified."
-  0\.9\.3
+  0\.9\.3-1
   
 -
 -
 [FATAL] 
==
-[FATAL] HBase Thrift requires the thrift generator version 0.9.3.
+[FATAL] HBase Thrift requires the thrift generator version 0.9.3-1.
 [FATAL] Setting it to something else needs to be reviewed for wire and 
behavior compatibility.
 [FATAL] 
==
 -
@@ -442,8 +442,9 @@
   ${basedir}
   
 -c
+
 ${thrift.path} -version | \
-  fgrep 'Thrift version ${thrift.version}'  exit 
0;
+  fgrep 'Thrift version 0.9.3'  exit 0;
   echo "== [FATAL] Need Thrift version 
${thrift.version} ==";
   exit 1
   
diff --git a/pom.xml b/pom.xml
index 5c441af..cf4bb4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1288,7 +1288,7 @@
 1.10.19
 2.5.0
 thrift
-0.9.3
+0.9.3-1
 3.4.6
 1.7.7
 4.0.3



[hbase] branch branch-1.4 updated: HBASE-22058 upgrade thrift dependency to 0.9.3.1

2019-03-25 Thread toffer
This is an automated email from the ASF dual-hosted git repository.

toffer pushed a commit to branch branch-1.4
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1.4 by this push:
 new b649bce  HBASE-22058 upgrade thrift dependency to 0.9.3.1
b649bce is described below

commit b649bce1609fdcde7b1c21a0767ee502d20091e3
Author: Francis Liu 
AuthorDate: Tue Mar 19 16:49:36 2019 -0700

HBASE-22058 upgrade thrift dependency to 0.9.3.1
---
 hbase-thrift/pom.xml | 7 ---
 pom.xml  | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 6f73c35..7388f15 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -408,12 +408,12 @@
 
   thrift.version
   "The Thrift version must be 
specified."
-  0\.9\.3
+  0\.9\.3-1
   
 -
 -
 [FATAL] 
==
-[FATAL] HBase Thrift requires the thrift generator version 0.9.3.
+[FATAL] HBase Thrift requires the thrift generator version 0.9.3-1.
 [FATAL] Setting it to something else needs to be reviewed for wire and 
behavior compatibility.
 [FATAL] 
==
 -
@@ -442,8 +442,9 @@
   ${basedir}
   
 -c
+
 ${thrift.path} -version | \
-  fgrep 'Thrift version ${thrift.version}'  exit 
0;
+  fgrep 'Thrift version 0.9.3'  exit 0;
   echo "== [FATAL] Need Thrift version 
${thrift.version} ==";
   exit 1
   
diff --git a/pom.xml b/pom.xml
index a80fe62..0edeccb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1296,7 +1296,7 @@
 1.10.19
 2.5.0
 thrift
-0.9.3
+0.9.3-1
 3.4.10
 1.7.7
 4.0.3



hbase git commit: HBASE-20704 Sometimes some compacted storefiles are not archived on region close

2018-09-16 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-2.0 307578b70 -> c98c6c674


HBASE-20704 Sometimes some compacted storefiles are not archived on region close


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c98c6c67
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c98c6c67
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c98c6c67

Branch: refs/heads/branch-2.0
Commit: c98c6c67446d96b48398a7d62aa20953b7a6f21c
Parents: 307578b
Author: Francis Liu 
Authored: Sun Aug 12 21:27:03 2018 -0700
Committer: Francis Liu 
Committed: Sun Sep 16 18:38:49 2018 -0700

--
 .../hadoop/hbase/regionserver/HStore.java   |  43 +++-
 .../hadoop/hbase/regionserver/HStoreFile.java   |  37 +++-
 .../hbase/regionserver/StoreFileReader.java |  23 +-
 .../TestCleanupCompactedFileOnRegionClose.java  | 210 +++
 4 files changed, 304 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/c98c6c67/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 2227e58..01e4457 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -897,7 +897,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
   storeEngine.getStoreFileManager().clearCompactedFiles();
   // clear the compacted files
   if (CollectionUtils.isNotEmpty(compactedfiles)) {
-removeCompactedfiles(compactedfiles);
+removeCompactedfiles(compactedfiles, true);
   }
   if (!result.isEmpty()) {
 // initialize the thread pool for closing store files in parallel.
@@ -2504,6 +2504,11 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* Closes and archives the compacted files under this store
*/
   public synchronized void closeAndArchiveCompactedFiles() throws IOException {
+closeAndArchiveCompactedFiles(false);
+  }
+
+  @VisibleForTesting
+  public synchronized void closeAndArchiveCompactedFiles(boolean storeClosing) 
throws IOException {
 // ensure other threads do not attempt to archive the same files on close()
 archiveLock.lock();
 try {
@@ -2522,7 +2527,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 lock.readLock().unlock();
   }
   if (CollectionUtils.isNotEmpty(copyCompactedfiles)) {
-removeCompactedfiles(copyCompactedfiles);
+removeCompactedfiles(copyCompactedfiles, storeClosing);
   }
 } finally {
   archiveLock.unlock();
@@ -2534,7 +2539,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* @param compactedfiles The compacted files in this store that are not 
active in reads
* @throws IOException
*/
-  private void removeCompactedfiles(Collection compactedfiles)
+  private void removeCompactedfiles(Collection compactedfiles, 
boolean storeClosing)
   throws IOException {
 final List filesToRemove = new 
ArrayList<>(compactedfiles.size());
 for (final HStoreFile file : compactedfiles) {
@@ -2546,11 +2551,29 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 filesToRemove.add(file);
 continue;
   }
-  if (file.isCompactedAway() && !file.isReferencedInReads()) {
+
+  //Compacted files in the list should always be marked compacted 
away. In the event
+  //they're contradicting in order to guarantee data consistency
+  //should we choose one and ignore the other?
+  if (storeClosing && !file.isCompactedAway()) {
+String msg =
+"Region closing but StoreFile is in compacted list but not 
compacted away: " +
+file.getPath().getName();
+throw new IllegalStateException(msg);
+  }
+
+  //If store is closing we're ignoring any references to keep things 
consistent
+  //and remove compacted storefiles from the region directory
+  if (file.isCompactedAway() && (!file.isReferencedInReads() || 
storeClosing)) {
+if (storeClosing && file.isReferencedInReads()) {
+  LOG.debug("Region closing but StoreFile still has references: 
{}",
+  file.getPath().getName());
+}
 // Even if deleting fails we need not bother as any new scanners 
won't be
 // able to use the compacted file as the status is 

hbase git commit: HBASE-20704 Sometimes some compacted storefiles are not archived on region close

2018-09-16 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-2.1 842e0c974 -> a925a4ce1


HBASE-20704 Sometimes some compacted storefiles are not archived on region close


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a925a4ce
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a925a4ce
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a925a4ce

Branch: refs/heads/branch-2.1
Commit: a925a4ce163dfdde594920f822a9ac20fd182107
Parents: 842e0c9
Author: Francis Liu 
Authored: Sun Aug 12 21:27:03 2018 -0700
Committer: Francis Liu 
Committed: Sun Sep 16 18:38:03 2018 -0700

--
 .../hadoop/hbase/regionserver/HStore.java   |  43 +++-
 .../hadoop/hbase/regionserver/HStoreFile.java   |  37 +++-
 .../hbase/regionserver/StoreFileReader.java |  23 +-
 .../TestCleanupCompactedFileOnRegionClose.java  | 210 +++
 4 files changed, 304 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/a925a4ce/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 80f1f21..39d0cbb 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -924,7 +924,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
   storeEngine.getStoreFileManager().clearCompactedFiles();
   // clear the compacted files
   if (CollectionUtils.isNotEmpty(compactedfiles)) {
-removeCompactedfiles(compactedfiles);
+removeCompactedfiles(compactedfiles, true);
   }
   if (!result.isEmpty()) {
 // initialize the thread pool for closing store files in parallel.
@@ -2531,6 +2531,11 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* Closes and archives the compacted files under this store
*/
   public synchronized void closeAndArchiveCompactedFiles() throws IOException {
+closeAndArchiveCompactedFiles(false);
+  }
+
+  @VisibleForTesting
+  public synchronized void closeAndArchiveCompactedFiles(boolean storeClosing) 
throws IOException {
 // ensure other threads do not attempt to archive the same files on close()
 archiveLock.lock();
 try {
@@ -2549,7 +2554,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 lock.readLock().unlock();
   }
   if (CollectionUtils.isNotEmpty(copyCompactedfiles)) {
-removeCompactedfiles(copyCompactedfiles);
+removeCompactedfiles(copyCompactedfiles, storeClosing);
   }
 } finally {
   archiveLock.unlock();
@@ -2561,7 +2566,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* @param compactedfiles The compacted files in this store that are not 
active in reads
* @throws IOException
*/
-  private void removeCompactedfiles(Collection compactedfiles)
+  private void removeCompactedfiles(Collection compactedfiles, 
boolean storeClosing)
   throws IOException {
 final List filesToRemove = new 
ArrayList<>(compactedfiles.size());
 for (final HStoreFile file : compactedfiles) {
@@ -2573,11 +2578,29 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 filesToRemove.add(file);
 continue;
   }
-  if (file.isCompactedAway() && !file.isReferencedInReads()) {
+
+  //Compacted files in the list should always be marked compacted 
away. In the event
+  //they're contradicting in order to guarantee data consistency
+  //should we choose one and ignore the other?
+  if (storeClosing && !file.isCompactedAway()) {
+String msg =
+"Region closing but StoreFile is in compacted list but not 
compacted away: " +
+file.getPath().getName();
+throw new IllegalStateException(msg);
+  }
+
+  //If store is closing we're ignoring any references to keep things 
consistent
+  //and remove compacted storefiles from the region directory
+  if (file.isCompactedAway() && (!file.isReferencedInReads() || 
storeClosing)) {
+if (storeClosing && file.isReferencedInReads()) {
+  LOG.debug("Region closing but StoreFile still has references: 
{}",
+  file.getPath().getName());
+}
 // Even if deleting fails we need not bother as any new scanners 
won't be
 // able to use the compacted file as the status is 

hbase git commit: HBASE-20704 Sometimes some compacted storefiles are not archived on region close

2018-09-16 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-2 966e3751c -> 7a1b4d449


HBASE-20704 Sometimes some compacted storefiles are not archived on region close


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7a1b4d44
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7a1b4d44
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7a1b4d44

Branch: refs/heads/branch-2
Commit: 7a1b4d449df10dbee2f92acdfa5865cf9d9283e2
Parents: 966e375
Author: Francis Liu 
Authored: Sun Aug 12 21:27:03 2018 -0700
Committer: Francis Liu 
Committed: Sun Sep 16 18:28:24 2018 -0700

--
 .../hadoop/hbase/regionserver/HStore.java   |  43 +++-
 .../hadoop/hbase/regionserver/HStoreFile.java   |  37 +++-
 .../hbase/regionserver/StoreFileReader.java |  23 +-
 .../TestCleanupCompactedFileOnRegionClose.java  | 210 +++
 4 files changed, 304 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/7a1b4d44/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 314547e..9a381f6 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -924,7 +924,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
   storeEngine.getStoreFileManager().clearCompactedFiles();
   // clear the compacted files
   if (CollectionUtils.isNotEmpty(compactedfiles)) {
-removeCompactedfiles(compactedfiles);
+removeCompactedfiles(compactedfiles, true);
   }
   if (!result.isEmpty()) {
 // initialize the thread pool for closing store files in parallel.
@@ -2533,6 +2533,11 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* Closes and archives the compacted files under this store
*/
   public synchronized void closeAndArchiveCompactedFiles() throws IOException {
+closeAndArchiveCompactedFiles(false);
+  }
+
+  @VisibleForTesting
+  public synchronized void closeAndArchiveCompactedFiles(boolean storeClosing) 
throws IOException {
 // ensure other threads do not attempt to archive the same files on close()
 archiveLock.lock();
 try {
@@ -2551,7 +2556,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 lock.readLock().unlock();
   }
   if (CollectionUtils.isNotEmpty(copyCompactedfiles)) {
-removeCompactedfiles(copyCompactedfiles);
+removeCompactedfiles(copyCompactedfiles, storeClosing);
   }
 } finally {
   archiveLock.unlock();
@@ -2563,7 +2568,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* @param compactedfiles The compacted files in this store that are not 
active in reads
* @throws IOException
*/
-  private void removeCompactedfiles(Collection compactedfiles)
+  private void removeCompactedfiles(Collection compactedfiles, 
boolean storeClosing)
   throws IOException {
 final List filesToRemove = new 
ArrayList<>(compactedfiles.size());
 for (final HStoreFile file : compactedfiles) {
@@ -2575,11 +2580,29 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 filesToRemove.add(file);
 continue;
   }
-  if (file.isCompactedAway() && !file.isReferencedInReads()) {
+
+  //Compacted files in the list should always be marked compacted 
away. In the event
+  //they're contradicting in order to guarantee data consistency
+  //should we choose one and ignore the other?
+  if (storeClosing && !file.isCompactedAway()) {
+String msg =
+"Region closing but StoreFile is in compacted list but not 
compacted away: " +
+file.getPath().getName();
+throw new IllegalStateException(msg);
+  }
+
+  //If store is closing we're ignoring any references to keep things 
consistent
+  //and remove compacted storefiles from the region directory
+  if (file.isCompactedAway() && (!file.isReferencedInReads() || 
storeClosing)) {
+if (storeClosing && file.isReferencedInReads()) {
+  LOG.debug("Region closing but StoreFile still has references: 
{}",
+  file.getPath().getName());
+}
 // Even if deleting fails we need not bother as any new scanners 
won't be
 // able to use the compacted file as the status is already 

hbase git commit: HBASE-20704 Sometimes some compacted storefiles are not archived on region close

2018-09-16 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master e86c73602 -> cdfe80889


HBASE-20704 Sometimes some compacted storefiles are not archived on region close


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cdfe8088
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cdfe8088
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cdfe8088

Branch: refs/heads/master
Commit: cdfe80889259e7e914ddb541962184315228d32e
Parents: e86c736
Author: Francis Liu 
Authored: Sun Aug 12 21:27:03 2018 -0700
Committer: Francis Liu 
Committed: Sun Sep 16 18:26:28 2018 -0700

--
 .../hadoop/hbase/regionserver/HStore.java   |  43 +++-
 .../hadoop/hbase/regionserver/HStoreFile.java   |  37 +++-
 .../hbase/regionserver/StoreFileReader.java |  23 +-
 .../TestCleanupCompactedFileOnRegionClose.java  | 210 +++
 4 files changed, 304 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/cdfe8088/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 418eecc..717a466 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -927,7 +927,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
   storeEngine.getStoreFileManager().clearCompactedFiles();
   // clear the compacted files
   if (CollectionUtils.isNotEmpty(compactedfiles)) {
-removeCompactedfiles(compactedfiles);
+removeCompactedfiles(compactedfiles, true);
   }
   if (!result.isEmpty()) {
 // initialize the thread pool for closing store files in parallel.
@@ -2575,6 +2575,11 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* Closes and archives the compacted files under this store
*/
   public synchronized void closeAndArchiveCompactedFiles() throws IOException {
+closeAndArchiveCompactedFiles(false);
+  }
+
+  @VisibleForTesting
+  public synchronized void closeAndArchiveCompactedFiles(boolean storeClosing) 
throws IOException {
 // ensure other threads do not attempt to archive the same files on close()
 archiveLock.lock();
 try {
@@ -2593,7 +2598,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 lock.readLock().unlock();
   }
   if (CollectionUtils.isNotEmpty(copyCompactedfiles)) {
-removeCompactedfiles(copyCompactedfiles);
+removeCompactedfiles(copyCompactedfiles, storeClosing);
   }
 } finally {
   archiveLock.unlock();
@@ -2604,7 +2609,7 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
* Archives and removes the compacted files
* @param compactedfiles The compacted files in this store that are not 
active in reads
*/
-  private void removeCompactedfiles(Collection compactedfiles)
+  private void removeCompactedfiles(Collection compactedfiles, 
boolean storeClosing)
   throws IOException {
 final List filesToRemove = new 
ArrayList<>(compactedfiles.size());
 final List storeFileSizes = new ArrayList<>(compactedfiles.size());
@@ -2622,13 +2627,31 @@ public class HStore implements Store, HeapSize, 
StoreConfigInformation, Propagat
 storeFileSizes.add(length);
 continue;
   }
-  if (file.isCompactedAway() && !file.isReferencedInReads()) {
+
+  //Compacted files in the list should always be marked compacted 
away. In the event
+  //they're contradicting in order to guarantee data consistency
+  //should we choose one and ignore the other?
+  if (storeClosing && !file.isCompactedAway()) {
+String msg =
+"Region closing but StoreFile is in compacted list but not 
compacted away: " +
+file.getPath().getName();
+throw new IllegalStateException(msg);
+  }
+
+  //If store is closing we're ignoring any references to keep things 
consistent
+  //and remove compacted storefiles from the region directory
+  if (file.isCompactedAway() && (!file.isReferencedInReads() || 
storeClosing)) {
+if (storeClosing && file.isReferencedInReads()) {
+  LOG.debug("Region closing but StoreFile still has references: 
{}",
+  file.getPath().getName());
+}
 // Even if deleting fails we need not bother as any new scanners 
won't be
 // able to use the 

[hbase] Git Push Summary

2018-04-03 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/rel/1.3.2 [created] 1f9620f96


svn commit: r25840 - /dev/hbase/hbase-1.3.2RC1/

2018-03-19 Thread toffer
Author: toffer
Date: Tue Mar 20 04:26:13 2018
New Revision: 25840

Log:
added hbase-1.3.2RC1 artifacts

Added:
dev/hbase/hbase-1.3.2RC1/
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz   (with props)
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.asc
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.md5
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.sha
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz   (with props)
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.asc
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.md5
dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.sha

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz
==
Binary file - no diff available.

Propchange: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.asc
==
--- dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.asc (added)
+++ dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.asc Tue Mar 20 04:26:13 2018
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCAAdFiEE/zMHtE22nIOTsJhfIodD2tZG2fMFAlqwi38ACgkQIodD2tZG
+2fOjAhAAnWMG6c3wgalL9Goo0mwfz/zqh7cbPAirbkeKnfQ3iDrE7enGsz19a61H
+EChPaDXAtz9FUcS7rqbM96xoZ8J6pozmwUQsajDMKkODHaXLfHPGtm6a/1roWXcP
+Rd3k8hAJPscwwfOll/mYiPir3FMC46FwP8hXr+iC0PdbIZFX6j0kFHrTOs2Wu2+O
+MN/jCr6+3Qadg7pHOZy1x0/8JQWAxQXuFWgo5vbMKFF75kZyCxnjdi+q/W++TPgV
+P+nRhc04+CnxEVeUAjzRVF10bbn2A5HSTJnyXKRazb1Q2CxP5taIZFbg/Xufj645
+o+KQuhPJRYlRf2ynQscrPvjQ7pi+YGty9FPTKgbh7G2UA5FZnjkoY/2vXgIzOOVP
+yGCyp9qGo3UdrPjGVMVLvaiGWG+VStErJ8bawP3vDjDKrL6cmna/IIeCpcencYXj
+eus+eWtjOQDxxa5Lgv0+Qy7RbHGGylZojgMtAFeCqJXE8O6JJhH1Ej/Qvsl8EubC
+KRosCql10/u2r9YqEJf+WnjCEqvH4tMd9aZoJ6TDoaCjc8ilF+mp7/jMT41GgSqi
+G92cKrLuglw0Nx9sKnjJeYRRin9F+uN1EGMhDF1XGJ1N9vAVBsSrD6TQg7CtY550
+n7sMmdf48hmXI1lzbmzMpMWttl+ZcvEXCWaZK9zYLsKo0hGXeRI=
+=V91v
+-END PGP SIGNATURE-

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.md5
==
--- dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.md5 (added)
+++ dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.md5 Tue Mar 20 04:26:13 2018
@@ -0,0 +1 @@
+hbase-1.3.2-bin.tar.gz: 1F 38 72 E7 32 C5 82 F4  57 A4 6D DF 22 F7 48 4F

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.sha
==
--- dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.sha (added)
+++ dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-bin.tar.gz.sha Tue Mar 20 04:26:13 2018
@@ -0,0 +1,3 @@
+hbase-1.3.2-bin.tar.gz: 9125108A A350A145 3D89E38C D7184D6B 896FF067 928FEEF3
+B7C43F6C EB205AD2 E241D85E D2EB8C0C 90E61C96 76C205FA
+2B40AAD6 5F4B0086 624C9682 91A06121

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz
==
Binary file - no diff available.

Propchange: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.asc
==
--- dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.asc (added)
+++ dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.asc Tue Mar 20 04:26:13 2018
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCAAdFiEE/zMHtE22nIOTsJhfIodD2tZG2fMFAlqwi4AACgkQIodD2tZG
+2fPEpRAAvw/n+oTSsfxtlHXCfAzZiLbrexB0TF97i7iXkq7apmv86McjBC7AR35e
+auwJptOJJCKnxE5RyPDQFBwT5mlaCMcWcTOCejGhek0R4mCM/+YY82ZsxID/iCNr
+DBM25PcWNrRcuxVlm6+eiRyjEZtwh4CZsR8f3efkDIx/nfo/Wa8mLOITKvefa6pl
+WJqj4lG1NcVaMFSMBh9j09g2uMZQP2h7HmaA6gepCVRT6TFnFH7CPFcjQYh7UOrv
+XconynG4XzKJW54NDTNTl6wTZ7wnKOPJUwGKI+5OwKwOrvNJ3TC2KoXzi5WBfrO8
+VtRo0cwph8V2fa+JZ38Ma/sAgwP51lQENCFmyvGQ/WKGMdG9rWmnpqiZlkIg5SmS
+8dpNtRFg2/sJjjGh8IqCwV029/XpP0E1/kuCRreg2FU8cmGB87bn/5Np6ijiQfuO
+FymYlE2R9q5lyUqJs1WzIVK9Ngf0/yNj9YSI+vk6s2K+0KbIzd1CjRCd3kdHwh5L
+Bna+Oh9NnbMb2TcUaVIV1Zo87GfR126ivCECdi+e5VOOvoiy58h99Xl96alFqyFm
+22fstLhssbAboZMUkqUjHQ8XD2Wbb/UNEtsGI015VF7rMfpVQCE+yNP45Ck5krGY
+l1QHWGSJPNebD9W3Mw2R2my/g/F4LkK6TUN/BIOieWJTh8uMiOA=
+=5mjL
+-END PGP SIGNATURE-

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.md5
==
--- dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.md5 (added)
+++ dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.md5 Tue Mar 20 04:26:13 2018
@@ -0,0 +1 @@
+hbase-1.3.2-src.tar.gz: 63 5B 7A DA C6 41 F5 FF  43 FF 8D 2B EC 2F E2 93

Added: dev/hbase/hbase-1.3.2RC1/hbase-1.3.2-src.tar.gz.sha

[hbase] Git Push Summary

2018-03-19 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [created] d284dc3ef


[hbase] Git Push Summary

2018-03-19 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [deleted] 4b095244c


hbase git commit: Update CHANGES.txt for 1.3.2 release (RC1)

2018-03-18 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 c6ab36ede -> 1bedb5bfb


Update CHANGES.txt for 1.3.2 release (RC1)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1bedb5bf
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1bedb5bf
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1bedb5bf

Branch: refs/heads/branch-1.3
Commit: 1bedb5bfbb5a99067e7bc54718c3124f632b6e17
Parents: c6ab36e
Author: Francis Liu 
Authored: Sun Mar 18 22:24:48 2018 -0700
Committer: Francis Liu 
Committed: Sun Mar 18 22:24:48 2018 -0700

--
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/1bedb5bf/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8e5ba27..a0b5440 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -206,6 +206,7 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-20162] - [nightly] depending on pipeline execution we sometimes 
refer to the wrong workspace
 * [HBASE-20164] - failed hadoopcheck should add footer link
 * [HBASE-20174] - Fix TestZKLessMergeOnCluster flakiness
+* [HBASE-20189] - Typo in Required Java Version error message while 
building HBase.
 
 ** New Feature
 * [HBASE-19189] - Ad-hoc test job for running a subset of tests lots of 
times



[hbase] Git Push Summary

2018-03-13 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [deleted] 1ceb91b84


[hbase] Git Push Summary

2018-03-13 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [created] 4b095244c


hbase git commit: Update CHANGES.txt for 1.3.2 release (RC1)

2018-03-13 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 58ecd8f95 -> f0e574a7b


Update CHANGES.txt for 1.3.2 release (RC1)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f0e574a7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f0e574a7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f0e574a7

Branch: refs/heads/branch-1.3
Commit: f0e574a7b3ce8f2323415b38a7806e856b1c2815
Parents: 58ecd8f
Author: Francis Liu 
Authored: Tue Mar 13 16:08:22 2018 -0700
Committer: Francis Liu 
Committed: Tue Mar 13 16:08:22 2018 -0700

--
 CHANGES.txt | 14 ++
 1 file changed, 14 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f0e574a7/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index cd60bc9..8e5ba27 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -31,6 +31,7 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-19368] - [nightly] Make xml test non-voting in branch-1.2
 * [HBASE-19373] - Fix Checkstyle error in hbase-annotations
 * [HBASE-19468] - FNFE during scans and flushes
+* [HBASE-19502] - Make sure we have closed all StoreFileScanners if we 
fail to open any StoreFileScanners
 * [HBASE-19877] - hbase-common and hbase-zookeeper don't add the 
log4j.properties to the resource path for testing
 
 ** Bug
@@ -123,6 +124,7 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-18771] - Incorrect StoreFileRefresh leading to split and 
compaction failures
 * [HBASE-18796] - Admin#isTableAvailable returns incorrect result before 
daughter regions are opened
 * [HBASE-18818] - TestConnectionImplemenation fails
+* [HBASE-18864] - NullPointerException thrown when adding rows to a table 
from peer cluster, table with replication factor other than 0 or 1
 * [HBASE-18885] - HFileOutputFormat2 hardcodes default FileOutputCommitter
 * [HBASE-18890] - Backport HBASE-14499 (Master coprocessors shutdown will 
not happen on master abort) to branch-1
 * [HBASE-18891] - Upgrade netty-all jar
@@ -150,6 +152,7 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-19072] - Missing break in catch block of InterruptedException in 
HRegion#waitForFlushes() 
 * [HBASE-19098] - Python based compatiblity checker fails if git repo does 
not have a remote named 'origin'
 * [HBASE-19102] - TestZooKeeperMainServer fails with 
KeeperException$ConnectionLossException
+* [HBASE-19118] - Use SaslUtil to set Sasl.QOP in 'Thrift'
 * [HBASE-19124] - Move HBase-Nightly source artifact creation test from 
JenkinsFile to a script in dev-support
 * [HBASE-19137] - Nightly test should make junit reports optional rather 
than attempt archive after reporting.
 * [HBASE-19156] - Duplicative regions_per_server options on LoadTestTool
@@ -162,6 +165,7 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-19245] - MultiTableInputFormatBase#getSplits creates a Connection 
per Table
 * [HBASE-19249] - test for "hbase antipatterns" should check _count_ of 
occurance rather than text of
 * [HBASE-19260] - Add lock back to avoid parallel accessing meta to locate 
region
+* [HBASE-19285] - Add per-table latency histograms
 * [HBASE-19332] - DumpReplicationQueues misreports total WAL size
 * [HBASE-19340] - Backport missing options in shell
 * [HBASE-19350] - TestMetaWithReplicas is flaky
@@ -181,6 +185,7 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-19756] - Master NPE during completed failed proc eviction
 * [HBASE-19790] - Fix compatibility break in 1.3.2-SNAPSHOT
 * [HBASE-19796] - ReplicationSynUp tool is not replicating the data if the 
WAL is moved to splitting directory
+* [HBASE-19802] - Wrong usage messages on shell commands (grant/revoke 
namespace syntax)
 * [HBASE-19871] - delete.rb should require user to provide the column
 * [HBASE-19876] - The exception happening in converting pb mutation to 
hbase.mutation messes up the CellScanner
 * [HBASE-19900] - Region-level exception destroy the result of batch
@@ -195,6 +200,12 @@ Release Notes - HBase - Version 1.3.2 03/05/18
 * [HBASE-20061] - HStore synchronized member variable filesCompacting 
should be private
 * [HBASE-20062] - findbugs is not running on precommit checks
 * [HBASE-20106] - API Compliance checker should fall back to specifying 
origin as remote repo
+* [HBASE-20134] - support scripts use hard-coded /tmp
+* [HBASE-20139] - NPE in RSRpcServices.get() when getRegion throws an 
exception
+* [HBASE-20146] - Regions are stuck while opening when WAL is disabled
+* [HBASE-20162] - [nightly] depending on pipeline execution we sometimes 
refer to 

[hbase] Git Push Summary

2018-03-12 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [created] 1ceb91b84


[hbase] Git Push Summary

2018-03-12 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [deleted] 874cf2d26


[hbase] Git Push Summary

2018-03-12 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC1 [created] 874cf2d26


hbase git commit: HBASE-20174 Fix TestZKLessMergeOnCluster flakiness

2018-03-12 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 0d81bd171 -> 96a029c0f


HBASE-20174 Fix TestZKLessMergeOnCluster flakiness


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/96a029c0
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/96a029c0
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/96a029c0

Branch: refs/heads/branch-1.3
Commit: 96a029c0f6da60a2a78787fd9daa06d9cc287b71
Parents: 0d81bd1
Author: Francis Liu 
Authored: Mon Mar 12 16:57:44 2018 -0700
Committer: Francis Liu 
Committed: Mon Mar 12 17:03:06 2018 -0700

--
 .../regionserver/TestRegionMergeTransactionOnCluster.java   | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/96a029c0/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
index a15508d..0501de3 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
@@ -60,6 +60,8 @@ import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.master.RegionState.State;
 import org.apache.hadoop.hbase.master.RegionStates;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.protobuf.generated.AdminProtos;
+import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration;
 import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
@@ -109,6 +111,9 @@ public class TestRegionMergeTransactionOnCluster {
 
   static void setupOnce() throws Exception {
 // Start a cluster
+//Make sure discharger does not interfere with tests that control 
discharger
+
TEST_UTIL.getConfiguration().setInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_INTERVAL,
+Integer.MAX_VALUE);
 TEST_UTIL.startMiniCluster(NB_SERVERS);
 cluster = TEST_UTIL.getHBaseCluster();
 master = cluster.getMaster();
@@ -235,7 +240,9 @@ public class TestRegionMergeTransactionOnCluster {
 for(HColumnDescriptor colFamily : columnFamilies) {
   newcount += hrfs.getStoreFiles(colFamily.getName()).size();
 }
-if(newcount > count) {
+if(newcount > count &&
+//compacted file added to directory, let's make sure compaction is 
actually done with the commit
+admin.getCompactionState(tableName) == 
AdminProtos.GetRegionInfoResponse.CompactionState.NONE) {
   break;
 }
 Thread.sleep(50);



hbase git commit: HBASE-20174 Fix TestZKLessMergeOnCluster flakiness

2018-03-12 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 15d75e4fc -> 10076c2fa


HBASE-20174 Fix TestZKLessMergeOnCluster flakiness


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/10076c2f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/10076c2f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/10076c2f

Branch: refs/heads/branch-1.4
Commit: 10076c2fa92d542ae3f193abf11e0e2c36fcc499
Parents: 15d75e4
Author: Francis Liu 
Authored: Mon Mar 12 16:57:44 2018 -0700
Committer: Francis Liu 
Committed: Mon Mar 12 16:58:44 2018 -0700

--
 .../regionserver/TestRegionMergeTransactionOnCluster.java   | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/10076c2f/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
index a15508d..0501de3 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
@@ -60,6 +60,8 @@ import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.master.RegionState.State;
 import org.apache.hadoop.hbase.master.RegionStates;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.protobuf.generated.AdminProtos;
+import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration;
 import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
@@ -109,6 +111,9 @@ public class TestRegionMergeTransactionOnCluster {
 
   static void setupOnce() throws Exception {
 // Start a cluster
+//Make sure discharger does not interfere with tests that control 
discharger
+
TEST_UTIL.getConfiguration().setInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_INTERVAL,
+Integer.MAX_VALUE);
 TEST_UTIL.startMiniCluster(NB_SERVERS);
 cluster = TEST_UTIL.getHBaseCluster();
 master = cluster.getMaster();
@@ -235,7 +240,9 @@ public class TestRegionMergeTransactionOnCluster {
 for(HColumnDescriptor colFamily : columnFamilies) {
   newcount += hrfs.getStoreFiles(colFamily.getName()).size();
 }
-if(newcount > count) {
+if(newcount > count &&
+//compacted file added to directory, let's make sure compaction is 
actually done with the commit
+admin.getCompactionState(tableName) == 
AdminProtos.GetRegionInfoResponse.CompactionState.NONE) {
   break;
 }
 Thread.sleep(50);



hbase git commit: HBASE-20174 Fix TestZKLessMergeOnCluster flakiness

2018-03-12 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1 b54a439e5 -> 38471229f


HBASE-20174 Fix TestZKLessMergeOnCluster flakiness


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/38471229
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/38471229
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/38471229

Branch: refs/heads/branch-1
Commit: 38471229f9bc2a5bf433d50c4ac35c609a96c392
Parents: b54a439
Author: Francis Liu 
Authored: Mon Mar 12 16:57:44 2018 -0700
Committer: Francis Liu 
Committed: Mon Mar 12 16:57:59 2018 -0700

--
 .../regionserver/TestRegionMergeTransactionOnCluster.java   | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/38471229/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
index a15508d..0501de3 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
@@ -60,6 +60,8 @@ import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.master.RegionState.State;
 import org.apache.hadoop.hbase.master.RegionStates;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.protobuf.generated.AdminProtos;
+import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration;
 import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
@@ -109,6 +111,9 @@ public class TestRegionMergeTransactionOnCluster {
 
   static void setupOnce() throws Exception {
 // Start a cluster
+//Make sure discharger does not interfere with tests that control 
discharger
+
TEST_UTIL.getConfiguration().setInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_INTERVAL,
+Integer.MAX_VALUE);
 TEST_UTIL.startMiniCluster(NB_SERVERS);
 cluster = TEST_UTIL.getHBaseCluster();
 master = cluster.getMaster();
@@ -235,7 +240,9 @@ public class TestRegionMergeTransactionOnCluster {
 for(HColumnDescriptor colFamily : columnFamilies) {
   newcount += hrfs.getStoreFiles(colFamily.getName()).size();
 }
-if(newcount > count) {
+if(newcount > count &&
+//compacted file added to directory, let's make sure compaction is 
actually done with the commit
+admin.getCompactionState(tableName) == 
AdminProtos.GetRegionInfoResponse.CompactionState.NONE) {
   break;
 }
 Thread.sleep(50);



svn commit: r25551 - /dev/hbase/hbase-1.3.2RC0/

2018-03-07 Thread toffer
Author: toffer
Date: Wed Mar  7 08:22:01 2018
New Revision: 25551

Log:
added 1.3.2RC0

Added:
dev/hbase/hbase-1.3.2RC0/
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz   (with props)
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.asc
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.md5
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.sha
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz   (with props)
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.asc
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.md5
dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.sha

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz
==
Binary file - no diff available.

Propchange: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.asc
==
--- dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.asc (added)
+++ dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.asc Wed Mar  7 08:22:01 2018
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCAAdFiEE/zMHtE22nIOTsJhfIodD2tZG2fMFAlqfnjgACgkQIodD2tZG
+2fN2VxAAryQh6RxRJ5CU/obtnyK8mbmv1sbk1dZ5ezx9mH+zYRPaoN3KCn5Ii/X3
+Y2S4aoIX62n9VlVNC4IWsWuJLWksetiJeTJ3PuN7y6ozIA0okTyC7srULCrWyIVx
+2I0HE4wU/+T8r14VpiZaEsd9gE6NjWK19/wG2V4QA+4v0OCXx/EQ90C7PgsMHeTz
+oOJXSaGP7+QDrSPPSM15taayQZvV4X1FjhXE7qX5kcifPPdNMqpFhR5FMV/6XT3U
+JuZK4mHJ8n2TYPJls9xRHzuSfbAoF8g5KflJzhRvWLFRXB4bsH5hj36eDLLi2RW5
+8zOSpMjYEKDFxsj9yC5kiwxtDXD+pnE0yHq7kx+h6BiG0UiJV1ZjzSPA5X7vu/nj
+Q+7BIBPRgHq+2zPRWR9UmnT15762IOk2UmrTYZg9qO5DYdUBJyo/r8gL7nbZh2KG
+QGaHJD7yJf71UlyNXLtj6y1NYHUDUldlaNdYp/adO3j/5OdmfiKc5nB1dVIWxJoB
+Ckt2x/nvxlDQ6e2MERY0DSocydFZ0YftdfBsRiXH1hXL5nN6rwNl4mQ8GGA9i1N0
+OKf087DUp7HZPjIQDAvprJ6z2jr14/ARYaTOsLaJZrxPpYhVgGNh9IaceqGsye76
+rKArkhAire9QpK+yskeLEwbKwE/fHuihYEwKbCCPY5GhUr9axRE=
+=dzN8
+-END PGP SIGNATURE-

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.md5
==
--- dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.md5 (added)
+++ dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.md5 Wed Mar  7 08:22:01 2018
@@ -0,0 +1 @@
+hbase-1.3.2-bin.tar.gz: EF B8 5E 12 ED 19 63 19  A0 6D C6 43 6C F0 76 59

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.sha
==
--- dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.sha (added)
+++ dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-bin.tar.gz.sha Wed Mar  7 08:22:01 2018
@@ -0,0 +1,3 @@
+hbase-1.3.2-bin.tar.gz: B4A2F0A4 30FC657D ECC1D384 630A761E A8CD7384 677E4DDF
+E6430FB8 D4932921 D670EEA8 2D58F217 26E0BA3B BA35E547
+F8D48128 07F0E064 A66DD371 13895219

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz
==
Binary file - no diff available.

Propchange: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.asc
==
--- dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.asc (added)
+++ dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.asc Wed Mar  7 08:22:01 2018
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCAAdFiEE/zMHtE22nIOTsJhfIodD2tZG2fMFAlqfnjkACgkQIodD2tZG
+2fOfmw/+LZX7P5G5Jx7oFXrXeaMFfJrWpZTIwI4IvjlB3MCfwCa4Ahb4pE1pSuRM
+g8rQzJ6uUgEP6qeyhGR09TVNfySEG+UA3xkueLYtsZAiIV8SRhEZlpznrpjwimGz
+L/LiGVOSt96vdMBzqIYOxq2H0sD7qynqPkzeu+hdbnVzzb82poVe5rO5Sn+pKuPW
+slaEURkqWCccrpZF+EI54Gdpuv+YbJp76CPEo6anZ2flKM+4bo7iTjMkAkUuTZh/
+SrpB+9YuesoNUJnpCX18rYLi37MJKDjOPJ2q0irsMlUDbbDXUUz/rzx4qCrq4AGC
+1A4xEcx4zM8VeLzOQzQUNyhdgr+rOsLcyF8xGLg3dkjeMOn7zhu5oTjzi36eqU9L
+cPsAoHKVSwyXRjsmaWyqcdx1wemKEJBI3+LbTwYvIFZWBPi/Soxx2f455LkvouSK
+xafs8O50XYsvciscTxLx7JlRbmfoDXucMO9NnVrEhgptoD1AqKLdZBifOKzIUklw
+tWQX25SSc6RkpU/PrtG8uv3lb+57hWRFUe970KEWstc5xUpepmzpgaUBo7iaR0A/
+R5UvuJ1Nhmnc6FYB/lEhhIQtMQScCV37tyu4G1ZBR39WhXd26T1rOlYUJVjG4mNJ
+JrsrKLAl5l7dqU9LCzRtvWUCzhmZasAp4MReauPRXu2MtR9pfTE=
+=sWjT
+-END PGP SIGNATURE-

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.md5
==
--- dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.md5 (added)
+++ dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.md5 Wed Mar  7 08:22:01 2018
@@ -0,0 +1 @@
+hbase-1.3.2-src.tar.gz: 54 83 E8 71 21 59 46 A4  68 0E EC B4 11 F0 AD 43

Added: dev/hbase/hbase-1.3.2RC0/hbase-1.3.2-src.tar.gz.sha

[hbase] Git Push Summary

2018-03-05 Thread toffer
Repository: hbase
Updated Tags:  refs/tags/1.3.2RC0 [created] 5069f5ae0


hbase git commit: Update POMs and CHANGES.txt for 1.3.2 release

2018-03-05 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 6a9ddaca1 -> 4fc36c6e4


Update POMs and CHANGES.txt for 1.3.2 release


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4fc36c6e
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4fc36c6e
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4fc36c6e

Branch: refs/heads/branch-1.3
Commit: 4fc36c6e4ee84091d02a7e26fc45bae3fcb0e30f
Parents: 6a9ddac
Author: Francis Liu 
Authored: Mon Mar 5 14:31:55 2018 -0800
Committer: Francis Liu 
Committed: Mon Mar 5 14:31:55 2018 -0800

--
 CHANGES.txt | 258 +++
 hbase-annotations/pom.xml   |   2 +-
 .../hbase-archetype-builder/pom.xml |   2 +-
 hbase-archetypes/hbase-client-project/pom.xml   |   2 +-
 .../hbase-shaded-client-project/pom.xml |   2 +-
 hbase-archetypes/pom.xml|   2 +-
 hbase-assembly/pom.xml  |   2 +-
 hbase-checkstyle/pom.xml|   4 +-
 hbase-client/pom.xml|   2 +-
 hbase-common/pom.xml|   2 +-
 hbase-examples/pom.xml  |   2 +-
 hbase-external-blockcache/pom.xml   |   2 +-
 hbase-hadoop-compat/pom.xml |   2 +-
 hbase-hadoop2-compat/pom.xml|   2 +-
 hbase-it/pom.xml|   2 +-
 hbase-prefix-tree/pom.xml   |   2 +-
 hbase-procedure/pom.xml |   2 +-
 hbase-protocol/pom.xml  |   2 +-
 hbase-resource-bundle/pom.xml   |   2 +-
 hbase-rest/pom.xml  |   2 +-
 hbase-server/pom.xml|   2 +-
 .../hbase-shaded-check-invariants/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-client/pom.xml|   2 +-
 hbase-shaded/hbase-shaded-server/pom.xml|   2 +-
 hbase-shaded/pom.xml|   2 +-
 hbase-shell/pom.xml |   2 +-
 hbase-testing-util/pom.xml  |   2 +-
 hbase-thrift/pom.xml|   2 +-
 pom.xml |   2 +-
 29 files changed, 287 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/4fc36c6e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index d9a9e2e..cd60bc9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,263 @@
 HBase Change Log
 
+Release Notes - HBase - Version 1.3.2 03/05/18
+
+** Sub-task
+* [HBASE-15691] - Port HBASE-10205 (ConcurrentModificationException in 
BucketAllocator) to branch-1
+* [HBASE-17887] - Row-level consistency is broken for read
+* [HBASE-17925] - mvn assembly:single fails against hadoop3-alpha2
+* [HBASE-18268] - Eliminate the findbugs warnings for hbase-client
+* [HBASE-18293] - Only add the spotbugs dependency when jdk8 is active
+* [HBASE-18295] -  The result contains the cells across different rows
+* [HBASE-18308] - Eliminate the findbugs warnings for hbase-server
+* [HBASE-18315] - Eliminate the findbugs warnings for hbase-rest
+* [HBASE-18365] - Eliminate the findbugs warnings for hbase-common
+* [HBASE-18398] - Snapshot operation fails with FileNotFoundException
+* [HBASE-18656] - Address issues found by error-prone in hbase-common
+* [HBASE-18731] - [compat 1-2] Mark protected methods of QuotaSettings 
that touch Protobuf internals as IA.Private
+* [HBASE-18867] - maven enforcer plugin needs update to work with jdk9
+* [HBASE-18936] - Backport HBASE-16870 to branch-1.3
+* [HBASE-18937] - Backport HBASE-16815 to branch-1.3
+* [HBASE-18938] - Backport HBASE-16985 to branch-1.3
+* [HBASE-18939] - Backport HBASE-16538 to branch-1.3
+* [HBASE-18957] - add test that confirms 2 FamilyFilters in a FilterList 
using MUST_PASS_ONE operator will return results that match either of the 
FamilyFilters and revert as needed to make it pass.
+* [HBASE-18967] - Backport HBASE-17181 to branch-1.3
+* [HBASE-18980] - Address issues found by error-prone in 
hbase-hadoop2-compat
+* [HBASE-19070] - temporarily make the mvnsite nightly test non-voting.
+* [HBASE-19182] - Add deprecation in branch-1 for hbase-prefix-tree so 
some heads up it removed in hbase2
+* [HBASE-19205] - Backport HBASE-18441 
ZookeeperWatcher#interruptedException should throw exception
+* [HBASE-19243] - Start mini cluster once before class for 
TestFIFOCompactionPolicy
+* [HBASE-19354] - [branch-1] Build using a jdk that is beyond ubuntu 
trusty's openjdk-151
+* 

hbase git commit: HBASE-19989 - READY_TO_MERGE and READY_TO_SPLIT do not update region state correctly

2018-02-27 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 6b4939826 -> d71042620


HBASE-19989 - READY_TO_MERGE and READY_TO_SPLIT do not update region state 
correctly

Author: Ben Lau 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d7104262
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d7104262
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d7104262

Branch: refs/heads/branch-1.3
Commit: d71042620b4d01b69197bbad51597e7990d9c545
Parents: 6b49398
Author: Rahul Gidwani 
Authored: Tue Feb 27 12:41:48 2018 -0800
Committer: Francis Liu 
Committed: Tue Feb 27 13:43:12 2018 -0800

--
 .../hadoop/hbase/master/AssignmentManager.java  |  7 ++-
 .../regionserver/TestZKLessMergeOnCluster.java  | 45 
 .../regionserver/TestZKLessSplitOnCluster.java  | 45 
 3 files changed, 95 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/d7104262/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
index eca45cd..bf77dbf 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
@@ -4466,11 +4466,13 @@ public class AssignmentManager extends 
ZooKeeperListener {
 if (!((HMaster)server).getSplitOrMergeTracker().isSplitOrMergeEnabled(
 Admin.MasterSwitchType.SPLIT)) {
   errorMsg = "split switch is off!";
+  break;
 }
   } catch (IOException exp) {
 errorMsg = StringUtils.stringifyException(exp);
+break;
   }
-  break;
+  // Break out only for errors, otherwise fall through
 case SPLIT_PONR:
 case SPLIT:
   errorMsg =
@@ -4495,8 +4497,9 @@ public class AssignmentManager extends ZooKeeperListener {
   if (!((HMaster)server).getSplitOrMergeTracker().isSplitOrMergeEnabled(
   Admin.MasterSwitchType.MERGE)) {
 errorMsg = "merge switch is off!";
+break;
   }
-  break;
+  // Break out only for errors, otherwise fall through
 case MERGE_PONR:
 case MERGED:
   errorMsg = onRegionMerge(serverName, code, hri,

http://git-wip-us.apache.org/repos/asf/hbase/blob/d7104262/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
new file mode 100644
index 000..4900af8
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright The Apache Software Foundation
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.hadoop.hbase.regionserver;
+
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Like {@link TestRegionMergeTransaction} in that we're testing
+ * {@link RegionMergeTransaction} only the below tests are against a running
+ * cluster where {@link TestRegionMergeTransaction} is tests against bare
+ * {@link HRegion}.
+ */
+@Category(LargeTests.class)
+public class TestZKLessMergeOnCluster extends 
TestRegionMergeTransactionOnCluster {
+  @BeforeClass
+  public static void beforeAllTests() throws Exception {
+// Don't use ZK for region assignment
+TEST_UTIL.getConfiguration().setBoolean("hbase.assignment.usezk", false);
+setupOnce();
+  }
+
+  

hbase git commit: HBASE-19989 - READY_TO_MERGE and READY_TO_SPLIT do not update region state correctly

2018-02-27 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 4968be9c0 -> a3ba4d53d


HBASE-19989 - READY_TO_MERGE and READY_TO_SPLIT do not update region state 
correctly

Author: Ben Lau 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a3ba4d53
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a3ba4d53
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a3ba4d53

Branch: refs/heads/branch-1.4
Commit: a3ba4d53d90112c3d5fd23defc19ab4b3728ef57
Parents: 4968be9
Author: Rahul Gidwani 
Authored: Tue Feb 27 12:41:48 2018 -0800
Committer: Francis Liu 
Committed: Tue Feb 27 13:42:30 2018 -0800

--
 .../hadoop/hbase/master/AssignmentManager.java  |  7 ++-
 .../regionserver/TestZKLessMergeOnCluster.java  | 45 
 .../regionserver/TestZKLessSplitOnCluster.java  | 45 
 3 files changed, 95 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/a3ba4d53/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
index bc1e02f..e2acc09 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
@@ -4638,11 +4638,13 @@ public class AssignmentManager extends 
ZooKeeperListener {
 if (!((HMaster)server).getSplitOrMergeTracker().isSplitOrMergeEnabled(
 Admin.MasterSwitchType.SPLIT)) {
   errorMsg = "split switch is off!";
+  break;
 }
   } catch (IOException exp) {
 errorMsg = StringUtils.stringifyException(exp);
+break;
   }
-  break;
+  // Break out only for errors, otherwise fall through
 case SPLIT_PONR:
 case SPLIT:
   errorMsg =
@@ -4667,8 +4669,9 @@ public class AssignmentManager extends ZooKeeperListener {
   if (!((HMaster)server).getSplitOrMergeTracker().isSplitOrMergeEnabled(
   Admin.MasterSwitchType.MERGE)) {
 errorMsg = "merge switch is off!";
+break;
   }
-  break;
+  // Break out only for errors, otherwise fall through
 case MERGE_PONR:
 case MERGED:
   errorMsg = onRegionMerge(serverName, code, hri,

http://git-wip-us.apache.org/repos/asf/hbase/blob/a3ba4d53/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
new file mode 100644
index 000..4900af8
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestZKLessMergeOnCluster.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright The Apache Software Foundation
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.hadoop.hbase.regionserver;
+
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Like {@link TestRegionMergeTransaction} in that we're testing
+ * {@link RegionMergeTransaction} only the below tests are against a running
+ * cluster where {@link TestRegionMergeTransaction} is tests against bare
+ * {@link HRegion}.
+ */
+@Category(LargeTests.class)
+public class TestZKLessMergeOnCluster extends 
TestRegionMergeTransactionOnCluster {
+  @BeforeClass
+  public static void beforeAllTests() throws Exception {
+// Don't use ZK for region assignment
+TEST_UTIL.getConfiguration().setBoolean("hbase.assignment.usezk", false);
+setupOnce();
+  }
+
+  

hbase git commit: HBASE-19996 Some nonce procs might not be cleaned up (follow up HBASE-19756)

2018-02-14 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 a4116b243 -> 1bd38fde4


HBASE-19996 Some nonce procs might not be cleaned up (follow up HBASE-19756)

Signed-off-by: tedyu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1bd38fde
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1bd38fde
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1bd38fde

Branch: refs/heads/branch-1.3
Commit: 1bd38fde498c3f704e576a4e87ea2697804467e2
Parents: a4116b2
Author: Thiruvel Thirumoolan 
Authored: Tue Feb 13 17:38:16 2018 -0800
Committer: Francis Liu 
Committed: Wed Feb 14 19:46:54 2018 -0800

--
 .../hbase/procedure2/ProcedureExecutor.java |  30 +++--
 .../client/TestNonceProcCleanerOnFailure.java   | 101 --
 .../hbase/procedure/TestFailedProcCleanup.java  | 135 +++
 3 files changed, 157 insertions(+), 109 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/1bd38fde/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
index 51fd62f..420c499 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
@@ -52,6 +52,7 @@ import 
org.apache.hadoop.hbase.procedure2.store.ProcedureStore.ProcedureIterator
 import org.apache.hadoop.hbase.procedure2.util.StringUtils;
 import org.apache.hadoop.hbase.procedure2.util.TimeoutBlockingQueue;
 import 
org.apache.hadoop.hbase.procedure2.util.TimeoutBlockingQueue.TimeoutRetriever;
+import org.apache.hadoop.hbase.protobuf.generated.ErrorHandlingProtos;
 import 
org.apache.hadoop.hbase.protobuf.generated.ProcedureProtos.ProcedureState;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
@@ -178,17 +179,19 @@ public class ProcedureExecutor {
 // TODO: Select TTL based on Procedure type
 if ((procInfo.hasClientAckTime() && (now - 
procInfo.getClientAckTime()) >= evictAckTtl) ||
 (now - procInfo.getLastUpdate()) >= evictTtl) {
-  if (isDebugEnabled) {
-LOG.debug("Evict completed procedure: " + procInfo);
+  // Failed Procedures aren't persisted in WAL.
+  if (!(procInfo instanceof FailedProcedureInfo)) {
+store.delete(entry.getKey());
   }
+  it.remove();
+
   NonceKey nonceKey = procInfo.getNonceKey();
-  // Nonce procedures aren't persisted in WAL.
-  if (nonceKey == null) {
-store.delete(entry.getKey());
-  } else {
+  if (nonceKey != null) {
 nonceKeysToProcIdsMap.remove(nonceKey);
   }
-  it.remove();
+  if (isDebugEnabled) {
+LOG.debug("Evict completed procedure: " + procInfo);
+  }
 }
   }
 }
@@ -698,7 +701,7 @@ public class ProcedureExecutor {
 if (procId == null || completed.containsKey(procId)) return;
 
 final long currentTime = EnvironmentEdgeManager.currentTime();
-final ProcedureInfo result = new ProcedureInfo(
+final ProcedureInfo result = new FailedProcedureInfo(
   procId.longValue(),
   procName,
   procOwner != null ? procOwner.getShortName() : null,
@@ -712,6 +715,17 @@ public class ProcedureExecutor {
 completed.putIfAbsent(procId, result);
   }
 
+  public static class FailedProcedureInfo extends ProcedureInfo {
+
+public FailedProcedureInfo(long procId, String procName, String procOwner,
+ProcedureState procState, long parentId, NonceKey nonceKey,
+ErrorHandlingProtos.ForeignExceptionMessage exception, long 
lastUpdate, long startTime,
+byte[] result) {
+  super(procId, procName, procOwner, procState, parentId, nonceKey, 
exception, lastUpdate,
+  startTime, result);
+}
+  }
+
   // ==
   //  Submit/Abort Procedure
   // ==

http://git-wip-us.apache.org/repos/asf/hbase/blob/1bd38fde/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestNonceProcCleanerOnFailure.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestNonceProcCleanerOnFailure.java
 

hbase git commit: HBASE-19468 FNFE during scans and flushes (Ram)

2018-02-14 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 9b1f379f2 -> a4116b243


HBASE-19468 FNFE during scans and flushes (Ram)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a4116b24
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a4116b24
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a4116b24

Branch: refs/heads/branch-1.3
Commit: a4116b24347387909a0c717829d5cb616e6e1aef
Parents: 9b1f379
Author: ramkrish86 
Authored: Wed Dec 20 17:02:56 2017 +0530
Committer: Francis Liu 
Committed: Wed Feb 14 19:01:43 2018 -0800

--
 .../hadoop/hbase/regionserver/StoreScanner.java | 29 +---
 .../TestCompactedHFilesDischarger.java  | 46 +++-
 2 files changed, 68 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/a4116b24/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index d42852a..c95151b 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -22,6 +22,7 @@ package org.apache.hadoop.hbase.regionserver;
 import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.NavigableSet;
 import java.util.concurrent.CountDownLatch;
@@ -129,8 +130,10 @@ public class StoreScanner extends 
NonReversedNonLazyKeyValueScanner
   private boolean scanUsePread = false;
   // Indicates whether there was flush during the course of the scan
   private volatile boolean flushed = false;
+
   // generally we get one file from a flush
-  private final List flushedStoreFiles = new 
ArrayList(1);
+  private final List flushedstoreFileScanners =
+  new ArrayList(1);
   // generally we get one memstroe scanner from a flush
   private final List memStoreScannersAfterFlush = new 
ArrayList<>(1);
   // The current list of scanners
@@ -444,6 +447,10 @@ public class StoreScanner extends 
NonReversedNonLazyKeyValueScanner
 this.closing = true;
 clearAndClose(scannersForDelayedClose);
 clearAndClose(memStoreScannersAfterFlush);
+// clear them at any case. In case scanner.next() was never called
+// and there were some lease expiry we need to close all the scanners
+// on the flushed files which are open
+clearAndClose(flushedstoreFileScanners);
 // Under test, we dont have a this.store
 if (this.store != null)
   this.store.deleteChangedReaderObserver(this);
@@ -803,7 +810,17 @@ public class StoreScanner extends 
NonReversedNonLazyKeyValueScanner
 flushLock.lock();
 try {
   flushed = true;
-  flushedStoreFiles.addAll(sfs);
+  final boolean isCompaction = false;
+  boolean usePread = get || scanUsePread;
+  // SEE HBASE-19468 where the flushed files are getting compacted even 
before a scanner
+  // calls next(). So its better we create scanners here rather than 
next() call. Ensure
+  // these scanners are properly closed() whether or not the scan is 
completed successfully
+  // Eagerly creating scanners so that we have the ref counting ticking on 
the newly created
+  // store files. In case of stream scanners this eager creation does not 
induce performance
+  // penalty because in scans (that uses stream scanners) the next() call 
is bound to happen.   
+  List scanners = store.getScanners(sfs, cacheBlocks, 
get, usePread,
+isCompaction, matcher, scan.getStartRow(), scan.getStopRow(), 
this.readPt, false);
+  flushedstoreFileScanners.addAll(scanners);
   if (!CollectionUtils.isEmpty(memStoreScanners)) {
 clearAndClose(memStoreScannersAfterFlush);
 memStoreScannersAfterFlush.addAll(memStoreScanners);
@@ -871,13 +888,13 @@ public class StoreScanner extends 
NonReversedNonLazyKeyValueScanner
 List scanners = null;
 flushLock.lock();
 try {
-  List allScanners = new 
ArrayList<>(flushedStoreFiles.size() + memStoreScannersAfterFlush.size());
-  allScanners.addAll(store.getScanners(flushedStoreFiles, cacheBlocks, 
get, usePread,
-isCompaction, matcher, scan.getStartRow(), scan.getStopRow(), 
this.readPt, false));
+  List allScanners =
+  new ArrayList<>(flushedstoreFileScanners.size() + 
memStoreScannersAfterFlush.size());
+  allScanners.addAll(flushedstoreFileScanners);
   allScanners.addAll(memStoreScannersAfterFlush);
 

[2/2] hbase git commit: HBASE-16942 Add FavoredStochasticLoadBalancer and FN Candidate generators

2017-04-26 Thread toffer
HBASE-16942 Add FavoredStochasticLoadBalancer and FN Candidate generators

Signed-off-by: Francis Liu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6bad35e7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6bad35e7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6bad35e7

Branch: refs/heads/master
Commit: 6bad35e728385e8998a2e8aa6582611a02caa7fb
Parents: 177344c
Author: Thiruvel Thirumoolan 
Authored: Tue Apr 25 18:12:24 2017 -0700
Committer: Francis Liu 
Committed: Wed Apr 26 18:11:45 2017 -0700

--
 .../favored/FavoredNodeAssignmentHelper.java|  90 ++-
 .../hbase/favored/FavoredNodeLoadBalancer.java  |   5 +-
 .../hbase/favored/FavoredNodesManager.java  |  76 +-
 .../hbase/favored/FavoredNodesPromoter.java |   3 +
 .../hbase/master/balancer/BaseLoadBalancer.java |   7 +-
 .../balancer/FavoredStochasticBalancer.java | 730 +++
 .../master/balancer/StochasticLoadBalancer.java |  43 +-
 .../apache/hadoop/hbase/MiniHBaseCluster.java   |  29 +
 .../org/apache/hadoop/hbase/TestZooKeeper.java  |   2 +-
 .../hbase/client/TestTableFavoredNodes.java |   4 +-
 .../master/TestAssignmentManagerOnCluster.java  |   7 +-
 .../LoadOnlyFavoredStochasticBalancer.java  |  35 +
 .../balancer/TestFavoredNodeTableImport.java| 115 +++
 .../TestFavoredStochasticBalancerPickers.java   | 203 ++
 .../TestFavoredStochasticLoadBalancer.java  | 544 ++
 15 files changed, 1842 insertions(+), 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/6bad35e7/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
index 48745ca..bdec8dd 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
@@ -19,6 +19,8 @@
 
 package org.apache.hadoop.hbase.favored;
 
+import static org.apache.hadoop.hbase.ServerName.NON_STARTCODE;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -29,6 +31,7 @@ import java.util.Map.Entry;
 import java.util.Random;
 import java.util.Set;
 
+import com.google.common.collect.Maps;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -53,7 +56,6 @@ import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-import com.google.protobuf.InvalidProtocolBufferException;
 
 /**
  * Helper class for {@link FavoredNodeLoadBalancer} that has all the 
intelligence for racks,
@@ -224,7 +226,7 @@ public class FavoredNodeAssignmentHelper {
   // If there were fewer servers in one rack, say r3, which had 3 servers, one 
possible
   // placement could be r2:s5, , r4:s5, r1:s5, r2:s6,  ...
   // The regions should be distributed proportionately to the racksizes
-  void placePrimaryRSAsRoundRobin(Map 
assignmentMap,
+  public void placePrimaryRSAsRoundRobin(Map 
assignmentMap,
   Map primaryRSMap, List regions) {
 List rackList = new ArrayList<>(rackToRegionServerMap.size());
 rackList.addAll(rackToRegionServerMap.keySet());
@@ -236,9 +238,8 @@ public class FavoredNodeAssignmentHelper {
   }
 }
 int numIterations = 0;
-int firstServerIndex = random.nextInt(maxRackSize);
 // Initialize the current processing host index.
-int serverIndex = firstServerIndex;
+int serverIndex = random.nextInt(maxRackSize);
 for (HRegionInfo regionInfo : regions) {
   List currentServerList;
   String rackName;
@@ -282,7 +283,7 @@ public class FavoredNodeAssignmentHelper {
 }
   }
 
-  Map placeSecondaryAndTertiaryRS(
+  public Map placeSecondaryAndTertiaryRS(
   Map primaryRSMap) {
 Map secondaryAndTertiaryMap = new HashMap<>();
 for (Map.Entry entry : primaryRSMap.entrySet()) {
@@ -291,15 +292,7 @@ public class FavoredNodeAssignmentHelper {
   ServerName primaryRS = entry.getValue();
   try {
 // Create the secondary and tertiary region server pair object.
-ServerName[] favoredNodes;
-// Get the rack for the primary region server
-String primaryRack = 

[1/2] hbase git commit: HBASE-16942 Add FavoredStochasticLoadBalancer and FN Candidate generators

2017-04-26 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master 177344cdb -> 6bad35e72


http://git-wip-us.apache.org/repos/asf/hbase/blob/6bad35e7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java
new file mode 100644
index 000..3138567
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java
@@ -0,0 +1,544 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.balancer;
+
+import static org.apache.hadoop.hbase.ServerName.NON_STARTCODE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.ClusterStatus;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.HColumnDescriptor;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.HRegionInfo;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.MiniHBaseCluster;
+import org.apache.hadoop.hbase.Waiter;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.favored.FavoredNodeAssignmentHelper;
+import org.apache.hadoop.hbase.favored.FavoredNodesPlan;
+import org.apache.hadoop.hbase.master.HMaster;
+import org.apache.hadoop.hbase.master.RegionState;
+import org.apache.hadoop.hbase.master.RegionStates;
+import org.apache.hadoop.hbase.master.ServerManager;
+import org.apache.hadoop.hbase.regionserver.Region;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.favored.FavoredNodesManager;
+import org.apache.hadoop.hbase.master.LoadBalancer;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.JVMClusterUtil;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+
+@Category(MediumTests.class)
+public class TestFavoredStochasticLoadBalancer extends BalancerTestBase {
+
+  private static final Log LOG = 
LogFactory.getLog(TestFavoredStochasticLoadBalancer.class);
+
+  private static final HBaseTestingUtility TEST_UTIL = new 
HBaseTestingUtility();
+  private static final int SLAVES = 8;
+  private static final int REGION_NUM = SLAVES * 3;
+
+  private Admin admin;
+  private HMaster master;
+  private MiniHBaseCluster cluster;
+
+  @BeforeClass
+  public static void setupBeforeClass() throws Exception {
+Configuration conf = TEST_UTIL.getConfiguration();
+// Enable the favored nodes based load balancer
+conf.setClass(HConstants.HBASE_MASTER_LOADBALANCER_CLASS,
+LoadOnlyFavoredStochasticBalancer.class, LoadBalancer.class);
+  }
+
+  @Before
+  public void startCluster() throws Exception {
+TEST_UTIL.startMiniCluster(SLAVES);
+TEST_UTIL.getDFSCluster().waitClusterUp();
+cluster = TEST_UTIL.getMiniHBaseCluster();
+master = TEST_UTIL.getMiniHBaseCluster().getMaster();
+admin = TEST_UTIL.getAdmin();
+admin.setBalancerRunning(false, true);
+  }
+
+  @After
+  public void stopCluster() throws Exception {
+TEST_UTIL.cleanupTestDir();
+TEST_UTIL.shutdownMiniCluster();
+  }
+
+  @Test
+  public void testBasicBalance() throws Exception {
+
+TableName tableName = 

hbase git commit: HBASE-17198 Remove redundant FN updates to merged region

2017-01-31 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master 680289d67 -> bd7c9581f


HBASE-17198 Remove redundant FN updates to merged region

Signed-off-by: Francis Liu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/bd7c9581
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/bd7c9581
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/bd7c9581

Branch: refs/heads/master
Commit: bd7c9581f20b864db41dfdf83b6240c8a5dcca9d
Parents: 680289d
Author: Thiruvel Thirumoolan 
Authored: Thu Dec 8 19:21:58 2016 -0800
Committer: Francis Liu 
Committed: Tue Jan 31 11:17:58 2017 -0800

--
 .../hadoop/hbase/master/AssignmentManager.java   | 15 +--
 1 file changed, 1 insertion(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/bd7c9581/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
index 61eeb7e..6fdba7b 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
@@ -2684,20 +2684,7 @@ public class AssignmentManager {
 regionOnline(hri, serverName, 1);
 
 try {
-  if (this.shouldAssignRegionsWithFavoredNodes) {
-processFavoredNodesForMerge(hri, a, b);
-/*
- * This can be removed once HBASE-16119 (Procedure v2 Merge) is 
implemented and AM force
- * assigns the merged region on the same region server. FavoredNodes 
for the region would
- * be passed along with OpenRegionRequest and hence the following 
would become redundant.
- */
-List favoredNodes = 
server.getFavoredNodesManager().getFavoredNodes(hri);
-if (favoredNodes != null) {
-  Map regionFNMap = new HashMap<>(1);
-  regionFNMap.put(hri, favoredNodes);
-  server.getServerManager().sendFavoredNodes(serverName, regionFNMap);
-}
-  }
+  processFavoredNodesForMerge(hri, a, b);
 } catch (IOException e) {
   LOG.error("Error while processing favored nodes after merge.", e);
   return StringUtils.stringifyException(e);



hbase git commit: HBASE-17101: FavoredNodes should not apply to system tables

2017-01-31 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master 679182869 -> 680289d67


HBASE-17101: FavoredNodes should not apply to system tables

Signed-off-by: Francis Liu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/680289d6
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/680289d6
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/680289d6

Branch: refs/heads/master
Commit: 680289d67deb42922dd244daa11496a4c8a38f80
Parents: 6791828
Author: Thiruvel Thirumoolan 
Authored: Fri Dec 9 02:33:36 2016 -0800
Committer: Francis Liu 
Committed: Tue Jan 31 10:58:50 2017 -0800

--
 .../hbase/favored/FavoredNodeLoadBalancer.java  |  5 ++--
 .../hbase/favored/FavoredNodesManager.java  | 12 --
 .../hadoop/hbase/master/AssignmentManager.java  | 20 
 .../hbase/regionserver/RSRpcServices.java   | 12 ++
 .../hbase/client/TestTableFavoredNodes.java | 25 
 5 files changed, 61 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/680289d6/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.java
index 99aeede..f0af0d0 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.java
@@ -114,7 +114,7 @@ public class FavoredNodeLoadBalancer extends 
BaseLoadBalancer implements Favored
   currentServer.getPort(), ServerName.NON_STARTCODE);
   List list = entry.getValue();
   for (HRegionInfo region : list) {
-if(region.getTable().isSystemTable()) {
+if(!FavoredNodesManager.isFavoredNodeApplicable(region)) {
   continue;
 }
 List favoredNodes = fnm.getFavoredNodes(region);
@@ -209,7 +209,8 @@ public class FavoredNodeLoadBalancer extends 
BaseLoadBalancer implements Favored
   new FavoredNodeAssignmentHelper(servers, rackManager);
   assignmentHelper.initialize();
   ServerName primary = super.randomAssignment(regionInfo, servers);
-  if (!assignmentHelper.canPlaceFavoredNodes()) {
+  if (!FavoredNodesManager.isFavoredNodeApplicable(regionInfo)
+  || !assignmentHelper.canPlaceFavoredNodes()) {
 return primary;
   }
   List favoredNodes = fnm.getFavoredNodes(regionInfo);

http://git-wip-us.apache.org/repos/asf/hbase/blob/680289d6/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
index b055509..5e03997 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
@@ -83,6 +83,14 @@ public class FavoredNodesManager {
 return this.globalFavoredNodesAssignmentPlan.getFavoredNodes(regionInfo);
   }
 
+  /*
+   * Favored nodes are not applicable for system tables. We will use this to 
check before
+   * we apply any favored nodes logic on a region.
+   */
+  public static boolean isFavoredNodeApplicable(HRegionInfo regionInfo) {
+return !regionInfo.isSystemTable();
+  }
+
   public synchronized void updateFavoredNodes(Map regionFNMap)
   throws IOException {
 
@@ -99,8 +107,8 @@ public class FavoredNodesManager {
 throw new IOException("Duplicates found: " + servers);
   }
 
-  if (regionInfo.isSystemTable()) {
-throw new IOException("Can't update FN for system region: "
+  if (!isFavoredNodeApplicable(regionInfo)) {
+throw new IOException("Can't update FN for a un-applicable region: "
 + regionInfo.getRegionNameAsString() + " with " + servers);
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/680289d6/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
index 3005334..61eeb7e 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
+++ 

hbase git commit: HBASE-17107: FN info should be cleaned up on region/table cleanup

2016-12-20 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master f8474c8d4 -> 3599716df


HBASE-17107: FN info should be cleaned up on region/table cleanup

Signed-off-by: Francis Liu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3599716d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3599716d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3599716d

Branch: refs/heads/master
Commit: 3599716dffe33690a8f5446a2c22ef930d220402
Parents: f8474c8
Author: Thiruvel Thirumoolan 
Authored: Thu Dec 8 18:57:01 2016 -0800
Committer: Francis Liu 
Committed: Tue Dec 20 18:52:49 2016 -0800

--
 .../hbase/favored/FavoredNodesManager.java  |  2 +-
 .../hadoop/hbase/master/CatalogJanitor.java | 10 
 .../master/procedure/DeleteTableProcedure.java  |  7 +++
 .../hbase/client/TestTableFavoredNodes.java | 61 +++-
 4 files changed, 77 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/3599716d/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
index cfb9bef..b055509 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodesManager.java
@@ -165,7 +165,7 @@ public class FavoredNodesManager {
 teritiaryRSToRegionMap.put(serverToUse, regionList);
   }
 
-  private synchronized void 
deleteFavoredNodesForRegions(Collection regionInfoList) {
+  public synchronized void 
deleteFavoredNodesForRegions(Collection regionInfoList) {
 for (HRegionInfo hri : regionInfoList) {
   List favNodes = getFavoredNodes(hri);
   if (favNodes != null) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/3599716d/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
index e748c3b..d2863e3 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
@@ -27,6 +27,7 @@ import java.util.TreeMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import com.google.common.collect.Lists;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileSystem;
@@ -42,6 +43,7 @@ import org.apache.hadoop.hbase.backup.HFileArchiver;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.favored.FavoredNodesManager;
 import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.FSUtils;
@@ -215,6 +217,10 @@ public class CatalogJanitor extends ScheduledChore {
   MetaTableAccessor.deleteMergeQualifiers(services.getConnection(), 
mergedRegion);
   services.getServerManager().removeRegion(regionA);
   services.getServerManager().removeRegion(regionB);
+  FavoredNodesManager fnm = this.services.getFavoredNodesManager();
+  if (fnm != null) {
+fnm.deleteFavoredNodesForRegions(Lists.newArrayList(regionA, regionB));
+  }
   return true;
 }
 return false;
@@ -360,6 +366,10 @@ public class CatalogJanitor extends ScheduledChore {
   HFileArchiver.archiveRegion(this.services.getConfiguration(), fs, 
parent);
   MetaTableAccessor.deleteRegion(this.connection, parent);
   services.getServerManager().removeRegion(parent);
+  FavoredNodesManager fnm = this.services.getFavoredNodesManager();
+  if (fnm != null) {
+fnm.deleteFavoredNodesForRegions(Lists.newArrayList(parent));
+  }
   result = true;
 }
 return result;

http://git-wip-us.apache.org/repos/asf/hbase/blob/3599716d/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java
 

[3/3] hbase git commit: HBASE-16941: FavoredNodes - Split/Merge code paths

2016-12-07 Thread toffer
HBASE-16941: FavoredNodes - Split/Merge code paths

Signed-off-by: Francis Liu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c1293cc9
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c1293cc9
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c1293cc9

Branch: refs/heads/master
Commit: c1293cc91e29d09c04297f126a76e84edb1af8fd
Parents: 75567f8
Author: Thiruvel Thirumoolan 
Authored: Mon Dec 5 16:03:00 2016 -0800
Committer: Francis Liu 
Committed: Wed Dec 7 16:38:48 2016 -0800

--
 .../org/apache/hadoop/hbase/ServerName.java |   2 +-
 .../favored/FavoredNodeAssignmentHelper.java| 798 +++
 .../hbase/favored/FavoredNodeLoadBalancer.java  | 443 ++
 .../hbase/favored/FavoredNodesManager.java  | 185 +
 .../hadoop/hbase/favored/FavoredNodesPlan.java  | 144 
 .../hbase/favored/FavoredNodesPromoter.java |  35 +
 .../favored/StartcodeAgnosticServerName.java|  66 ++
 .../hadoop/hbase/master/AssignmentManager.java  |  77 +-
 .../master/AssignmentVerificationReport.java|   4 +-
 .../org/apache/hadoop/hbase/master/HMaster.java |  22 +-
 .../hadoop/hbase/master/MasterServices.java |   6 +
 .../hbase/master/RegionPlacementMaintainer.java |   4 +-
 .../hadoop/hbase/master/ServerManager.java  |  24 +
 .../SnapshotOfRegionAssignmentFromMeta.java |  81 +-
 .../balancer/FavoredNodeAssignmentHelper.java   | 606 --
 .../balancer/FavoredNodeLoadBalancer.java   | 356 -
 .../hbase/master/balancer/FavoredNodesPlan.java | 135 
 .../hbase/client/TestTableFavoredNodes.java | 297 +++
 .../TestFavoredNodeAssignmentHelper.java| 650 +++
 .../TestStartcodeAgnosticServerName.java|  50 ++
 .../hbase/master/MockNoopMasterServices.java|   6 +
 .../hbase/master/TestRegionPlacement.java   |   8 +-
 .../hbase/master/TestRegionPlacement2.java  |  19 +-
 .../TestFavoredNodeAssignmentHelper.java| 364 -
 24 files changed, 2861 insertions(+), 1521 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/c1293cc9/hbase-common/src/main/java/org/apache/hadoop/hbase/ServerName.java
--
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/ServerName.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/ServerName.java
index 8d18db0..4ae500a 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/ServerName.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/ServerName.java
@@ -98,7 +98,7 @@ import com.google.common.net.InetAddresses;
   private byte [] bytes;
   public static final List EMPTY_SERVER_LIST = new 
ArrayList(0);
 
-  private ServerName(final String hostname, final int port, final long 
startcode) {
+  protected ServerName(final String hostname, final int port, final long 
startcode) {
 // Drop the domain is there is one; no need of it in a local cluster.  
With it, we get long
 // unwieldy names.
 this.hostnameOnly = hostname;

http://git-wip-us.apache.org/repos/asf/hbase/blob/c1293cc9/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
new file mode 100644
index 000..98e058d
--- /dev/null
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java
@@ -0,0 +1,798 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.favored;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Random;
+import 

[2/3] hbase git commit: HBASE-16941: FavoredNodes - Split/Merge code paths

2016-12-07 Thread toffer
http://git-wip-us.apache.org/repos/asf/hbase/blob/c1293cc9/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index af05c16..970744d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -83,6 +83,8 @@ import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
 import org.apache.hadoop.hbase.exceptions.DeserializationException;
 import org.apache.hadoop.hbase.exceptions.MergeRegionException;
 import org.apache.hadoop.hbase.executor.ExecutorType;
+import org.apache.hadoop.hbase.favored.FavoredNodesManager;
+import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;
 import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;
 import org.apache.hadoop.hbase.ipc.RpcServer;
 import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;
@@ -91,7 +93,6 @@ import org.apache.hadoop.hbase.master.balancer.BalancerChore;
 import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;
 import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;
 import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;
-import org.apache.hadoop.hbase.master.balancer.SimpleLoadBalancer;
 import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;
 import org.apache.hadoop.hbase.master.cleaner.LogCleaner;
 import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;
@@ -365,6 +366,9 @@ public class HMaster extends HRegionServer implements 
MasterServices {
   /** flag used in test cases in order to simulate RS failures during master 
initialization */
   private volatile boolean initializationBeforeMetaAssignment = false;
 
+  /* Handle favored nodes information */
+  private FavoredNodesManager favoredNodesManager;
+
   /** jetty server for master to redirect requests to regionserver infoServer 
*/
   private org.mortbay.jetty.Server masterJettyServer;
 
@@ -749,6 +753,9 @@ public class HMaster extends HRegionServer implements 
MasterServices {
 
 this.initializationBeforeMetaAssignment = true;
 
+if (this.balancer instanceof FavoredNodesPromoter) {
+  favoredNodesManager = new FavoredNodesManager(this);
+}
 // Wait for regionserver to finish initialization.
 if (BaseLoadBalancer.tablesOnMaster(conf)) {
   waitForServerOnline();
@@ -771,6 +778,14 @@ public class HMaster extends HRegionServer implements 
MasterServices {
 // assigned when master is shutting down
 if (isStopped()) return;
 
+//Initialize after meta as it scans meta
+if (favoredNodesManager != null) {
+  SnapshotOfRegionAssignmentFromMeta snapshotOfRegionAssignment =
+  new SnapshotOfRegionAssignmentFromMeta(getConnection());
+  snapshotOfRegionAssignment.initialize();
+  favoredNodesManager.initialize(snapshotOfRegionAssignment);
+}
+
 // migrating existent table state from zk, so splitters
 // and recovery process treat states properly.
 for (Map.Entry entry : ZKDataMigrator
@@ -2995,4 +3010,9 @@ public class HMaster extends HRegionServer implements 
MasterServices {
   public LoadBalancer getLoadBalancer() {
 return balancer;
   }
+
+  @Override
+  public FavoredNodesManager getFavoredNodesManager() {
+return favoredNodesManager;
+  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/c1293cc9/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
index a4c27f3..7845101 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
@@ -32,6 +32,7 @@ import org.apache.hadoop.hbase.TableNotDisabledException;
 import org.apache.hadoop.hbase.TableNotFoundException;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.favored.FavoredNodesManager;
 import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;
 import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
 import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
@@ -409,4 +410,9 @@ public interface MasterServices extends Server {
* @return True if this master is stopping.
*/
   boolean isStopping();
+
+  /**
+   * @return Favored Nodes Manager
+   */
+  public FavoredNodesManager getFavoredNodesManager();
 }


[1/3] hbase git commit: HBASE-16941: FavoredNodes - Split/Merge code paths

2016-12-07 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master 75567f828 -> c1293cc91


http://git-wip-us.apache.org/repos/asf/hbase/blob/c1293cc9/hbase-server/src/test/java/org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.java
new file mode 100644
index 000..0939f8b
--- /dev/null
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.java
@@ -0,0 +1,650 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.favored;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.HRegionInfo;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.master.RackManager;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.SmallTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.Triple;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.mockito.Mockito;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+
+@Category({MasterTests.class, SmallTests.class})
+public class TestFavoredNodeAssignmentHelper {
+
+  private static List servers = new ArrayList();
+  private static Map rackToServers = new 
HashMap();
+  private static RackManager rackManager = Mockito.mock(RackManager.class);
+
+  // Some tests have randomness, so we run them multiple times
+  private static final int MAX_ATTEMPTS = 100;
+
+  @BeforeClass
+  public static void setupBeforeClass() throws Exception {
+// Set up some server -> rack mappings
+// Have three racks in the cluster with 10 hosts each.
+for (int i = 0; i < 40; i++) {
+  ServerName server = ServerName.valueOf("foo" + i + ":1234", -1);
+  if (i < 10) {
+Mockito.when(rackManager.getRack(server)).thenReturn("rack1");
+if (rackToServers.get("rack1") == null) {
+  List servers = new ArrayList();
+  rackToServers.put("rack1", servers);
+}
+rackToServers.get("rack1").add(server);
+  }
+  if (i >= 10 && i < 20) {
+Mockito.when(rackManager.getRack(server)).thenReturn("rack2");
+if (rackToServers.get("rack2") == null) {
+  List servers = new ArrayList();
+  rackToServers.put("rack2", servers);
+}
+rackToServers.get("rack2").add(server);
+  }
+  if (i >= 20 && i < 30) {
+Mockito.when(rackManager.getRack(server)).thenReturn("rack3");
+if (rackToServers.get("rack3") == null) {
+  List servers = new ArrayList();
+  rackToServers.put("rack3", servers);
+}
+rackToServers.get("rack3").add(server);
+  }
+  servers.add(server);
+}
+  }
+
+  // The tests decide which racks to work with, and how many machines to
+  // work with from any given rack
+  // Return a rondom 'count' number of servers from 'rack'
+  private static List getServersFromRack(Map 
rackToServerCount) {
+List chosenServers = new ArrayList();
+for (Map.Entry entry : rackToServerCount.entrySet()) {
+  List servers = rackToServers.get(entry.getKey());
+  for (int i = 0; i < entry.getValue(); i++) {
+chosenServers.add(servers.get(i));
+  }
+}
+return chosenServers;
+  }
+
+ 

hbase git commit: add Francis Liu to dev list

2016-07-07 Thread toffer
Repository: hbase
Updated Branches:
  refs/heads/master c137bafe5 -> e9f5db721


add Francis Liu to dev list


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e9f5db72
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e9f5db72
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e9f5db72

Branch: refs/heads/master
Commit: e9f5db7213d045e002c44e418b33550148de8f22
Parents: c137baf
Author: Francis Liu <tof...@apache.org>
Authored: Thu Jul 7 14:15:47 2016 -0700
Committer: Francis Liu <tof...@apache.org>
Committed: Thu Jul 7 14:15:47 2016 -0700

--
 pom.xml | 8 
 1 file changed, 8 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/e9f5db72/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 6077a5b..ea7743f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -526,6 +526,14 @@
   http://www.cloudera.com
 
 
+  toffer
+  Francis Liu
+  tof...@apache.org
+  -8
+  Yahoo
+  http://www.yahoo.com
+
+
   virag
   Virag Kothari
   vi...@yahoo-inc.com