Skip to content
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

HDDS-12057. Implement command ozone debug replicas verify checksums #7748

Merged
merged 13 commits into from
Mar 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ ${TESTFILE} testfile
${CORRUPT_DATANODE} ozone_datanode_1.ozone_default

*** Test Cases ***
Test ozone debug read-replicas with corrupt block replica
${directory} = Execute read-replicas CLI tool
Test ozone debug checksums with corrupt block replica
${directory} = Execute replicas verify checksums CLI tool
Set Test Variable ${DIR} ${directory}

${count_files} = Count Files In Directory ${directory}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# limitations under the License.

*** Settings ***
Documentation Test read-replicas in case of one datanode is dead
Documentation Test checksums in case of one datanode is dead
Library OperatingSystem
Resource ../lib/os.robot
Resource ozone-debug.robot
Expand All @@ -26,8 +26,8 @@ ${BUCKET} cli-debug-bucket
${TESTFILE} testfile

*** Test Cases ***
Test ozone debug read-replicas with one datanode DEAD
${directory} = Execute read-replicas CLI tool
Test ozone debug checksums with one datanode DEAD
${directory} = Execute replicas verify checksums CLI tool
Set Test Variable ${DIR} ${directory}

${count_files} = Count Files In Directory ${directory}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# limitations under the License.

*** Settings ***
Documentation Test read-replicas in case of one datanode is stale
Documentation Test checksums in case of one datanode is stale
Library OperatingSystem
Resource ../lib/os.robot
Resource ozone-debug.robot
Expand All @@ -27,8 +27,8 @@ ${TESTFILE} testfile
${STALE_DATANODE} ozone_datanode_1.ozone_default

*** Test Cases ***
Test ozone debug read-replicas with one datanode STALE
${directory} = Execute read-replicas CLI tool
Test ozone debug checksums with one datanode STALE
${directory} = Execute replicas verify checksums CLI tool
Set Test Variable ${DIR} ${directory}

${count_files} = Count Files In Directory ${directory}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,37 +44,37 @@ Create EC key
*** Test Cases ***
0 data block
Create EC key 1000 0
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 1

1 data block
Create EC key 1048576 1
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 6
${sum_size} = Evaluate 1048576 * 3
Verify Healthy EC Replica ${directory} 1 ${sum_size}

2 data blocks
Create EC key 1048576 2
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${sum_size} = Evaluate 1048576 * 4
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 6
Verify Healthy EC Replica ${directory} 1 ${sum_size}

3 data blocks
Create EC key 1048576 3
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${sum_size} = Evaluate 1048576 * 5
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 6
Verify Healthy EC Replica ${directory} 1 ${sum_size}

3 data blocks and partial stripe
Create EC key 1000000 4
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 5
${sum_size_last_stripe} = Evaluate ((1000000 * 4) % 1048576) * 3
Expand All @@ -84,7 +84,7 @@ Create EC key

4 data blocks and partial stripe
Create EC key 1000000 5
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 5
${sum_size_last_stripe} = Evaluate 1048576 * 3 + ((1000000 * 5) % 1048576)
Expand All @@ -94,7 +94,7 @@ Create EC key

6 data blocks
Create EC key 1048576 6
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 5
Should Be Equal As Integers ${count_files} 11
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,61 +39,61 @@ Create EC key
*** Test Cases ***
0 data block
Create EC key 1048576 0
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 1

1 data block
Create EC key 1048576 1
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 10
${sum_size} = Evaluate 1048576 * 4
Verify Healthy EC Replica ${directory} 1 ${sum_size}

2 data blocks
Create EC key 1048576 2
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${sum_size} = Evaluate 1048576 * 5
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 10
Verify Healthy EC Replica ${directory} 1 ${sum_size}

3 data blocks
Create EC key 1048576 3
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${sum_size} = Evaluate 1048576 * 6
${count_files} = Count Files In Directory ${directory}
Should Be Equal As Integers ${count_files} 10
Verify Healthy EC Replica ${directory} 1 ${sum_size}

4 data blocks
Create EC key 1048576 4
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 7
Should Be Equal As Integers ${count_files} 10
Verify Healthy EC Replica ${directory} 1 ${sum_size}

5 data blocks
Create EC key 1048576 5
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 8
Should Be Equal As Integers ${count_files} 10
Verify Healthy EC Replica ${directory} 1 ${sum_size}

6 data blocks
Create EC key 1048576 6
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 9
Should Be Equal As Integers ${count_files} 10
Verify Healthy EC Replica ${directory} 1 ${sum_size}

6 data blocks and partial stripe
Create EC key 1000000 7
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 9
${sum_size_last_stripe} = Evaluate ((1000000 * 7) % 1048576) * 4
Expand All @@ -103,10 +103,10 @@ Create EC key

7 data blocks and partial stripe
Create EC key 1000000 8
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
${count_files} = Count Files In Directory ${directory}
${sum_size} = Evaluate 1048576 * 9
${sum_size_last_stripe} = Evaluate 1048576 * 4 + ((1000000 * 8) % 1048576)
Should Be Equal As Integers ${count_files} 19
Verify Healthy EC Replica ${directory} 1 ${sum_size}
Verify Healthy EC Replica ${directory} 2 ${sum_size_last_stripe}
Verify Healthy EC Replica ${directory} 2 ${sum_size_last_stripe}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Write keys

*** Test Cases ***
Test ozone debug read-replicas
${directory} = Execute read-replicas CLI tool
${directory} = Execute replicas verify checksums CLI tool
Set Test Variable ${DIR} ${directory}

${count_files} = Count Files In Directory ${directory}
Expand Down
4 changes: 2 additions & 2 deletions hadoop-ozone/dist/src/main/smoketest/debug/ozone-debug.robot
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ Library Collections
Resource ../lib/os.robot

*** Keywords ***
Execute read-replicas CLI tool
Execute ozone debug -Dozone.network.topology.aware.read=true read-replicas --output-dir ${TEMP_DIR} o3://om/${VOLUME}/${BUCKET}/${TESTFILE}
Execute replicas verify checksums CLI tool
Execute ozone debug -Dozone.network.topology.aware.read=true replicas verify --checksums --output-dir ${TEMP_DIR} o3://om/${VOLUME}/${BUCKET}/${TESTFILE}
${directory} = Execute ls -d ${TEMP_DIR}/${VOLUME}_${BUCKET}_${TESTFILE}_*/ | tail -n 1
Directory Should Exist ${directory}
File Should Exist ${directory}/${TESTFILE}_manifest
Expand Down
Loading