Skip to content

HBASE-24757 : ReplicationSink should limit row count in batch mutation based on hbase.rpc.rows.warning.threshold - #2127

Closed
virajjasani wants to merge 2 commits into
apache:masterfrom
virajjasani:HBASE-24757-trunk
Closed

HBASE-24757 : ReplicationSink should limit row count in batch mutation based on hbase.rpc.rows.warning.threshold#2127
virajjasani wants to merge 2 commits into
apache:masterfrom
virajjasani:HBASE-24757-trunk

Conversation

@virajjasani

Copy link
Copy Markdown
Contributor

No description provided.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 23sMaven dependency ordering for branch
+1 💚mvninstall3m 42smaster passed
+1 💚checkstyle1m 34smaster passed
+1 💚spotbugs2m 42smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall3m 30sthe patch passed
-0 ⚠️checkstyle1m 4shbase-server: The patch generated 1 new + 80 unchanged - 0 fixed = 81 total (was 80)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 38sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs3m 49sthe patch passed
_ Other Tests _
+1 💚asflicense0m 26sThe patch does not generate ASF License warnings.
39m 22s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2127
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux 698adefbb8b0 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-common hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall3m 43smaster passed
+1 💚compile1m 21smaster passed
+1 💚shadedjars5m 42sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 59smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall3m 31sthe patch passed
+1 💚compile1m 16sthe patch passed
+1 💚javac1m 16sthe patch passed
+1 💚shadedjars5m 32spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 57sthe patch passed
_ Other Tests _
+1 💚unit1m 16shbase-common in the patch passed.
+1 💚unit141m 14shbase-server in the patch passed.
169m 17s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2127
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 53a4726e0545 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
Default Java1.8.0_232
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/testReport/
Max. process+thread count5124 (vs. ulimit of 12500)
modulesC: hbase-common hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

* Default value of {@link #BATCH_ROWS_THRESHOLD_NAME}
*/
public static final int BATCH_ROWS_THRESHOLD_DEFAULT = 5000;

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.

Why the move? HConstants is often considered an anti-pattern; better to have constants beside where they are used?

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.

We want RsRpcServices as well as ReplicationSink both to use these constants. Would you still recommend having duplicate copies?

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.

Ok. Two very disparate contexts. This is probably only case for HConstants.

* @throws IOException thrown when HDFS goes bad or bad file name
*/
public ReplicationSink(Configuration conf, Stoppable stopper)
public ReplicationSink(Configuration conf)

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.

Is the Stoppable unused? Usually its a chain for a Service to pull on when it meets a condition it can't deal with... one that is so bad it wants to stop the process.

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.

Agree for stoppable usage, but here it is anyways unused :(

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.

Ok

batchRows = Collections.singletonList(rows);
}
futures.addAll(batchRows.stream().map(table::batchAll).collect(Collectors.toList()));
}

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.

For the edits that are beyond the limit, they get handled in next batch?

@virajjasanivirajjasaniJul 23, 2020

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.

That's true, they are handled in next batch.

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.

UT testLargeEditsPutDelete() as part of this PR will always ensure that this is handled.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec11m 17sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 23sMaven dependency ordering for branch
+1 💚mvninstall5m 1smaster passed
+1 💚compile1m 46smaster passed
+1 💚shadedjars6m 45sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 19shbase-common in master failed.
-0 ⚠️javadoc0m 43shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall4m 46sthe patch passed
+1 💚compile1m 42sthe patch passed
+1 💚javac1m 42sthe patch passed
+1 💚shadedjars6m 31spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 17shbase-common in the patch failed.
-0 ⚠️javadoc0m 43shbase-server in the patch failed.
_ Other Tests _
+1 💚unit2m 3shbase-common in the patch passed.
+1 💚unit206m 23shbase-server in the patch passed.
250m 55s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2127
Optional Testsjavac javadoc unit shadedjars compile
unameLinux bd72d7002f3c 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
Default Java2020-01-14
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-common.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-common.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/testReport/
Max. process+thread count3531 (vs. ulimit of 12500)
modulesC: hbase-common hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@virajjasanivirajjasani changed the title HBASE-24757 : ReplicationSink should limit row size in batch mutation based on hbase.rpc.rows.warning.thresholdHBASE-24757 : ReplicationSink should limit row count in batch mutation based on hbase.rpc.rows.warning.thresholdJul 23, 2020

@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.

+1

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 30sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall3m 39smaster passed
+1 💚checkstyle1m 30smaster passed
+1 💚spotbugs2m 40smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall3m 20sthe patch passed
-0 ⚠️checkstyle1m 5shbase-server: The patch generated 1 new + 80 unchanged - 0 fixed = 81 total (was 80)
+1 💚whitespace0m 1sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 15sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs2m 59sthe patch passed
_ Other Tests _
+1 💚asflicense0m 27sThe patch does not generate ASF License warnings.
35m 42s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2127
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux 516371c17c49 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-common hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 41sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 25sMaven dependency ordering for branch
+1 💚mvninstall4m 21smaster passed
+1 💚compile1m 32smaster passed
+1 💚shadedjars5m 49sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 20shbase-common in master failed.
-0 ⚠️javadoc0m 39shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 2sthe patch passed
+1 💚compile1m 31sthe patch passed
+1 💚javac1m 31sthe patch passed
+1 💚shadedjars5m 47spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 18shbase-common in the patch failed.
-0 ⚠️javadoc0m 39shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 33shbase-common in the patch passed.
+1 💚unit132m 38shbase-server in the patch passed.
162m 42s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2127
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 6900b87b01a5 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
Default Java2020-01-14
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-common.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-common.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/testReport/
Max. process+thread count4153 (vs. ulimit of 12500)
modulesC: hbase-common hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 38sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for branch
+1 💚mvninstall3m 44smaster passed
+1 💚compile1m 20smaster passed
+1 💚shadedjars6m 6sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 55smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall3m 50sthe patch passed
+1 💚compile1m 18sthe patch passed
+1 💚javac1m 18sthe patch passed
+1 💚shadedjars6m 7spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 56sthe patch passed
_ Other Tests _
+1 💚unit1m 39shbase-common in the patch passed.
+1 💚unit210m 44shbase-server in the patch passed.
240m 36s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2127
Optional Testsjavac javadoc unit shadedjars compile
unameLinux de83455c9947 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
Default Java1.8.0_232
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/testReport/
Max. process+thread count2984 (vs. ulimit of 12500)
modulesC: hbase-common hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2127/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

virajjasani added a commit to virajjasani/hbase that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit to virajjasani/hbase that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit to virajjasani/hbase that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit to virajjasani/hbase that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit to virajjasani/hbase that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold (#2136)
Closes#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit that referenced this pull request Jul 24, 2020
…n based on hbase.rpc.rows.warning.threshold (#2137)
Closes#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit that referenced this pull request Jul 27, 2020
…n based on hbase.rpc.rows.warning.threshold (#2139)
Closes#2127
Signed-off-by: stack <stack@apache.org>
virajjasani added a commit that referenced this pull request Jul 27, 2020
…n based on hbase.rpc.rows.warning.threshold (#2146)
Closes#2127
Signed-off-by: stack <stack@apache.org>
@virajjasani
virajjasani deleted the HBASE-24757-trunk branch July 27, 2020 19:41
clarax pushed a commit to clarax/hbase that referenced this pull request Nov 15, 2020
…n based on hbase.rpc.rows.warning.threshold (apache#2136)
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request May 24, 2021
…n based on hbase.rpc.rows.warning.threshold (apache#2139)
Closesapache#2127
Signed-off-by: stack <stack@apache.org>
(cherry picked from commit 603d2b6)
Change-Id: I27416e5ee65bc2cbcb776e7f83487cb2c06e147a
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.

3 participants

@virajjasani@Apache-HBase@saintstack