Skip to content

HBASE-23055 Alter hbase:meta#1011

Closed
saintstack wants to merge 3054 commits intoapache:masterfrom
saintstack:HBASE-23055
Closed

HBASE-23055 Alter hbase:meta#1011
saintstack wants to merge 3054 commits intoapache:masterfrom
saintstack:HBASE-23055

Conversation

@saintstack
Copy link
Copy Markdown
Contributor

Make it so hbase:meta can be altered. TableState for hbase:meta
was hardcoded ENABLED. Make it dynamic. State is now kept in
current active Master. It is transient so falls back to default
if Master crashes. Add to registry a getMetaTableState
which reads mirrored state from zookeeper (NOT from Master and
defaults ENABLED if no implementation or error fetching state).
hbase:meta schema will be bootstrapped from the filesystem.
Changes to filesystem schema are atomic so we should be ok if
Master fails mid-edit (TBD). Undoes a bunch of guards that
prevented our being able to edit hbase:meta.

TODO: Tests, more clarity around hbase:meta table state, and undoing
references to hard-coded hbase:meta regioninfo.

M hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
 Throw illegal access exception if you try to use MetaTableAccessor
 getting state of the hbase:meta table.

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
 Add fetching of hbase:meta table state from registry. Adds cache of
 tablestates w/ a ttl of 1 second (adjustable).

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
  Add querying registry for hbase:meta table state.

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKAsyncRegistry.java
  Add querying of mirrored table state for hbase:meta table.

M hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZNodePaths.java
 Shutdown access.

M hbase-server/src/main/java/org/apache/hadoop/hbase/TableDescriptors.java
 Just cleanup.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java
 Add state holder for hbase:meta. Removed unused methods.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
 Shut down access.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.java
 Allow hbase:meta to be disabled.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java
 Allow hbase:meta to be enabled.

Signed-off-by: Bharath Vissapragada bharathv@apache.org

ArthurSXL8 and others added 30 commits September 16, 2019 10:31
…l expected regions in Canary

Signed-off-by: Xu Cang <xucang@apache.org>
Signed-off-by: stack <stack@apache.org>
(cherry picked from commit 1cb4f68)
…nd nightly. (apache#621)

master/branches-2 specific changes: work around yetus overwriting JAVA_HOME
in the container with the host JAVA_HOME.

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
(cherry picked from commit 41990ba)
(cherry picked from commit bcad0d9)
apache#524)

Signed-off-by: stack <stack@apache.org>
(cherry picked from commit f6ff970)
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
…il to clean up java.io.OutputStream

Signed-off-by: Andrew Purtell <apurtell@apache.org>
…nload for RegionMover.

closes apache#635

Signed-off-by: stack <stack@apache.org>
(cherry picked from commit ab076b0)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
… regions (apache#637)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
…nown server part (apache#634)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
… a "if(LOG.isTraceEnabled())" block.

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
(cherry picked from commit a85c6b4)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
… by the name which contain namespace (apache#639)

Signed-off-by: stack <stack@apache.org>
Use correct version for extra-enforcer-rules

Signed-off-by: Duo Zhang <zhangduo@apache.org>
…pache#556)

* HBASE-22941 merge operation returns parent regions in random order

store and return the merge parent regions in ascending order

remove left over check for exactly two merged regions

add unit test

* use SortedMap type to emphasise that the Map is sorted.

* use regionCount consistently and checkstyle fixes

* Delete tests that expect multiregion merges to fail.

Signed-off-by: stack <stack@apache.org>
… where CF contains special characters (like # etc.)

Signed-off-by: Sakthi<sakthi@apache.org>
(cherry picked from commit 49718b8)
…herChore

During startup, it's possible that quotas are enabled but the Master has
not yet created the hbase:quotas table.

Closes apache#559

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Josh Elser <elserj@apache.org>
There was a bug in which we would not drop the RegionSizes
for a table in a namespace, where the namespace had a quota
on it. This allowed a scenario in which recreation of a table
inside of a namespace would unintentionally move into violation
despite the table being empty. Need to make sure the RegionSizes
are dropped on table deletion if there is _any_ quota applying
to that table.

Signed-off-by: Josh Elser <elserj@apache.org>
…tTokenUtil, and move ClientTokenUtil to hbase-client (apache#649)
Signed-off-by: Guanghao Zhang <zhangguanghao1@xiaomi.com>
…slower (apache#631)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by:  stack <stack@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Norbert Kalmar <nkalmar@cloudera.com>
@Apache-HBase
Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 33s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 8 new or modified test files.
_ master Compile Tests _
+0 🆗 mvndep 0m 38s Maven dependency ordering for branch
+1 💚 mvninstall 5m 46s master passed
+1 💚 compile 2m 45s master passed
+1 💚 checkstyle 3m 7s master passed
+1 💚 shadedjars 4m 55s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 2m 3s master passed
+0 🆗 spotbugs 4m 57s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 7m 39s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 5m 34s the patch passed
+1 💚 compile 2m 49s the patch passed
+1 💚 javac 2m 49s the patch passed
+1 💚 checkstyle 0m 27s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 0m 38s hbase-client: The patch generated 0 new + 254 unchanged - 4 fixed = 254 total (was 258)
+1 💚 checkstyle 0m 15s The patch passed checkstyle in hbase-zookeeper
-1 ❌ checkstyle 1m 35s hbase-server: The patch generated 2 new + 382 unchanged - 30 fixed = 384 total (was 412)
+1 💚 checkstyle 0m 13s The patch passed checkstyle in hbase-shell
+1 💚 rubocop 0m 5s There were no new rubocop issues.
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 5m 26s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 19m 15s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
+1 💚 javadoc 2m 5s the patch passed
+1 💚 findbugs 9m 40s the patch passed
_ Other Tests _
+1 💚 unit 3m 44s hbase-common in the patch passed.
+1 💚 unit 2m 8s hbase-client in the patch passed.
+1 💚 unit 0m 55s hbase-zookeeper in the patch passed.
-1 ❌ unit 188m 23s hbase-server in the patch failed.
+1 💚 unit 7m 33s hbase-shell in the patch passed.
+1 💚 asflicense 2m 49s The patch does not generate ASF License warnings.
290m 19s
Reason Tests
Failed junit tests hadoop.hbase.master.procedure.TestMasterFailoverWithProcedures
Subsystem Report/Notes
Docker Client=19.03.5 Server=19.03.5 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/artifact/out/Dockerfile
GITHUB PR #1011
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile rubocop
uname Linux 075ace95d3ec 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/Base-PreCommit-GitHub-PR_PR-1011/out/precommit/personality/provided.sh
git revision master / b6a1f00
Default Java 1.8.0_181
checkstyle https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/artifact/out/diff-checkstyle-hbase-server.txt
unit https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/artifact/out/patch-unit-hbase-server.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/testReport/
Max. process+thread count 5107 (vs. ulimit of 10000)
modules C: hbase-common hbase-client hbase-zookeeper hbase-server hbase-shell U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 rubocop=0.79.0
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@saintstack
Copy link
Copy Markdown
Contributor Author

Merged manually after fixing checkstyle. Tried the failed test locally a few times and passes.

@saintstack saintstack closed this Jan 10, 2020
…egion replicas (apache#1001)

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
* Utility for completing passed TableState {@link CompletableFuture} <code>future</code>
* using passed parameters.
*/
private static CompletableFuture<Boolean> completeCheckTableState(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the return value used for?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this a holdover. I can make it void.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. Not a holdover. The boolean is true if table is in target state. Let me add javadoc.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The returned boolean is actually used. Boolean is true if state matches passed in expected state. Leaving.

* A znode maintained by MirroringTableStateManager.
* MirroringTableStateManager is deprecated to be removed in hbase3. It can also be disabled.
* Make sure it is enabled if you want to alter hbase:meta table in hbase2. In hbase3,
* TBD how metatable state will be hosted; likely on active hbase master.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the state will either be on zk or on hdfs? HMaster itself is state less...

In general, in the current architecture, I think it the state should be placed on zk, of course you could cache it in master and let client go to master to ask for the state.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I do not think we should name this as mirrored, it is the original data. The state in master's memory, is a cache, actually.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'mirroring' feature predates this patch. This is an old facility this patch just makes use of. Changing this old features name is outside realm of this work.

You get the bit that edit of meta is a rare, short-lived event and you get the bit that this implementation fails the state back to ENABLED if ever an issue, intentionally, to minimize our running into exotic situations. I don't want a permanently DISABLED state for hbase:meta, at least not at this stage in the game. We can do that later

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not relevant in new patch.

thenApply(state -> {
return state == null || state.equals(ENABLED_META_TABLE_STATE.getState())?
ENABLED_META_TABLE_STATE: new TableState(TableName.META_TABLE_NAME, state);
}).exceptionally(e -> {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently in HBase, usually we will create a new CompletableFuture and use FutureUtils.addListener to complete it. The code in exceptionally are a bit tricky, where we throw a CompletionException...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, saw that. Here, if no znode -- probably because the mirroring table state manager is turned off -- then I want the return to be ENABLED (Completed CF). Should I change this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not relevant in new patch

private static final Logger LOG = LoggerFactory.getLogger(TableStateManager.class);

/**
* All table state is kept in hbase:meta except that of hbase:meta itself.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general I do not think this is a good design. We should persist it somewhere, and just cache it in master's memory. And we do not need to disable a table when altering any more? And the solution here just assume that we only have one meta region? So the altering operation can be atomic? What if we have multiple meta regions and we crash in the middle? I think this patch also aims to implement splittable meta in the future? No?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bq. We should persist it somewhere, and just cache it in master's memory.

I explain why state is intentionally transient for now so table falls-back to ENABLED if problem like Master crash during alter; its one less thing for the operator to decipher and hbck2 navigate starting up a cluster; in other words we fallback to the 'known' state rather than persist DISABLED meta, a new condition that is sure to have holes in it.

bq. And the solution here just assume that we only have one meta region?

All of the code base presumes this, not just this patch (this patch is part work to undo this presumption letting go of hardcoded meta schema).

bq. I think this patch also aims to implement splittable meta in the future? No?

Splittable meta is another project, not this one.

bq. And we do not need to disable a table when altering any more?

This patch makes hbase:meta dynamic. Maybe the above will work. Let me try.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know splittable meta is not implemented by this one but I think we should prepare for it? Not adding new difficulty, by introducing more 'there is only one meta region' assumptions...

And I do not think we need to disable a table before altering it. The issue here is named 'Altering meta', not 'disabling meta', so let's try remove the disable/enable stuff and just implement the alter?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This discussion has been by-passed by your suggestion that we just support alter of meta, and not disable.

@@ -1,4 +1,6 @@
/**
/*
* Copyright The Apache Software Foundation
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've had this discussion before. Its not javadoc so seems right to remove the extra '*'. We should do up an agreement on way to go. Did you say why you think we should preserve the '**'? Is it because its in the formatter?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean the 'Copyright The Apache Software Foundation'.

setConfiguration(ColumnFamilyDescriptorBuilder.DATA_BLOCK_ENCODING,
DataBlockEncoding.ROW_INDEX_V1.toString()).build();
admin.modifyColumnFamily(TableName.META_TABLE_NAME, cfd);
admin.addColumnFamily(TableName.META_TABLE_NAME, newCfd);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now we allow users to add/remove families of meta table from client side? A bit dangerous. I think we should only allow a sub set of alter operations for meta table and system tables from client side? At least, we should not let them add or remove a column family, it will introduce very critical problems.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good point.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added blocking of delete to ModifyTableProcedure if hbase:meta and a core column family.

/**
*
* Should be private
* @deprecated Since 2.3.0. Should be for internal use only. Used by testing.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think this should be deprecated? The class is IA.Private so it is OK to put internal methods here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right. I wanted to take it private/protected but as you note, its Private so I can just do it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving it public for now (after removing the deprecated). Need to undo one reference in test before can take it private.

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Jan Hentschel <janh@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
@saintstack
Copy link
Copy Markdown
Contributor Author

@Apache9 Thanks for the review. Let me open a follow-on to address helpful feedback (Boolean => Void, Preventing CF deletion, etc.).

On the 'bad design', your objections seem a little out-of-place ('... presumes single meta region...') or easy to counter and your worries that this patch unsettles the codebase seem to pale compared to what has already gone into this minor branch. How to proceed? A discussion on dev list? Or would a write up on how this works help? A one-pager? Let me know.

Let me reopen this while we are commenting.....

@saintstack saintstack reopened this Jan 10, 2020
saintstack and others added 2 commits January 10, 2020 10:27
…ages"

This reverts commit fb9fa04.
i.e. reapplication of patch that was preamaturely applied.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: stack <stack@apache.org>
(cherry picked from commit 280b944)
…us" messages"

Minor addendum fixing log message.
@Apache-HBase
Copy link
Copy Markdown

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 32s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ master Compile Tests _
+1 💚 mvninstall 5m 36s master passed
+1 💚 compile 0m 59s master passed
+1 💚 checkstyle 1m 38s master passed
+1 💚 shadedjars 5m 7s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 38s master passed
+0 🆗 spotbugs 4m 35s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 4m 34s master passed
_ Patch Compile Tests _
+1 💚 mvninstall 5m 20s the patch passed
+1 💚 compile 0m 57s the patch passed
+1 💚 javac 0m 57s the patch passed
+1 💚 checkstyle 1m 19s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 4m 40s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 15m 52s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
+1 💚 javadoc 0m 36s the patch passed
+1 💚 findbugs 4m 31s the patch passed
_ Other Tests _
+1 💚 unit 153m 32s hbase-server in the patch passed.
+1 💚 asflicense 0m 37s The patch does not generate ASF License warnings.
212m 59s
Subsystem Report/Notes
Docker Client=19.03.5 Server=19.03.5 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/artifact/out/Dockerfile
GITHUB PR #1011
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 22d8c4b69881 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/Base-PreCommit-GitHub-PR_PR-1011/out/precommit/personality/provided.sh
git revision master / 8ca6148
Default Java 1.8.0_181
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/testReport/
Max. process+thread count 5355 (vs. ulimit of 10000)
modules C: hbase-server U: hbase-server
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1011/1/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

petersomogyi and others added 7 commits January 11, 2020 11:19
…e-rest

Signed-off-by: Viraj Jasani <vjasani@apache.org>
The cleanupBulkLoad method is only called for the first Region in the
table which was being bulk loaded into. This means that potentially N-1
other RegionServers (where N is the number of RegionServers) will leak
one FileSystem object into the FileSystem cache which will never be
cleaned up. We need to do this clean-up as a part of secureBulkLoadHFiles
otherwise we cannot guarantee that heap usage won't grow unbounded.

Closes apache#1029

Signed-off-by: Sean Busbey <busbey@apache.org>
… any regions its fixing (apache#917) (apache#1037)

The current process for an operator, after fixing holes in meta, is to
manually disable and enable the whole table. Let's try to avoid
bringing the whole table offline if we can. Have the master attempt to
queue up assignment procedures for any new regions it creates.

Signed-off-by: stack <stack@apache.org>
@saintstack saintstack force-pushed the HBASE-23055 branch 2 times, most recently from 4e3f21d to 09b44c8 Compare January 15, 2020 00:49
Make hbase:meta region schema dynamic.

Patch has been under development a good while and its focus has changed
a few times so its bloated with fixup from older versions.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZNodePaths.java
 Shut down access to internals and removed unused methods.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java
 Cleanup/refactor section on replica-handling.

M hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java
 Get hbase:meta schema from filesystem rather than from hard-coding.
@saintstack
Copy link
Copy Markdown
Contributor Author

Closing messed up push.

@saintstack saintstack deleted the HBASE-23055 branch January 15, 2020 00:53
@saintstack saintstack restored the HBASE-23055 branch January 15, 2020 00:53
@saintstack saintstack deleted the HBASE-23055 branch January 15, 2020 00:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.