Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
4364ef7
HDDS-10566. Bump commons-configuration2 to 2.10.1 (#6417)
dependabot[bot] Mar 22, 2024
74f04a7
HDDS-10556. Checkstyle summary excludes errors with xml (#6410)
adoroszlai Mar 22, 2024
44493ef
HDDS-10575. Bump jersey2.version to 2.42 (#6423)
dependabot[bot] Mar 23, 2024
ab56117
HDDS-10576. Bump maven-assembly-plugin to 3.7.1 (#6422)
dependabot[bot] Mar 23, 2024
4262596
HDDS-10577. Bump maven-shade-plugin to 3.5.2 (#6425)
dependabot[bot] Mar 23, 2024
042f4c5
HDDS-10580. Bump maven-eclipse-plugin to 2.10 (#6424)
dependabot[bot] Mar 24, 2024
2bc5f53
HDDS-10541. Replace GSON with Jackson in debug commands (#6401)
ArafatKhan2198 Mar 24, 2024
1ceec5c
HDDS-10540. Replace GSON with Jackson in nssummary. (#6400)
ArafatKhan2198 Mar 24, 2024
f9e5178
HDDS-10143. Intermittent failure in TestOzoneRpcClientWithRatis.testP…
xichen01 Mar 24, 2024
4ca8edb
HDDS-10562. Fix infinite loop in ozone fs -ls /volume (#6416)
symious Mar 24, 2024
82c02d3
HDDS-10564. Make Outputstream writeExecutor daemon threads. (#6418)
jojochuang Mar 24, 2024
873ae85
HDDS-10579. Remove org.ow2.asm dependency (#6427)
myskov Mar 24, 2024
b267a57
HDDS-10553. Add test case for creating file with EC replication confi…
YuanbenWang Mar 24, 2024
48e547a
HDDS-10448. Orientation fixes for List Keys Metrics Dashboard (#6308)
tanvipenumudy Mar 24, 2024
e39166f
HDDS-10581. NPE in SummarySubCommand and DiskUsageSubCommand (#6429)
ArafatKhan2198 Mar 24, 2024
77384ea
HDDS-8247. Run acceptance tests with JDK 17 (#6428)
adoroszlai Mar 25, 2024
07a68c0
HDDS-10583. Thread name prefix in ReplicationSupervisor is null (#6430)
adoroszlai Mar 25, 2024
8eca5b7
HDDS-10547. Fix shared buffer for datanode checksum calculation (#6402)
Cyrill Mar 25, 2024
9bdac50
HDDS-10584. Exclude proto3 classes from coverage (#6431)
adoroszlai Mar 25, 2024
7cb1737
HDDS-10586. Avoid loading network topology layer schema file for ever…
tanvipenumudy Mar 26, 2024
d03f68f
HDDS-10510. Improve output of containerbalancer stop (#6433)
sarvekshayr Mar 26, 2024
80bafd0
HDDS-10578. Clean up Hadoop dependencies (#6432)
myskov Mar 26, 2024
c6c611f
HDDS-10587. Reset ETag's thread-local MessageDigest instance on excep…
ivandika3 Mar 26, 2024
6822d53
HDDS-10588. Bump hadoop-shaded-guava to 1.2.0 (#6440)
vtutrinov Mar 27, 2024
7feafe9
HDDS-10518. Create base Builder in WithMetadata and WithObjectID (#6378)
adoroszlai Mar 27, 2024
e68183e
HDDS-10574. Improve TestObjectPut (#6426)
adoroszlai Mar 27, 2024
7559e1f
HDDS-10524. [Snapshot] Invalidate the cache entry from snapshotInfoTa…
hemantk-12 Mar 27, 2024
3651d6c
HDDS-10594. Update file encryption info when overwriting key (#6445)
ChenSammi Mar 28, 2024
140cf0f
HDDS-9764. Add Robot test for JSON output where missing (#6448)
will-sh Mar 28, 2024
38e3add
HDDS-10600. Bump nimbus-jose-jwt to 9.37.2 (#6454)
vtutrinov Mar 28, 2024
9f6ac2f
HDDS-9242. Merge unit and integration checks into a combined one (#6199)
adoroszlai Mar 29, 2024
85c9c97
HDDS-10570. S3A: `fs -touch` creates directory instead of empty file …
adoroszlai Mar 29, 2024
cb5d519
HDDS-9534. Support namespace summaries (du, dist & counts) for LEGACY…
ArafatKhan2198 Mar 29, 2024
29edabb
HDDS-10618. Bump gson to 2.10.1 (#6459)
dependabot[bot] Mar 30, 2024
33c05b4
HDDS-10620. Bump build-helper-maven-plugin to 3.5.0 (#6462)
dependabot[bot] Mar 30, 2024
8bd1a92
HDDS-10622. Bump commons-io to 2.16.0 (#6463)
dependabot[bot] Mar 30, 2024
8a25784
HDDS-10623. Bump spotbugs-maven-plugin to 3.1.12.2 (#6460)
dependabot[bot] Mar 30, 2024
7c20f38
HDDS-10624. Bump reflections to 0.10.2 (#6461)
dependabot[bot] Mar 30, 2024
0599aee
HDDS-10621. Remove TimeoutFuture in favour of the original one in Gua…
myskov Mar 31, 2024
077fff4
HDDS-10358. Allow Container Balancer tuning options to be set in CLI …
sarvekshayr Apr 1, 2024
83d7586
HDDS-10613. Fix typo in Snapshot feature doc (#6465)
raju-balpande Apr 1, 2024
91e5d2e
HDDS-9130. [hsync] Combine WriteData and PutBlock requests into one (…
jojochuang Apr 1, 2024
6a4e699
HDDS-10564. Make Outputstream writeExecutor daemon threads. (#6418)
jojochuang Mar 24, 2024
a73fb37
HDDS-10507. Use equals() instead of == for nodes in NetworkTopology (…
tanvipenumudy Apr 2, 2024
f94c9f9
HDDS-10597. Use MutableGauge for threshold based SafeModeMetrics (#6446)
sadanand48 Apr 2, 2024
92bc617
HDDS-10462. Fail Datanode Decommission Early (#6367)
Tejaskriya Apr 2, 2024
ccaaf57
HDDS-10316. Speed up TestReconTasks (#6223)
raju-balpande Apr 2, 2024
129cdc1
HDDS-10612. Add Robot test to verify Container Balancer for RATIS con…
afilpp Apr 2, 2024
f077430
HDDS-10636. Ozone Recon - Filter EMPTY MISSING Containers in UnHealth…
devmadhuu Apr 3, 2024
6cfe9cf
HDDS-10626. [LeaseRecovery] OM shuts down with 'SecretKey client must…
ChenSammi Apr 3, 2024
a38570a
HDDS-9930. Remove open keys as well when keys are deleted from KeyTab…
smengcl Apr 3, 2024
7da5ecb
HDDS-10590. [Snapshot] Synchronized snapshot purge, set snapshot prop…
hemantk-12 Apr 3, 2024
3467db1
HDDS-9200. [Snapshot] Added logs and metrics for snapshot purge and s…
hemantk-12 Apr 3, 2024
e34de9f
HDDS-5567. interface/Cli.md translation (#6474)
will-sh Apr 5, 2024
6b92a37
HDDS-10644. Intermittent failure in testBalancer.robot (#6481)
afilpp Apr 5, 2024
d4314c9
HDDS-10591. [hsync] improve block token refresh message. (#6444)
jojochuang Apr 5, 2024
301664e
HDDS-10206. Expose jmx metrics for snapshot cache size on the ozone m…
ceekay47 Apr 5, 2024
87dd273
HDDS-10661. Bump zstd-jni to 1.5.6-2 (#6483)
dependabot[bot] Apr 6, 2024
31c2cfb
Revert "HDDS-10316. Speed up TestReconTasks (#6223)"
adoroszlai Apr 6, 2024
df6c386
HDDS-10659. Remove cglib dependency (#6488)
myskov Apr 6, 2024
5759427
HDDS-10660. Bump jacoco to 0.8.12 (#6487)
dependabot[bot] Apr 6, 2024
91be6b3
HDDS-10662. Bump maven-gpg-plugin to 3.2.2 (#6484)
dependabot[bot] Apr 6, 2024
6ed1e58
HDDS-10230. Preventing V3 Schema from Creating Container DB in the Wr…
xichen01 Apr 8, 2024
b8faba6
HDDS-10643. Avoid terminating SCM by statemachine during normal SCM s…
ashishkumar50 Apr 8, 2024
e31e68a
HDDS-10560. Link rocksdb lib to Ozone rocksdb tools lib relative path…
swamirishi Apr 8, 2024
0f43dbc
HDDS-10669. Bump axios to 0.28.0 (#6242)
dependabot[bot] Apr 9, 2024
9b248a0
HDDS-10593. Prefer client read from IN_SERVICE datanodes (#6449)
xichen01 Apr 9, 2024
06c0d81
HDDS-10672. Bump express to 4.19.2 (#6442)
dependabot[bot] Apr 10, 2024
e81f5c0
HDDS-10645. Support x-amz-metadata-directive in CopyObject (#6490)
ivandika3 Apr 10, 2024
2aa77f7
HDDS-10673. Bump es5-ext to 0.10.64 (#6284)
dependabot[bot] Apr 10, 2024
5d999d2
HDDS-5569. recipe/BotoClient.md translation (#6480)
will-sh Apr 10, 2024
80c2311
HDDS-10483. Container Balancer should only move containers with size …
sarvekshayr Apr 10, 2024
5628423
HDDS-5568. interface/Ofs.md translation (#6475)
will-sh Apr 10, 2024
32e6a31
HDDS-10674. Bump ip to 1.1.9 (#6243)
dependabot[bot] Apr 10, 2024
14f2452
HDDS-10676. Bump browserify-sign to 4.2.3 (#6509)
dependabot[bot] Apr 10, 2024
cedb459
HDDS-10268. [hsync] Add OpenTracing traces to client side read path (…
jojochuang Apr 10, 2024
4aee562
HDDS-10677. Bump plotly.js to 2.25.2 (#5915)
dependabot[bot] Apr 10, 2024
f4d7716
Merge remote-tracking branch 'asf/master' into HEAD
jojochuang Apr 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -434,12 +434,14 @@ jobs:
matrix:
profile:
- client
- contract
- container
- filesystem
- hdds
- om
- ozone
- recon
- shell
- snapshot
- flaky
fail-fast: false
steps:
Expand Down
2 changes: 0 additions & 2 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,6 @@ Apache License 2.0
hadoop-hdds/framework/src/main/resources/webapps/static/nvd3-1.8.5.min.js.map
hadoop-hdds/framework/src/main/resources/webapps/static/nvd3-1.8.5.min.css.map
hadoop-hdds/framework/src/main/resources/webapps/static/nvd3-1.8.5.min.js
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/AbstractFuture.java
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/TimeoutFuture.java


BSD 3-Clause
Expand Down
53 changes: 25 additions & 28 deletions dev-support/ci/selective_ci_checks.bats
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ load bats-assert/load.bash
@test "integration and unit: java change" {
run dev-support/ci/selective_ci_checks.sh 9aebf6e25

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=false
Expand All @@ -120,7 +120,7 @@ load bats-assert/load.bash
@test "integration and unit: script change" {
run dev-support/ci/selective_ci_checks.sh c6850484f

assert_output -p 'basic-checks=["rat","bats","unit"]'
assert_output -p 'basic-checks=["rat","bats"]'
assert_output -p needs-build=false
assert_output -p needs-compile=false
assert_output -p needs-compose-tests=false
Expand All @@ -132,7 +132,7 @@ load bats-assert/load.bash
@test "script change including junit.sh" {
run dev-support/ci/selective_ci_checks.sh 66093e52c6

assert_output -p 'basic-checks=["rat","bats","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","bats","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=false
Expand All @@ -144,19 +144,19 @@ load bats-assert/load.bash
@test "unit only" {
run dev-support/ci/selective_ci_checks.sh 1dd1d0ba3

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=false
assert_output -p needs-dependency-check=false
assert_output -p needs-integration-tests=false
assert_output -p needs-integration-tests=true
assert_output -p needs-kubernetes-tests=false
}

@test "unit helper" {
run dev-support/ci/selective_ci_checks.sh 88383d1d5

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=false
Expand Down Expand Up @@ -189,20 +189,17 @@ load bats-assert/load.bash
assert_output -p needs-kubernetes-tests=false
}

# disabled, because this test fails if
# hadoop-hdds/rocksdb-checkpoint-differ/src/test/java/org/apache/ozone/rocksdb/util/TestManagedSstFileReader.java
# is not present in the current tree (i.e. if file is renamed, moved or deleted)
#@test "native test in other module" {
# run dev-support/ci/selective_ci_checks.sh 7d01cc14a6
#
# assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","native","unit"]'
# assert_output -p needs-build=true
# assert_output -p needs-compile=true
# assert_output -p needs-compose-tests=false
# assert_output -p needs-dependency-check=false
# assert_output -p needs-integration-tests=false
# assert_output -p needs-kubernetes-tests=false
#}
@test "native test in other module" {
run dev-support/ci/selective_ci_checks.sh 822c0dee1a

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","native"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=false
assert_output -p needs-dependency-check=false
assert_output -p needs-integration-tests=false
assert_output -p needs-kubernetes-tests=false
}

@test "kubernetes only" {
run dev-support/ci/selective_ci_checks.sh 5336bb9bd
Expand Down Expand Up @@ -231,7 +228,7 @@ load bats-assert/load.bash
@test "main/java change" {
run dev-support/ci/selective_ci_checks.sh 86a771dfe

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -243,7 +240,7 @@ load bats-assert/load.bash
@test "..../java change" {
run dev-support/ci/selective_ci_checks.sh 01c616536

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -255,7 +252,7 @@ load bats-assert/load.bash
@test "java and compose change" {
run dev-support/ci/selective_ci_checks.sh d0f0f806e

assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -267,7 +264,7 @@ load bats-assert/load.bash
@test "java and docs change" {
run dev-support/ci/selective_ci_checks.sh 2c0adac26

assert_output -p 'basic-checks=["rat","author","checkstyle","docs","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","author","checkstyle","docs","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -279,7 +276,7 @@ load bats-assert/load.bash
@test "pom change" {
run dev-support/ci/selective_ci_checks.sh 9129424a9

assert_output -p 'basic-checks=["rat","checkstyle","findbugs","unit"]'
assert_output -p 'basic-checks=["rat","checkstyle","findbugs"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -291,7 +288,7 @@ load bats-assert/load.bash
@test "CI lib change" {
run dev-support/ci/selective_ci_checks.sh ceb79acaa

assert_output -p 'basic-checks=["author","bats","checkstyle","docs","findbugs","native","rat","unit"]'
assert_output -p 'basic-checks=["author","bats","checkstyle","docs","findbugs","native","rat"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -303,7 +300,7 @@ load bats-assert/load.bash
@test "CI workflow change" {
run dev-support/ci/selective_ci_checks.sh 90a8d7c01

assert_output -p 'basic-checks=["author","bats","checkstyle","docs","findbugs","native","rat","unit"]'
assert_output -p 'basic-checks=["author","bats","checkstyle","docs","findbugs","native","rat"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand All @@ -328,7 +325,7 @@ load bats-assert/load.bash
@test "CI workflow change (ci.yaml)" {
run dev-support/ci/selective_ci_checks.sh 90fd5f2adc

assert_output -p 'basic-checks=["author","bats","checkstyle","docs","findbugs","native","rat","unit"]'
assert_output -p 'basic-checks=["author","bats","checkstyle","docs","findbugs","native","rat"]'
assert_output -p needs-build=true
assert_output -p needs-compile=true
assert_output -p needs-compose-tests=true
Expand Down
38 changes: 3 additions & 35 deletions dev-support/ci/selective_ci_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -263,18 +263,10 @@ function get_count_integration_files() {
"^hadoop-ozone/integration-test"
"^hadoop-ozone/fault-injection-test/mini-chaos-tests"
"src/test/java"
"src/test/resources"
)
# Ozone's unit test naming convention: Test*.java
# The following makes this filter ignore all tests except those in
# integration-test and fault-injection-test.
# Directories starting with `i` under hadoop-ozone need to be listed
# explicitly, other subdirectories are captured by the second item.
local ignore_array=(
"^hadoop-hdds/.*/src/test/java/.*/Test.*.java"
"^hadoop-ozone/[a-eghj-z].*/src/test/java/.*/Test.*.java"
"^hadoop-ozone/insight/src/test/java/.*/Test.*.java"
"^hadoop-ozone/interface-client/src/test/java/.*/Test.*.java"
"^hadoop-ozone/interface-storage/src/test/java/.*/Test.*.java"
$(grep -Flr 'org.apache.ozone.test.tag.Native' hadoop-ozone/integration-test)
)
filter_changed_files true
COUNT_INTEGRATION_CHANGED_FILES=${match_count}
Expand Down Expand Up @@ -456,29 +448,6 @@ function check_needs_native() {
start_end::group_end
}

function check_needs_unit_test() {
start_end::group_start "Check if unit test is needed"
local pattern_array=(
"^hadoop-ozone/dev-support/checks/_mvn_unit_report.sh"
"^hadoop-ozone/dev-support/checks/unit.sh"
"^hadoop-ozone/dev-support/checks/junit.sh"
"src/test/java"
"src/test/resources"
)
local ignore_array=(
"^hadoop-ozone/dist"
"^hadoop-ozone/fault-injection-test/mini-chaos-tests"
"^hadoop-ozone/integration-test"
)
filter_changed_files true

if [[ ${match_count} != "0" ]]; then
add_basic_check unit
fi

start_end::group_end
}

# Counts other files which do not need to trigger any functional test
# (i.e. no compose/integration/kubernetes)
function get_count_misc_files() {
Expand All @@ -502,6 +471,7 @@ function get_count_misc_files() {
"^hadoop-ozone/dev-support/checks/_mvn_unit_report.sh"
"^hadoop-ozone/dev-support/checks/acceptance.sh"
"^hadoop-ozone/dev-support/checks/integration.sh"
"^hadoop-ozone/dev-support/checks/junit.sh"
"^hadoop-ozone/dev-support/checks/kubernetes.sh"
)
filter_changed_files true
Expand Down Expand Up @@ -534,7 +504,6 @@ function calculate_test_types_to_run() {
compose_tests_needed=true
integration_tests_needed=true
kubernetes_tests_needed=true
add_basic_check unit
else
echo "All ${COUNT_ALL_CHANGED_FILES} changed files are known to be handled by specific checks."
echo
Expand Down Expand Up @@ -614,6 +583,5 @@ check_needs_dependency
check_needs_docs
check_needs_findbugs
check_needs_native
check_needs_unit_test
calculate_test_types_to_run
set_outputs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.apache.hadoop.metrics2.lib.Interns;
import org.apache.hadoop.metrics2.lib.MetricsRegistry;
import org.apache.hadoop.metrics2.lib.MutableCounterLong;
import org.apache.hadoop.metrics2.lib.MutableQuantiles;
import org.apache.hadoop.ozone.OzoneConsts;

import java.util.Map;
Expand All @@ -51,6 +52,11 @@ public final class ContainerClientMetrics {
private MutableCounterLong totalWriteChunkCalls;
@Metric
private MutableCounterLong totalWriteChunkBytes;
private MutableQuantiles[] listBlockLatency;
private MutableQuantiles[] getBlockLatency;
private MutableQuantiles[] getCommittedBlockLengthLatency;
private MutableQuantiles[] readChunkLatency;
private MutableQuantiles[] getSmallFileLatency;
private final Map<PipelineID, MutableCounterLong> writeChunkCallsByPipeline;
private final Map<PipelineID, MutableCounterLong> writeChunkBytesByPipeline;
private final Map<UUID, MutableCounterLong> writeChunksCallsByLeaders;
Expand Down Expand Up @@ -84,6 +90,36 @@ private ContainerClientMetrics() {
writeChunkCallsByPipeline = new ConcurrentHashMap<>();
writeChunkBytesByPipeline = new ConcurrentHashMap<>();
writeChunksCallsByLeaders = new ConcurrentHashMap<>();

listBlockLatency = new MutableQuantiles[3];
getBlockLatency = new MutableQuantiles[3];
getCommittedBlockLengthLatency = new MutableQuantiles[3];
readChunkLatency = new MutableQuantiles[3];
getSmallFileLatency = new MutableQuantiles[3];
int[] intervals = {60, 300, 900};
for (int i = 0; i < intervals.length; i++) {
int interval = intervals[i];
listBlockLatency[i] = registry
.newQuantiles("listBlockLatency" + interval
+ "s", "ListBlock latency in microseconds", "ops",
"latency", interval);
getBlockLatency[i] = registry
.newQuantiles("getBlockLatency" + interval
+ "s", "GetBlock latency in microseconds", "ops",
"latency", interval);
getCommittedBlockLengthLatency[i] = registry
.newQuantiles("getCommittedBlockLengthLatency" + interval
+ "s", "GetCommittedBlockLength latency in microseconds",
"ops", "latency", interval);
readChunkLatency[i] = registry
.newQuantiles("readChunkLatency" + interval
+ "s", "ReadChunk latency in microseconds", "ops",
"latency", interval);
getSmallFileLatency[i] = registry
.newQuantiles("getSmallFileLatency" + interval
+ "s", "GetSmallFile latency in microseconds", "ops",
"latency", interval);
}
}

public void recordWriteChunk(Pipeline pipeline, long chunkSizeBytes) {
Expand Down Expand Up @@ -111,7 +147,48 @@ public void recordWriteChunk(Pipeline pipeline, long chunkSizeBytes) {
totalWriteChunkBytes.incr(chunkSizeBytes);
}

MutableCounterLong getTotalWriteChunkBytes() {
public void addListBlockLatency(long latency) {
for (MutableQuantiles q : listBlockLatency) {
if (q != null) {
q.add(latency);
}
}
}

public void addGetBlockLatency(long latency) {
for (MutableQuantiles q : getBlockLatency) {
if (q != null) {
q.add(latency);
}
}
}

public void addGetCommittedBlockLengthLatency(long latency) {
for (MutableQuantiles q : getCommittedBlockLengthLatency) {
if (q != null) {
q.add(latency);
}
}
}

public void addReadChunkLatency(long latency) {
for (MutableQuantiles q : readChunkLatency) {
if (q != null) {
q.add(latency);
}
}
}

public void addGetSmallFileLatency(long latency) {
for (MutableQuantiles q : getSmallFileLatency) {
if (q != null) {
q.add(latency);
}
}
}

@VisibleForTesting
public MutableCounterLong getTotalWriteChunkBytes() {
return totalWriteChunkBytes;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,14 @@ public enum ChecksumCombineMode {
tags = ConfigTag.CLIENT)
private boolean incrementalChunkList = true;

@Config(key = "stream.putblock.piggybacking",
defaultValue = "false",
type = ConfigType.BOOLEAN,
description = "Allow PutBlock to be piggybacked in WriteChunk " +
"requests if the chunk is small.",
tags = ConfigTag.CLIENT)
private boolean enablePutblockPiggybacking = false;

@PostConstruct
public void validate() {
Preconditions.checkState(streamBufferSize > 0);
Expand Down Expand Up @@ -454,6 +462,14 @@ public String getFsDefaultBucketLayout() {
return fsDefaultBucketLayout;
}

public void setEnablePutblockPiggybacking(boolean enablePutblockPiggybacking) {
this.enablePutblockPiggybacking = enablePutblockPiggybacking;
}

public boolean getEnablePutblockPiggybacking() {
return enablePutblockPiggybacking;
}

public boolean isDatastreamPipelineMode() {
return datastreamPipelineMode;
}
Expand Down
Loading