-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-23956 Use less resources running tests #1266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
| * The default netty event loop config | ||
| */ | ||
| @InterfaceAudience.Private | ||
| class DefaultNettyEventLoopConfig { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not the design...
The design is to create a new EventLoop and make the code use it.
Change a configuration to change the 'default' instance and then make the code use the 'default' instance seems strange...
And also another anti pattern is that, we even do not have a Configuration instance here...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or let's just remove this class. Move the creation of event loop into the NettyRpcClientConfigHelper directly and honor the hbase.netty.worker.count configuration when creating? Though a bit strange is that the Configuration passed in may change but at least it can avoid reading the configuration from system property...
2073d24 to
b7ebaae
Compare
|
Ok. I think I sorted it. Command-line arg wasn't so bad given we were passing generic for netty anyways but this is a bit better. |
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests
b7ebaae to
c12d53f
Compare
|
Fix checkstyle and the test failure (related) |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
Ok. Let me merge this. See if it helps w/ the OOME we are seeing around findbugs/spotbugs. Shout if you want amendments to the change you asked me do @Apache9 Thanks. |
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests Signed-off-by: Duo Zhang <[email protected]>
|
💔 -1 overall
This message was automatically generated. |
Addendum to cleanup pom warning.
Addendum to cleanup pom warning.
Addendum: This test was depending on hard-coded number for log cleaners; the parent patch made them less in test context.
Addendum: This test was depending on hard-coded number for log cleaners; the parent patch made them less in test context.
Addendum: Two more tests that had issues because parent cut down the number of default RegionServers launched.
Addendum: Two more tests that had issues because parent cut down the number of default RegionServers launched.
Addendum: TestMultiParallel thread counts were off after parent change.
Addendum: TestNamespaceCommands was using up the limit on nioeventloopgroup.... so create them per run of client.
Addendum: TestNamespaceCommands was using up the limit on nioeventloopgroup.... so create them per run of client.
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests Signed-off-by: Duo Zhang <[email protected]>
Addendum to cleanup pom warning.
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests Signed-off-by: Duo Zhang <[email protected]>
Addendum to cleanup pom warning.
Addendum: This test was depending on hard-coded number for log cleaners; the parent patch made them less in test context.
Addendum: Two more tests that had issues because parent cut down the number of default RegionServers launched.
Addendum: TestNamespaceCommands was using up the limit on nioeventloopgroup.... so create them per run of client.
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests Signed-off-by: Duo Zhang <[email protected]>
Addendum to cleanup pom warning.
Addendum: This test was depending on hard-coded number for log cleaners; the parent patch made them less in test context.
Addendum: Two more tests that had issues because parent cut down the number of default RegionServers launched.
Addendum: TestNamespaceCommands was using up the limit on nioeventloopgroup.... so create them per run of client.
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests Signed-off-by: Duo Zhang <[email protected]>
Addendum to cleanup pom warning.
Add being able to configure netty thread counts. Enable socket reuse (should not have any impact). hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java Rename the threads we create in here so they are NOT named same was threads created by Hadoop RPC. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java Allow configuring eventloopgroup thread count (so can override for tests) hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java Enable socket resuse. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java Enable socket resuse and config for how many threads to use. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java Thread name edit; drop the redundant 'Thread' suffix. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java Make closeable and shutdown executor when called. hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java Call close on HFileReplicator hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java HDFS creates lots of threads. Use less of it so less threads overall. hbase-server/src/test/resources/hbase-site.xml hbase-server/src/test/resources/hdfs-site.xml Constrain resources when running in test context. hbase-server/src/test/resources/log4j.properties Enable debug on netty to see netty configs in our log pom.xml Add system properties when we launch JVMs to constrain thread counts in tests Signed-off-by: Duo Zhang <[email protected]>
…o cleanup pom warning.
…This test was depending on hard-coded number for log cleaners; the parent patch made them less in test context.
Addendum: Two more tests that had issues because parent cut down the number of default RegionServers launched.
…TestMultiParallel thread counts were off after parent change.
…TestNamespaceCommands was using up the limit on nioeventloopgroup.... so create them per run of client.
* @W-17450732 Add jacoco argline prop * Upgrade jacoco verison
Add being able to configure netty thread counts. Enable socket reuse
(should not have any impact).
hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java
Rename the threads we create in here so they are NOT named same was
threads created by Hadoop RPC.
hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java
hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java
Allow configuring eventloopgroup thread count (so can override for
tests)
hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java
Enable socket resuse.
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java
Enable socket resuse and config for how many threads to use.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
hbase-server/src/main/java/org/apache/hadoop/hbase/util/ModifyRegionUtils.java
Thread name edit; drop the redundant 'Thread' suffix.
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.java
Make closeable and shutdown executor when called.
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java
Call close on HFileReplicator
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java
HDFS creates lots of threads. Use less of it so less threads overall.
hbase-server/src/test/resources/hbase-site.xml
hbase-server/src/test/resources/hdfs-site.xml
Constrain resources when running in test context.
hbase-server/src/test/resources/log4j.properties
Enable debug on netty to see netty configs in our log
pom.xml
Add system properties when we launch JVMs to constrain thread counts in
tests