This is an automated email from the ASF dual-hosted git repository. yihua pushed a commit to branch branch-0.x in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 0a4bed64a513f7871dbdea0b6a0014e7f8365f44 Author: KUTEJiang <[email protected]> AuthorDate: Sat Mar 2 06:39:14 2024 +0800 [MINOR] Fix violations of Sonarqube rule java:S2184 (#10444) Co-authored-by: Y Ethan Guo <[email protected]> --- .../org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java | 2 +- .../hudi/index/hbase/TestHBasePutBatchSizeCalculator.java | 12 ++++++------ .../org/apache/hudi/common/fs/SizeAwareDataOutputStream.java | 2 +- .../org/apache/hudi/utilities/HoodieWithTimelineServer.java | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java index 097e3decc2f..acbdbd2413c 100644 --- a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java +++ b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java @@ -551,7 +551,7 @@ public class SparkHoodieHBaseIndex extends HoodieIndex<Object, Object> { int maxReqPerSec = getMaxReqPerSec(numRSAlive, maxQpsPerRegionServer, qpsFraction); int numTasks = numTasksDuringPut; int maxParallelPutsTask = Math.max(1, Math.min(numTasks, maxExecutors)); - int multiPutBatchSizePerSecPerTask = Math.max(1, (int) Math.ceil(maxReqPerSec / maxParallelPutsTask)); + int multiPutBatchSizePerSecPerTask = Math.max(1, (int) Math.ceil((double) maxReqPerSec / maxParallelPutsTask)); LOG.info("HbaseIndexThrottling: qpsFraction :" + qpsFraction); LOG.info("HbaseIndexThrottling: numRSAlive :" + numRSAlive); LOG.info("HbaseIndexThrottling: maxReqPerSec :" + maxReqPerSec); diff --git a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/index/hbase/TestHBasePutBatchSizeCalculator.java b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/index/hbase/TestHBasePutBatchSizeCalculator.java index a6068e6a8f9..b20bc979b12 100644 --- a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/index/hbase/TestHBasePutBatchSizeCalculator.java +++ b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/index/hbase/TestHBasePutBatchSizeCalculator.java @@ -34,28 +34,28 @@ public class TestHBasePutBatchSizeCalculator { int putBatchSize = batchSizeCalculator.getBatchSize(10, 16667, 1200, 200, 0.1f); // Total puts that can be sent in 1 second = (10 * 16667 * 0.1) = 16,667 // Total puts per batch will be (16,667 / parallelism) = 83.335, where 200 is the maxExecutors - assertEquals(putBatchSize, 83); + assertEquals(putBatchSize, 84); // Number of Region Servers are halved, total requests sent in a second are also halved, so batchSize is also halved int putBatchSize2 = batchSizeCalculator.getBatchSize(5, 16667, 1200, 200, 0.1f); - assertEquals(putBatchSize2, 41); + assertEquals(putBatchSize2, 42); // If the parallelism is halved, batchSize has to double int putBatchSize3 = batchSizeCalculator.getBatchSize(10, 16667, 1200, 100, 0.1f); - assertEquals(putBatchSize3, 166); + assertEquals(putBatchSize3, 167); // If the parallelism is halved, batchSize has to double. // This time parallelism is driven by numTasks rather than numExecutors int putBatchSize4 = batchSizeCalculator.getBatchSize(10, 16667, 100, 200, 0.1f); - assertEquals(putBatchSize4, 166); + assertEquals(putBatchSize4, 167); // If sleepTimeMs is halved, batchSize has to halve int putBatchSize5 = batchSizeCalculator.getBatchSize(10, 16667, 1200, 200, 0.05f); - assertEquals(putBatchSize5, 41); + assertEquals(putBatchSize5, 42); // If maxQPSPerRegionServer is doubled, batchSize also doubles int putBatchSize6 = batchSizeCalculator.getBatchSize(10, 33334, 1200, 200, 0.1f); - assertEquals(putBatchSize6, 166); + assertEquals(putBatchSize6, 167); } } diff --git a/hudi-common/src/main/java/org/apache/hudi/common/fs/SizeAwareDataOutputStream.java b/hudi-common/src/main/java/org/apache/hudi/common/fs/SizeAwareDataOutputStream.java index 1cc3da6fe3c..350665d2521 100644 --- a/hudi-common/src/main/java/org/apache/hudi/common/fs/SizeAwareDataOutputStream.java +++ b/hudi-common/src/main/java/org/apache/hudi/common/fs/SizeAwareDataOutputStream.java @@ -55,7 +55,7 @@ public class SizeAwareDataOutputStream { } public void write(byte[] v, int offset, int len) throws IOException { - size.addAndGet(len + offset); + size.addAndGet((long) len + offset); outputStream.write(v, offset, len); } diff --git a/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java b/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java index e2c23b15153..fdcb806b434 100644 --- a/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java +++ b/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java @@ -102,7 +102,7 @@ public class HoodieWithTimelineServer implements Serializable { try (CloseableHttpClient client = HttpClientBuilder.create().build()) { System.out.println("Sleeping for " + cfg.delaySecs + " secs "); - Thread.sleep(cfg.delaySecs * 1000); + Thread.sleep(cfg.delaySecs * 1000L); System.out.println("Woke up after sleeping for " + cfg.delaySecs + " secs "); HttpGet request = new HttpGet(url);
