Skip to content

HBASE-23113 IPC Netty Optimization - #679

Closed
SteNicholas wants to merge 4 commits into
apache:masterfrom
SteNicholas:ipc-netty-optimization
Closed

HBASE-23113 IPC Netty Optimization#679
SteNicholas wants to merge 4 commits into
apache:masterfrom
SteNicholas:ipc-netty-optimization

Conversation

@SteNicholas

Copy link
Copy Markdown
Member

Netty options in IPC Server/Client optimization:
1.SO_BACKLOG setting:Two queues are maintained in the Linux system kernel: syns queue and accept queue. The first is a semi-join queue that saves the connections to the synrecv state after receiving the client syn. The default netty is 128,io.netty.util.NetUtil#SOMAXCONN , and then read /proc/sys/net/core /somaxconn to continue to determine, and then there are some system level coverage logic.In some scenarios, if the client is far redundant to the server and the connection is established, it may not be enough. This value should not be too large, otherwise it will not prevent SYN-Flood attacks. The current value has been changed to 1024. After setting, the value set by yourself is equivalent to setting the upper limit because of the setting of the system and the size of the system. If some settings of the Linux system operation and maintenance are wrong, it can be avoided at the code level.At present, our Linux level is usually set to 128, and the final calculation will be set to 128.
2.WRITE_BUFFER_WATER_MARK setting:After WRITEBUFFERWATERMARK sets the maximum and minimum Buffer that can be temporarily stored on a connection, isWritable returns unwritable if the amount of data waiting to be sent for the connection is greater than the set value. In this way, the client can no longer send, preventing this amount of continuous backlog, and eventually the client may hang. If this happens, it is usually caused by slow processing on the server side. This value can effectively protect the client. At this point the data was not sent.
3.SO_REUSEADDR - Port multiplexing (allowing multiple sockets to listen on the same IP+ port): For time-wait links, it ensures that the server restarts successfully. In the case where some servers start up very quickly, it can prevent startup failure.

Netty decoder in IPC Server optimization:
Netty provides a convenient decoding tool class ByteToMessageDecoder, as shown in the top half of the figure, this class has accumulate bulk unpacking capability, can read bytes from the socket as much as possible, and then synchronously call the decode method to decode the business object. And compose a List. Finally, the traversal traverses the List and submits it to ChannelPipeline for processing. Here we made a small change, as shown in the bottom half of the figure, the content to be submitted is changed from a single command to the entire List, which reduces the number of pipeline executions and improves throughput. This mode has no advantage in low-concurrency scenarios, and has a significant performance boost in boost throughput in high-concurrency scenarios.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec0m 49sDocker 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 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 _
💙mvndep0m 38sMaven dependency ordering for branch
💚mvninstall6m 40smaster passed
💚compile1m 36smaster passed
💚checkstyle2m 24smaster passed
💚shadedjars5m 49sbranch has no errors when building our shaded downstream artifacts.
💚javadoc1m 6smaster passed
💙spotbugs5m 8sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs6m 33smaster passed
_ Patch Compile Tests _
💙mvndep0m 17sMaven dependency ordering for patch
💔mvninstall3m 41sroot in the patch failed.
💚compile1m 46sthe patch passed
💚javac1m 46sthe patch passed
💔checkstyle0m 36shbase-client: The patch generated 3 new + 12 unchanged - 0 fixed = 15 total (was 12)
💔checkstyle1m 41shbase-server: The patch generated 259 new + 11 unchanged - 0 fixed = 270 total (was 11)
💚whitespace0m 0sThe patch has no whitespace issues.
💔shadedjars4m 40spatch has 11 errors when building our shaded downstream artifacts.
💔hadoopcheck2m 37sThe patch causes 11 errors with Hadoop v2.8.5.
💔hadoopcheck5m 19sThe patch causes 11 errors with Hadoop v2.9.2.
💔hadoopcheck8m 6sThe patch causes 11 errors with Hadoop v3.1.2.
💚javadoc1m 1sthe patch passed
💚findbugs6m 27sthe patch passed
_ Other Tests _
💚unit1m 59shbase-client in the patch passed.
💔unit1m 10shbase-server in the patch failed.
💚asflicense0m 23sThe patch does not generate ASF License warnings.
59m 11s
SubsystemReport/Notes
DockerClient=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/Dockerfile
GITHUB PR#679
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 3d6953c0a365 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-679/out/precommit/personality/provided.sh
git revisionmaster / 7ee6d59
Default Java1.8.0_181
mvninstallhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/patch-mvninstall-root.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/diff-checkstyle-hbase-client.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/diff-checkstyle-hbase-server.txt
shadedjarshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/patch-shadedjars.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/patch-javac-2.8.5.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/patch-javac-2.9.2.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/patch-javac-3.1.2.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/testReport/
Max. process+thread count295 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/1/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.

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

What is this patch doing and do you have proof it does it? I see the notes on netty configs and how we intro configs for this base parameters. Have you been playing with these settings and if so, what have you found? Thanks you.

* and the decoder implementation this may be slower then just use the {@link #MERGE_CUMULATOR}.
*/
public static final Cumulator COMPOSITE_CUMULATOR = new Cumulator() {
@Override

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.

Formatting is very strange shifted way to the right.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

@saintstack I reformat AbstractBatchDecoder class file.

Comment on lines +60 to +83
@Override
public ByteBuf cumulate(ByteBufAllocator alloc,
ByteBuf cumulation,
ByteBuf in) {
ByteBuf buffer;
if (cumulation.writerIndex() > cumulation
.maxCapacity()
- in.readableBytes()
|| cumulation.refCnt() > 1) {
// Expand cumulation (by replace it) when either there is not more room in the buffer
// or if the refCnt is greater then 1 which may happen when the user use slice().retain() or
// duplicate().retain().
//
// See:
// - https://github.com/netty/netty/issues/2327
// - https://github.com/netty/netty/issues/1764
buffer = expandCumulation(alloc,
cumulation,
in.readableBytes());
} else {
buffer = cumulation;
}
buffer.writeBytes(in);
in.release();

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.

This is all shifted to the right.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

@saintstack I have already reformat the whole code of this class.

@SteNicholas

Copy link
Copy Markdown
MemberAuthor

What is this patch doing and do you have proof it does it? I see the notes on netty configs and how we intro configs for this base parameters. Have you been playing with these settings and if so, what have you found? Thanks you.

@saintstack These netty configs improve the rpc performance of NettyRpcServer and NettyRpcConnection.And AbstractBatchDecoder improves decoding throughput.Not only the netty configs but also AbstractBatchDecoder have already used in other open source project like SOFA-RPC,which proves that RPC is greatly optimized.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec0m 35sDocker 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 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 _
💙mvndep0m 36sMaven dependency ordering for branch
💚mvninstall5m 15smaster passed
💚compile1m 22smaster passed
💚checkstyle1m 49smaster passed
💚shadedjars4m 34sbranch has no errors when building our shaded downstream artifacts.
💚javadoc1m 1smaster passed
💙spotbugs4m 0sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs5m 4smaster passed
_ Patch Compile Tests _
💙mvndep0m 15sMaven dependency ordering for patch
💔mvninstall2m 41sroot in the patch failed.
💚compile1m 16sthe patch passed
💚javac1m 16sthe patch passed
💔checkstyle0m 30shbase-client: The patch generated 3 new + 12 unchanged - 0 fixed = 15 total (was 12)
💔checkstyle1m 21shbase-server: The patch generated 241 new + 11 unchanged - 0 fixed = 252 total (was 11)
💚whitespace0m 0sThe patch has no whitespace issues.
💔shadedjars3m 38spatch has 11 errors when building our shaded downstream artifacts.
💔hadoopcheck2m 6sThe patch causes 11 errors with Hadoop v2.8.5.
💔hadoopcheck4m 16sThe patch causes 11 errors with Hadoop v2.9.2.
💔hadoopcheck6m 28sThe patch causes 11 errors with Hadoop v3.1.2.
💚javadoc0m 55sthe patch passed
💚findbugs5m 15sthe patch passed
_ Other Tests _
💚unit1m 54shbase-client in the patch passed.
💔unit0m 55shbase-server in the patch failed.
💚asflicense0m 22sThe patch does not generate ASF License warnings.
47m 22s
SubsystemReport/Notes
DockerClient=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/Dockerfile
GITHUB PR#679
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 486ca52d1997 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-679/out/precommit/personality/provided.sh
git revisionmaster / f08a310
Default Java1.8.0_181
mvninstallhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/patch-mvninstall-root.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/diff-checkstyle-hbase-client.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/diff-checkstyle-hbase-server.txt
shadedjarshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/patch-shadedjars.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/patch-javac-2.8.5.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/patch-javac-2.9.2.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/patch-javac-3.1.2.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/testReport/
Max. process+thread count289 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/2/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.

this.maxRetries = conf.getInt(CLIENT_CONNECT_MAX_RETRIES, 0);
this.tcpNoDelay = conf.getBoolean(CLIENT_TCP_NODELAY, true);
this.tcpKeepAlive = conf.getBoolean(CLIENT_TCP_KEEPALIVE, true);
this.bufferLowWatermark = conf.getInt(CLIENT_BUFFER_LOW_WATERMARK, DEFAULT_CLIENT_BUFFER_LOW_WATERMARK);

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.

This is only used for NettyRpcClient so better put this into the NettyRpcClient?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

This is only used for NettyRpcClient so better put this into the NettyRpcClient?

Yeah,I referred to other constant of RpcClient like SOCKET_TIMEOUT_WRITE so that I put this into RpcClient.I will put these constants into NettyRpcClient.

.option(ChannelOption.TCP_NODELAY, rpcClient.isTcpNoDelay())
.option(ChannelOption.SO_KEEPALIVE, rpcClient.tcpKeepAlive)
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, rpcClient.connectTO)
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(rpcClient.bufferLowWatermark, rpcClient.bufferHighWatermark))

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.

Create a WriteBufferWaterMark and store it in NettyRpcClient so we do not need to create it everytime?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Create a WriteBufferWaterMark and store it in NettyRpcClient so we do not need to create it everytime?

There is really no need to create a WriteBufferWaterMark every time.I will modify this definition in NettyRpcConnection.

* You can check the method {@link AbstractBatchDecoder#channelRead(ChannelHandlerContext, Object)} ()}
* to know the detail modification.
*/
public abstract class AbstractBatchDecoder extends ChannelInboundHandlerAdapter {

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.

Any idea that why netty does not implement this by default if this could greatly increase the performance? Performance is one of the most important thing in netty.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Any idea that why netty does not implement this by default if this could greatly increase the performance? Performance is one of the most important thing in netty.

I will mention this idea to netty issue.As mentioned above,this optimization has no advantage in low-concurrency scenarios, and has a significant performance boost in boost throughput in high-concurrency scenarios.

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.

Just extends ByteToMessageDecoder and override the channelRead method? You can declare this class under the o.a.h.thirdparty.io.netty.handler.codec, so you can use the package private classes of netty.

And maybe we could land this on a feature branch first, and collect some performance numbers so it will also help the netty issue netty/netty#9637?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Just extends ByteToMessageDecoder and override the channelRead method? You can declare this class under the o.a.h.thirdparty.io.netty.handler.codec, so you can use the package private classes of netty.

And maybe we could land this on a feature branch first, and collect some performance numbers so it will also help the netty issue netty/netty#9637?

Okay, I will try this.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

@Apache9 I have already removed this AbstactBatchDecoder in this pull request.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec1m 6sDocker mode activated.
_ Prechecks _
💚dupname0m 1sNo case conflicting files found.
💚hbaseanti0m 0sPatch does not have any anti-patterns.
💚@author0m 0sThe patch does not contain any @author tags.
💛test4tests0m 0sThe 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 _
💙mvndep0m 37sMaven dependency ordering for branch
💚mvninstall5m 41smaster passed
💚compile1m 20smaster passed
💚checkstyle1m 49smaster passed
💚shadedjars4m 30sbranch has no errors when building our shaded downstream artifacts.
💚javadoc1m 2smaster passed
💙spotbugs4m 0sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs5m 3smaster passed
_ Patch Compile Tests _
💙mvndep0m 15sMaven dependency ordering for patch
💔mvninstall2m 38sroot in the patch failed.
💚compile1m 18sthe patch passed
💚javac1m 18sthe patch passed
💔checkstyle0m 30shbase-client: The patch generated 6 new + 14 unchanged - 0 fixed = 20 total (was 14)
💔checkstyle1m 20shbase-server: The patch generated 241 new + 11 unchanged - 0 fixed = 252 total (was 11)
💚whitespace0m 0sThe patch has no whitespace issues.
💔shadedjars3m 37spatch has 11 errors when building our shaded downstream artifacts.
💔hadoopcheck2m 2sThe patch causes 11 errors with Hadoop v2.8.5.
💔hadoopcheck4m 7sThe patch causes 11 errors with Hadoop v2.9.2.
💔hadoopcheck6m 17sThe patch causes 11 errors with Hadoop v3.1.2.
💚javadoc0m 55sthe patch passed
💚findbugs5m 10sthe patch passed
_ Other Tests _
💚unit1m 50shbase-client in the patch passed.
💔unit0m 54shbase-server in the patch failed.
💚asflicense0m 21sThe patch does not generate ASF License warnings.
47m 41s
SubsystemReport/Notes
DockerClient=19.03.2 Server=19.03.2 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/Dockerfile
GITHUB PR#679
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 66c2b36fffec 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-679/out/precommit/personality/provided.sh
git revisionmaster / f69e770
Default Java1.8.0_181
mvninstallhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/patch-mvninstall-root.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/diff-checkstyle-hbase-client.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/diff-checkstyle-hbase-server.txt
shadedjarshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/patch-shadedjars.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/patch-javac-2.8.5.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/patch-javac-2.9.2.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/patch-javac-3.1.2.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/testReport/
Max. process+thread count293 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/3/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.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec1m 6sDocker 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 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 _
💙mvndep0m 36sMaven dependency ordering for branch
💚mvninstall5m 10smaster passed
💚compile1m 23smaster passed
💚checkstyle1m 51smaster passed
💚shadedjars4m 33sbranch has no errors when building our shaded downstream artifacts.
💚javadoc1m 0smaster passed
💙spotbugs4m 5sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs5m 8smaster passed
_ Patch Compile Tests _
💙mvndep0m 15sMaven dependency ordering for patch
💔mvninstall2m 39sroot in the patch failed.
💚compile1m 15sthe patch passed
💚javac1m 15sthe patch passed
💔checkstyle0m 30shbase-client: The patch generated 6 new + 14 unchanged - 0 fixed = 20 total (was 14)
💔checkstyle1m 21shbase-server: The patch generated 241 new + 11 unchanged - 0 fixed = 252 total (was 11)
💚whitespace0m 0sThe patch has no whitespace issues.
💔shadedjars3m 36spatch has 11 errors when building our shaded downstream artifacts.
💔hadoopcheck2m 3sThe patch causes 11 errors with Hadoop v2.8.5.
💔hadoopcheck4m 7sThe patch causes 11 errors with Hadoop v2.9.2.
💔hadoopcheck6m 16sThe patch causes 11 errors with Hadoop v3.1.2.
💚javadoc0m 55sthe patch passed
💚findbugs5m 14sthe patch passed
_ Other Tests _
💚unit1m 48shbase-client in the patch passed.
💔unit0m 54shbase-server in the patch failed.
💚asflicense0m 22sThe patch does not generate ASF License warnings.
47m 17s
SubsystemReport/Notes
DockerClient=19.03.2 Server=19.03.2 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/Dockerfile
GITHUB PR#679
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 0b3741ff6488 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-679/out/precommit/personality/provided.sh
git revisionmaster / f69e770
Default Java1.8.0_181
mvninstallhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/patch-mvninstall-root.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/diff-checkstyle-hbase-client.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/diff-checkstyle-hbase-server.txt
shadedjarshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/patch-shadedjars.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/patch-javac-2.8.5.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/patch-javac-2.9.2.txt
hadoopcheckhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/patch-javac-3.1.2.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/testReport/
Max. process+thread count293 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-679/4/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.

@saintstack

Copy link
Copy Markdown
Contributor

@SteNicholas Could you check why the errors w/ different hadoops please?

Yeah, as per @Apache9 , is there test to show improvement? Thanks.

@SteNicholas

Copy link
Copy Markdown
MemberAuthor

@saintstack I wil check today.

@saintstack

Copy link
Copy Markdown
Contributor

Any luck @SteNicholas w/ some numbers? Thanks.

@saintstack

Copy link
Copy Markdown
Contributor

Any news @SteNicholas ? Thanks.

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

@SteNicholas@Apache-HBase@saintstack@Apache9