[ 
https://issues.apache.org/jira/browse/HDDS-6256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen O'Donnell updated HDDS-6256:
------------------------------------
    Description: 
I write a tiny key into a 3-2 bucket. Container group is still open - this 
looks good 3 containers as expected:
{code:java}
 Replicas: [State: OPEN; ReplicaIndex: 4; Origin: 
3fc2c737-83b1-4485-91ac-b771e41fa1dd; Location: 
3fc2c737-83b1-4485-91ac-b771e41fa1dd/ozone_datanode_1.ozone_default,
State: OPEN; ReplicaIndex: 5; Origin: 1be82529-d5f2-4c6b-8573-0bb75863ded1; 
Location: 1be82529-d5f2-4c6b-8573-0bb75863ded1/ozone_datanode_4.ozone_default,
State: OPEN; ReplicaIndex: 1; Origin: e1d6ca08-d5eb-4e8a-b42a-bf1257e9f673; 
Location: 
e1d6ca08-d5eb-4e8a-b42a-bf1257e9f673/ozone_datanode_2.ozone_default]{code}

In the JSON:

 
{code:java}
"bytesUsed" : 177,
"replicaIndex" : 1
...
"bytesUsed" : 1048576,
"replicaIndex" : 5
...
"bytesUsed" : 1048576,
"replicaIndex" : 4 {code}

So the parity should only have 177 bytes too, but it appears to have 1MB. 
Checking the block file on disk, it is indeed 1MB:
{code:java}
 bash-4.2$ cd 
/data/hdds/hdds/CID-137befd9-f6ec-430b-b0e0-ee683ac1d987/current/containerDir0/3/
bash-4.2$ ls
chunks metadata
bash-4.2$ cd chunks/
bash-4.2$ ls
109611004723200004.block
bash-4.2$ ls -al
total 1032
drwxr-xr-x 2 hadoop users 4096 Feb 2 22:08 .
drwxr-xr-x 4 hadoop users 4096 Feb 2 22:08 ..
rw-rr- 1 hadoop users 1048576 Feb 2 22:08 109611004723200004.block{code}
So something is not correct with the write path here. Checking the block 
contents, its all padded with zeros:
{code:java}
 bash-4.2$ hexdump -C 109611004723200004.block 
00000000 e4 e5 e6 1a 10 1a 10 1a e4 07 24 25 21 d4 24 d3 |..........$%!.$.|
00000010 25 da 2c 06 16 16 e4 07 24 25 21 d4 24 d3 25 da |%.,.....$%!.$.%.|
00000020 2c eb 27 db 12 1b 24 25 21 d4 24 d3 25 da 2c eb |,.'...$%!.$.%.,.|
00000030 27 db 12 1b 24 25 25 db d5 d4 21 d2 06 22 23 10 |'...$%%...!.."#.|
00000040 10 16 16 10 07 27 db 12 1b 24 25 21 d4 24 d1 23 |.....'...$%!.$.#|
00000050 2c 06 22 22 10 10 16 16 10 07 27 db 12 1b d0 21 |,.""......'....!|
00000060 d4 da 2c db 2e 23 22 27 28 06 22 22 10 e5 16 16 |..,..#"'(.""....|
00000070 e4 07 27 db 12 1b d4 24 24 d1 25 d7 23 da 06 22 |..'....$$.%.#.."|
00000080 22 10 e5 16 16 e5 07 27 db 12 1b d4 24 24 2e 25 |"......'....$$.%|
00000090 d8 2c 23 2e da 06 e4 17 e5 1a e4 12 e3 1a e4 12 |.,#.............|
000000a0 10 1a e5 07 e6 e4 e7 11 d5 13 13 10 10 e3 d7 e3 |................|
000000b0 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00100000{code}

  was:
I write a tiny key into a 3-2 bucket. Container group is still open - this 
looks good 3 containers as expected:
Replicas: [State: OPEN; ReplicaIndex: 4; Origin: 
3fc2c737-83b1-4485-91ac-b771e41fa1dd; Location: 
3fc2c737-83b1-4485-91ac-b771e41fa1dd/ozone_datanode_1.ozone_default,
State: OPEN; ReplicaIndex: 5; Origin: 1be82529-d5f2-4c6b-8573-0bb75863ded1; 
Location: 1be82529-d5f2-4c6b-8573-0bb75863ded1/ozone_datanode_4.ozone_default,
State: OPEN; ReplicaIndex: 1; Origin: e1d6ca08-d5eb-4e8a-b42a-bf1257e9f673; 
Location: e1d6ca08-d5eb-4e8a-b42a-bf1257e9f673/ozone_datanode_2.ozone_default]
In the JSON:
    "bytesUsed" : 177,
    "replicaIndex" : 1
...
    "bytesUsed" : 1048576,
    "replicaIndex" : 5
...
    "bytesUsed" : 1048576,
    "replicaIndex" : 4
So the parity should only have 177 bytes too, but it appears to have 1MB. 
Checking the block file on disk, it is indeed 1MB:
bash-4.2$ cd 
/data/hdds/hdds/CID-137befd9-f6ec-430b-b0e0-ee683ac1d987/current/containerDir0/3/
bash-4.2$ ls
chunks  metadata
bash-4.2$ cd chunks/
bash-4.2$ ls
109611004723200004.block
bash-4.2$ ls -al
total 1032
drwxr-xr-x 2 hadoop users    4096 Feb  2 22:08 .
drwxr-xr-x 4 hadoop users    4096 Feb  2 22:08 ..
-rw-r--r-- 1 hadoop users 1048576 Feb  2 22:08 109611004723200004.block
So something is not correct with the write path here. Checking the block 
contents, its all padded with zeros:
bash-4.2$ hexdump -C 109611004723200004.block 
00000000  e4 e5 e6 1a 10 1a 10 1a  e4 07 24 25 21 d4 24 d3  |..........$%!.$.|
00000010  25 da 2c 06 16 16 e4 07  24 25 21 d4 24 d3 25 da  |%.,.....$%!.$.%.|
00000020  2c eb 27 db 12 1b 24 25  21 d4 24 d3 25 da 2c eb  |,.'...$%!.$.%.,.|
00000030  27 db 12 1b 24 25 25 db  d5 d4 21 d2 06 22 23 10  |'...$%%...!.."#.|
00000040  10 16 16 10 07 27 db 12  1b 24 25 21 d4 24 d1 23  |.....'...$%!.$.#|
00000050  2c 06 22 22 10 10 16 16  10 07 27 db 12 1b d0 21  |,.""......'....!|
00000060  d4 da 2c db 2e 23 22 27  28 06 22 22 10 e5 16 16  |..,..#"'(.""....|
00000070  e4 07 27 db 12 1b d4 24  24 d1 25 d7 23 da 06 22  |..'....$$.%.#.."|
00000080  22 10 e5 16 16 e5 07 27  db 12 1b d4 24 24 2e 25  |"......'....$$.%|
00000090  d8 2c 23 2e da 06 e4 17  e5 1a e4 12 e3 1a e4 12  |.,#.............|
000000a0  10 1a e5 07 e6 e4 e7 11  d5 13 13 10 10 e3 d7 e3  |................|
000000b0  06 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000


> EC: Parity blocks are padded incorrectly with zeros to the chunk size
> ---------------------------------------------------------------------
>
>                 Key: HDDS-6256
>                 URL: https://issues.apache.org/jira/browse/HDDS-6256
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Stephen O'Donnell
>            Priority: Major
>
> I write a tiny key into a 3-2 bucket. Container group is still open - this 
> looks good 3 containers as expected:
> {code:java}
>  Replicas: [State: OPEN; ReplicaIndex: 4; Origin: 
> 3fc2c737-83b1-4485-91ac-b771e41fa1dd; Location: 
> 3fc2c737-83b1-4485-91ac-b771e41fa1dd/ozone_datanode_1.ozone_default,
> State: OPEN; ReplicaIndex: 5; Origin: 1be82529-d5f2-4c6b-8573-0bb75863ded1; 
> Location: 1be82529-d5f2-4c6b-8573-0bb75863ded1/ozone_datanode_4.ozone_default,
> State: OPEN; ReplicaIndex: 1; Origin: e1d6ca08-d5eb-4e8a-b42a-bf1257e9f673; 
> Location: 
> e1d6ca08-d5eb-4e8a-b42a-bf1257e9f673/ozone_datanode_2.ozone_default]{code}
> In the JSON:
>  
> {code:java}
> "bytesUsed" : 177,
> "replicaIndex" : 1
> ...
> "bytesUsed" : 1048576,
> "replicaIndex" : 5
> ...
> "bytesUsed" : 1048576,
> "replicaIndex" : 4 {code}
> So the parity should only have 177 bytes too, but it appears to have 1MB. 
> Checking the block file on disk, it is indeed 1MB:
> {code:java}
>  bash-4.2$ cd 
> /data/hdds/hdds/CID-137befd9-f6ec-430b-b0e0-ee683ac1d987/current/containerDir0/3/
> bash-4.2$ ls
> chunks metadata
> bash-4.2$ cd chunks/
> bash-4.2$ ls
> 109611004723200004.block
> bash-4.2$ ls -al
> total 1032
> drwxr-xr-x 2 hadoop users 4096 Feb 2 22:08 .
> drwxr-xr-x 4 hadoop users 4096 Feb 2 22:08 ..
> rw-rr- 1 hadoop users 1048576 Feb 2 22:08 109611004723200004.block{code}
> So something is not correct with the write path here. Checking the block 
> contents, its all padded with zeros:
> {code:java}
>  bash-4.2$ hexdump -C 109611004723200004.block 
> 00000000 e4 e5 e6 1a 10 1a 10 1a e4 07 24 25 21 d4 24 d3 |..........$%!.$.|
> 00000010 25 da 2c 06 16 16 e4 07 24 25 21 d4 24 d3 25 da |%.,.....$%!.$.%.|
> 00000020 2c eb 27 db 12 1b 24 25 21 d4 24 d3 25 da 2c eb |,.'...$%!.$.%.,.|
> 00000030 27 db 12 1b 24 25 25 db d5 d4 21 d2 06 22 23 10 |'...$%%...!.."#.|
> 00000040 10 16 16 10 07 27 db 12 1b 24 25 21 d4 24 d1 23 |.....'...$%!.$.#|
> 00000050 2c 06 22 22 10 10 16 16 10 07 27 db 12 1b d0 21 |,.""......'....!|
> 00000060 d4 da 2c db 2e 23 22 27 28 06 22 22 10 e5 16 16 |..,..#"'(.""....|
> 00000070 e4 07 27 db 12 1b d4 24 24 d1 25 d7 23 da 06 22 |..'....$$.%.#.."|
> 00000080 22 10 e5 16 16 e5 07 27 db 12 1b d4 24 24 2e 25 |"......'....$$.%|
> 00000090 d8 2c 23 2e da 06 e4 17 e5 1a e4 12 e3 1a e4 12 |.,#.............|
> 000000a0 10 1a e5 07 e6 e4 e7 11 d5 13 13 10 10 e3 d7 e3 |................|
> 000000b0 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
> 000000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
> *
> 00100000{code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org
For additional commands, e-mail: issues-h...@ozone.apache.org

Reply via email to