Skip to content

HBASE-22012 Space Quota: DisableTableViolationPolicy will cause cycles of enable/disable table - #572

Closed
shardul-cr7 wants to merge 3 commits into
apache:masterfrom
shardul-cr7:HBASE-22012
Closed

HBASE-22012 Space Quota: DisableTableViolationPolicy will cause cycles of enable/disable table#572
shardul-cr7 wants to merge 3 commits into
apache:masterfrom
shardul-cr7:HBASE-22012

Conversation

@shardul-cr7

Copy link
Copy Markdown
Contributor

Space Quota: Policy state is getting changed from disable to Observance after sometime automatically.

Steps:

1: Create a table with space quota policy as Disable
2: Put some data so that table state is in space quota violation
3: So observe that table state is in violation
4: Now wait for some time
5: Observe that after some time table state is changing to to Observance however table is still disabled

Solution: it is better to not remove the entries from cache regionSizes if table is in violation and has DISABLE policy set on it to avoid this repeat cycle of enable/disable. If the entries are not removed from the cache for disable policy and violation tables the table will not go from disable to enable even though regions of the table are offline.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
0reexec118Docker mode activated.
_ Prechecks _
+1dupname0No case conflicting files found.
+1hbaseanti0Patch does not have any anti-patterns.
+1@author0The patch does not contain any @author tags.
+1test4tests0The patch appears to include 2 new or modified test files.
_ master Compile Tests _
+1mvninstall501master passed
+1compile75master passed
+1checkstyle103master passed
+1shadedjars366branch has no errors when building our shaded downstream artifacts.
+1javadoc53master passed
0spotbugs317Used deprecated FindBugs config; considering switching to SpotBugs.
+1findbugs315master passed
_ Patch Compile Tests _
+1mvninstall453the patch passed
+1compile78the patch passed
+1javac78the patch passed
+1checkstyle108the patch passed
+1whitespace0The patch has no whitespace issues.
+1shadedjars368patch has no errors when building our shaded downstream artifacts.
+1hadoopcheck1415Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
+1javadoc52the patch passed
+1findbugs340the patch passed
_ Other Tests _
-1unit13584hbase-server in the patch failed.
+1asflicense26The patch does not generate ASF License warnings.
18490
SubsystemReport/Notes
DockerClient=18.09.7 Server=18.09.7 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/1/artifact/out/Dockerfile
GITHUB PR#572
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 0447dc6a2f5a 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-572/out/precommit/personality/provided.sh
git revisionmaster / 345c21d
Default Java1.8.0_181
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/1/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/1/testReport/
Max. process+thread count4892 (vs. ulimit of 10000)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/1/console
versionsgit=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered byApache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
0reexec38Docker mode activated.
_ Prechecks _
+1dupname0No case conflicting files found.
+1hbaseanti0Patch does not have any anti-patterns.
+1@author0The patch does not contain any @author tags.
+1test4tests0The patch appears to include 2 new or modified test files.
_ master Compile Tests _
+1mvninstall323master passed
+1compile55master passed
+1checkstyle77master passed
+1shadedjars275branch has no errors when building our shaded downstream artifacts.
+1javadoc37master passed
0spotbugs262Used deprecated FindBugs config; considering switching to SpotBugs.
+1findbugs260master passed
_ Patch Compile Tests _
+1mvninstall291the patch passed
+1compile58the patch passed
+1javac58the patch passed
+1checkstyle75the patch passed
+1whitespace0The patch has no whitespace issues.
+1shadedjars267patch has no errors when building our shaded downstream artifacts.
+1hadoopcheck912Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
+1javadoc39the patch passed
+1findbugs272the patch passed
_ Other Tests _
-1unit10431hbase-server in the patch failed.
+1asflicense32The patch does not generate ASF License warnings.
13820
SubsystemReport/Notes
DockerClient=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/2/artifact/out/Dockerfile
GITHUB PR#572
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux a1bbdf86b2a2 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-572/out/precommit/personality/provided.sh
git revisionmaster / a5ef6b2
Default Java1.8.0_181
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/2/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/2/testReport/
Max. process+thread count4601 (vs. ulimit of 10000)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/2/console
versionsgit=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered byApache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@saintstacksaintstack left a comment

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.

Skimmed. Makes sense to me.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
0reexec32Docker mode activated.
_ Prechecks _
+1dupname0No case conflicting files found.
+1hbaseanti0Patch does not have any anti-patterns.
+1@author0The patch does not contain any @author tags.
+1test4tests0The patch appears to include 2 new or modified test files.
_ master Compile Tests _
+1mvninstall351master passed
+1compile57master passed
+1checkstyle88master passed
+1shadedjars297branch has no errors when building our shaded downstream artifacts.
+1javadoc36master passed
0spotbugs266Used deprecated FindBugs config; considering switching to SpotBugs.
+1findbugs264master passed
_ Patch Compile Tests _
+1mvninstall334the patch passed
+1compile57the patch passed
+1javac57the patch passed
+1checkstyle87the patch passed
+1whitespace0The patch has no whitespace issues.
+1shadedjars299patch has no errors when building our shaded downstream artifacts.
+1hadoopcheck1016Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
+1javadoc34the patch passed
+1findbugs267the patch passed
_ Other Tests _
-1unit9424hbase-server in the patch failed.
+1asflicense26The patch does not generate ASF License warnings.
13077
ReasonTests
Failed junit testshadoop.hbase.regionserver.TestHRegionWithInMemoryFlush
SubsystemReport/Notes
DockerClient=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/3/artifact/out/Dockerfile
GITHUB PR#572
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux b7879d3eb4cc 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-572/out/precommit/personality/provided.sh
git revisionmaster / 9bed419
Default Java1.8.0_181
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/3/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/3/testReport/
Max. process+thread count4444 (vs. ulimit of 10000)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/3/console
versionsgit=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered byApache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@shardul-cr7shardul-cr7 changed the title HBASE-22012 SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable tableHBASE-22012 SpaceQuota: DisableTableViolationPolicy will cause cycles of enable/disable tableSep 11, 2019
@shardul-cr7shardul-cr7 changed the title HBASE-22012 SpaceQuota: DisableTableViolationPolicy will cause cycles of enable/disable tableHBASE-22012 Space Quota: DisableTableViolationPolicy will cause cycles of enable/disable tableSep 11, 2019

@saintstacksaintstack left a comment

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.

@joshelser Mind taking a look at this one sir?

@joshelser

Copy link
Copy Markdown
Member

Yep. It's on my list -- Shardul pinged me already :)

Thanks for asking, S.

@joshelserjoshelser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approach looks OK to solve this issue. I'm a little worried as this is holding on to objects in memory for a potentially long time, but I can't think of a different way to get around that easily.

I think this approach will break down after a restart of the Master. RegionSize reports are kept in memory, but after a table is disabled, we'll no longer get those reports coming into the Master. Thus, we'll flip the table back to active because we think we're missing reports and we have no way to re-create the old RegionSizes we had. This might be some follow-on work to do rather than take this back to the drawing board :)

long currentEntryTime = regionSizes.get(regionInfo).getTime();
boolean isInViolationAndPolicyDisable = isInViolationAndPolicyDisable(regionInfo.getTable());
// do not prune the entries if table is in violation and
// violation policy is disable.prune entries older than time.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could you buff out this comment with an explanation as to why we need to hold onto RegionSizes for tables in violation with a disable policy or include a reference to HBASE-22012, please?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done

boolean isInViolationAndPolicyDisable = false;
SpaceViolationPolicy policy = null;
try {
if (QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this is unnecessary to re-check.

QuotaObserverChore would be calling pruneEntriesOlderThan(long) but that chore is only scheduled if quotas are enabled.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

removed

if (QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {
// Get Current Snapshot for the given table
SpaceQuotaSnapshot spaceQuotaSnapshot =
QuotaUtil.getCurrentSnapshotFromQuotaTable(masterServices.getConnection(), tableName);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you use QuotaObserverChore#getTableQuotaSnapshot(TableName) instead? This is going to hit hbase:quota every time which might be costly.

Since we're inside the master already, we should be able to safely pull from the in-memory state in QuotaObserverChore instead.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

using QuotaObserverChore#getTableQuotaSnapshot(TableName) now.

if (spaceQuotaSnapshot != null) {
// check if table in violation
isInViolationAtTable = spaceQuotaSnapshot.getQuotaStatus().isInViolation();
Optional<SpaceViolationPolicy> policyAtNamespace =

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: just policy? AtNamespace doesn't seem to be appropriate.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done

}
}
}
isInViolationAndPolicyDisable =

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

can just make this return policy == SpaceViolationPolicy.DISABLE && isInViolationAtTable;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If you do this, then you can also remove the variable isInViolationAndPolicyDisable completely, lift the return isInViolationAndPolicyDisable into the catch block and make it return false instead.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done

HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
Configuration conf = TEST_UTIL.getConfiguration();
conf.set(QUOTA_CONF_KEY, "false");
when(masterServices.getConfiguration()).thenReturn(conf);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why are you disabling the quota feature here?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

removed

public void testDisablePolicyQuotaAndViolate() throws Exception {
TableName tableName = helper.createTable();
helper.setQuotaLimit(tableName, SpaceViolationPolicy.DISABLE, 2L);
helper.writeData(tableName, SpaceQuotaHelperForTests.ONE_MEGABYTE * 3L);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

1MB should be enough to trigger the quota, no?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

changed to 1MB.

MasterQuotaManager quotaManager = master.getMasterQuotaManager();

// Sufficient time for all the chores to run.
Thread.sleep(5000);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What is the state you're actually expecting to happen? RegionSize reports to be sent in?

Same issue as one of your recent PRs. Can you please convert this into an wait+explicit check?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done. added a wait predicate.


// Check if disabled table region report present in the map after retention period expired.
// It should be present after retention period expired.
for (Map.Entry<RegionInfo, Long> entry : quotaManager.snapshotRegionSizes().entrySet()) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What about making this whole for-loop:

quotaManager.snapshotRegionSize().keySet()
.stream()
.filter(k -> k.getTable().equals(tableName))
.count() > 0`

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done

@shardul-cr7

Copy link
Copy Markdown
ContributorAuthor

@joshelser , thanks for the review..did all the changes and pushed.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec0m 36sDocker mode activated.
_ Prechecks _
💚dupname0m 0sNo case conflicting files found.
💚hbaseanti0m 0sPatch does not have any anti-patterns.
💚@author0m 0sThe patch does not contain any @author tags.
💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
💚mvninstall5m 33smaster passed
💚compile0m 56smaster passed
💚checkstyle1m 18smaster passed
💚shadedjars4m 32sbranch has no errors when building our shaded downstream artifacts.
💚javadoc0m 38smaster passed
💙spotbugs4m 1sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs3m 58smaster passed
_ Patch Compile Tests _
💚mvninstall4m 52sthe patch passed
💚compile1m 5sthe patch passed
💚javac1m 5sthe patch passed
💚checkstyle1m 20sthe patch passed
💚whitespace0m 0sThe patch has no whitespace issues.
💚shadedjars4m 29spatch has no errors when building our shaded downstream artifacts.
💚hadoopcheck16m 20sPatch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚javadoc0m 34sthe patch passed
💔findbugs4m 10shbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
💔unit156m 59shbase-server in the patch failed.
💚asflicense0m 35sThe patch does not generate ASF License warnings.
214m 49s
ReasonTests
FindBugsmodule:hbase-server
Null pointer dereference of tableQuotaSnapshot in org.apache.hadoop.hbase.quotas.MasterQuotaManager.isInViolationAndPolicyDisable(TableName, QuotaObserverChore) Dereferenced at MasterQuotaManager.java:in org.apache.hadoop.hbase.quotas.MasterQuotaManager.isInViolationAndPolicyDisable(TableName, QuotaObserverChore) Dereferenced at MasterQuotaManager.java:[line 757]
Load of known null value in org.apache.hadoop.hbase.quotas.MasterQuotaManager.isInViolationAndPolicyDisable(TableName, QuotaObserverChore) At MasterQuotaManager.java:in org.apache.hadoop.hbase.quotas.MasterQuotaManager.isInViolationAndPolicyDisable(TableName, QuotaObserverChore) At MasterQuotaManager.java:[line 756]
Failed junit testshadoop.hbase.tool.TestBulkLoadHFilesSplitRecovery
hadoop.hbase.tool.TestSecureBulkLoadHFilesSplitRecovery
SubsystemReport/Notes
DockerClient=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/6/artifact/out/Dockerfile
GITHUB PR#572
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 560cf133dc92 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-572/out/precommit/personality/provided.sh
git revisionmaster / 537c5f0
Default Java1.8.0_181
findbugshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/6/artifact/out/new-findbugs-hbase-server.html
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/6/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/6/testReport/
Max. process+thread count4540 (vs. ulimit of 10000)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/6/console
versionsgit=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered byApache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

@joshelserjoshelser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

One bug in the latest patch (thanks findbugs) and one minor readability request. Otherwise, I think this is fine.

// check namespace in violation
isInViolationAtNamespace = namespaceQuotaSnapshot.getQuotaStatus().isInViolation();
Optional<SpaceViolationPolicy> namespacePolicy =
tableQuotaSnapshot.getQuotaStatus().getPolicy();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is the NPE from findbugs. Should be namespaceQuotaSnapshot.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done


// Check if disabled table region report present in the map after retention period expired.
// It should be present after retention period expired.
Assert.assertTrue(quotaManager.snapshotRegionSizes().keySet().stream()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you pull the lambda out of the assertTrue to make this a little more readable? e.g.

final int regionSizes = quotaManager.snapshotRegionSizes()...;
Assert.assertTrue(regionSizes > 0);

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

done

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec2m 32sDocker mode activated.
_ Prechecks _
💚dupname0m 0sNo case conflicting files found.
💚hbaseanti0m 0sPatch does not have any anti-patterns.
💚@author0m 0sThe patch does not contain any @author tags.
💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
💚mvninstall6m 34smaster passed
💚compile1m 9smaster passed
💚checkstyle1m 39smaster passed
💚shadedjars5m 9sbranch has no errors when building our shaded downstream artifacts.
💚javadoc0m 41smaster passed
💙spotbugs4m 35sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs4m 33smaster passed
_ Patch Compile Tests _
💚mvninstall5m 56sthe patch passed
💚compile1m 8sthe patch passed
💚javac1m 8sthe patch passed
💚checkstyle1m 30sthe patch passed
💚whitespace0m 0sThe patch has no whitespace issues.
💚shadedjars5m 41spatch has no errors when building our shaded downstream artifacts.
💚hadoopcheck18m 32sPatch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚javadoc0m 35sthe patch passed
💚findbugs4m 8sthe patch passed
_ Other Tests _
💔unit277m 52shbase-server in the patch failed.
💚asflicense0m 36sThe patch does not generate ASF License warnings.
344m 44s
ReasonTests
Failed junit testshadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas
hadoop.hbase.tool.TestBulkLoadHFilesSplitRecovery
hadoop.hbase.tool.TestSecureBulkLoadHFilesSplitRecovery
SubsystemReport/Notes
DockerClient=19.03.2 Server=19.03.2 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/7/artifact/out/Dockerfile
GITHUB PR#572
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 7032311cacc4 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-572/out/precommit/personality/provided.sh
git revisionmaster / 537c5f0
Default Java1.8.0_181
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/7/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/7/testReport/
Max. process+thread count4845 (vs. ulimit of 10000)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-572/7/console
versionsgit=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered byApache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

@joshelser

Copy link
Copy Markdown
Member

Looks ok now. Let me try to get this in.

@joshelser

Copy link
Copy Markdown
Member

Required some minor changes across branch-2.2/2 and more changes in branch-2.1.

Re-running the UTs on branch-2.1 now.

asfgit pushed a commit that referenced this pull request Sep 26, 2019
…lation policy
Space quotas has a feature which intends to avoid enacting a space quota
violation policy when only a subset of the Regions for that Table have
reported their space usage (under the assumption that we cannot make an
informed decision if we do not include all regions in our calculations).
This had the unintended side-effect, when a table is disabled as a part
of a violation policy, of causing the regions for that table to not be
reported which disables the violation policy and enables the table.
Need to make sure that when a table is disabled because of a violation
policy that the code does not automatically move that table out of
violation because region sizes are not being reported (because those
regions are not open).
Closes#572
Signed-off-by: Josh Elser <elserj@apache.org>
asfgit pushed a commit that referenced this pull request Sep 26, 2019
…lation policy
Space quotas has a feature which intends to avoid enacting a space quota
violation policy when only a subset of the Regions for that Table have
reported their space usage (under the assumption that we cannot make an
informed decision if we do not include all regions in our calculations).
This had the unintended side-effect, when a table is disabled as a part
of a violation policy, of causing the regions for that table to not be
reported which disables the violation policy and enables the table.
Need to make sure that when a table is disabled because of a violation
policy that the code does not automatically move that table out of
violation because region sizes are not being reported (because those
regions are not open).
elserj: Had to replace some usages of Optional that don't exist in branch-2.1
Closes#572
Signed-off-by: Josh Elser <elserj@apache.org>
asfgit pushed a commit that referenced this pull request Sep 26, 2019
…lation policy
Space quotas has a feature which intends to avoid enacting a space quota
violation policy when only a subset of the Regions for that Table have
reported their space usage (under the assumption that we cannot make an
informed decision if we do not include all regions in our calculations).
This had the unintended side-effect, when a table is disabled as a part
of a violation policy, of causing the regions for that table to not be
reported which disables the violation policy and enables the table.
Need to make sure that when a table is disabled because of a violation
policy that the code does not automatically move that table out of
violation because region sizes are not being reported (because those
regions are not open).
Closes#572
Signed-off-by: Josh Elser <elserj@apache.org>
infraio pushed a commit to infraio/hbase that referenced this pull request Aug 17, 2020
…lation policy
Space quotas has a feature which intends to avoid enacting a space quota
violation policy when only a subset of the Regions for that Table have
reported their space usage (under the assumption that we cannot make an
informed decision if we do not include all regions in our calculations).
This had the unintended side-effect, when a table is disabled as a part
of a violation policy, of causing the regions for that table to not be
reported which disables the violation policy and enables the table.
Need to make sure that when a table is disabled because of a violation
policy that the code does not automatically move that table out of
violation because region sizes are not being reported (because those
regions are not open).
Closesapache#572
Signed-off-by: Josh Elser <elserj@apache.org>
symat pushed a commit to symat/hbase that referenced this pull request Feb 17, 2021
…lation policy
Space quotas has a feature which intends to avoid enacting a space quota
violation policy when only a subset of the Regions for that Table have
reported their space usage (under the assumption that we cannot make an
informed decision if we do not include all regions in our calculations).
This had the unintended side-effect, when a table is disabled as a part
of a violation policy, of causing the regions for that table to not be
reported which disables the violation policy and enables the table.
Need to make sure that when a table is disabled because of a violation
policy that the code does not automatically move that table out of
violation because region sizes are not being reported (because those
regions are not open).
Closesapache#572
Signed-off-by: Josh Elser <elserj@apache.org>
(cherry picked from commit 16d6a9f)
Change-Id: I01cbb39ef7046fedf2feff558b9f414b6397a19e
Sign up for freeto 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.

4 participants

@shardul-cr7@Apache-HBase@joshelser@saintstack