You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Tsz-wo Sze (Jira)" <ji...@apache.org> on 2023/03/04 01:04:00 UTC

[jira] [Updated] (HDDS-8024) HDDS-8024. When readChunk from a datanode fails, retry other datanodes.

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

Tsz-wo Sze updated HDDS-8024:
-----------------------------
    Component/s: Ozone Client
    Description: 
{code:title=https://github.com/adoroszlai/ozone-build-results/blob/master/2023/02/03/19930/it-filesystem/hadoop-ozone/integration-test/org.apache.hadoop.fs.ozone.contract.ITestOzoneContractCreate.txt}
ITestOzoneContractCreate.testSyncable  Time elapsed: 0.309 s  <<< ERROR!
java.io.IOException: Inconsistent read for blockID=conID: 1 locID: 111677748019200007 bcsId: 0 length=2 position=1 numBytesToRead=1 numBytesRead=-1
	at org.apache.hadoop.ozone.client.io.KeyInputStream.checkPartBytesRead(KeyInputStream.java:175)
	at org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:97)
	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:54)
	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:41)
	at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:55)
	at java.io.FilterInputStream.read(FilterInputStream.java:83)
	at org.apache.hadoop.fs.contract.AbstractContractCreateTest.validateSyncableSemantics(AbstractContractCreateTest.java:548)
	at org.apache.hadoop.fs.contract.AbstractContractCreateTest.testSyncable(AbstractContractCreateTest.java:459)
{code}

{code:title=https://github.com/adoroszlai/hadoop-ozone/actions/runs/4257319915/jobs/7407314181#step:5:3310}
java.io.IOException: Inconsistent read for blockID=conID: 1 locID: 111677748019200001 bcsId: 0 length=1120 position=97 numBytesToRead=1023 numBytesRead=-1
	at org.apache.hadoop.ozone.client.io.KeyInputStream.checkPartBytesRead(KeyInputStream.java:175)
	at org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:97)
	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:54)
	at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:64)
	at java.io.DataInputStream.read(DataInputStream.java:149)
	at org.apache.hadoop.fs.ozone.TestHSync.runTestHSync(TestHSync.java:188)
	at org.apache.hadoop.fs.ozone.TestHSync.runTestHSync(TestHSync.java:143)
	at org.apache.hadoop.fs.ozone.TestHSync.testO3fsHSync(TestHSync.java:116)
{code}

I guess these two different tests both exercise HSync.

CC [~weichiu], [~szetszwo]
----
The datanode may fail to serve readChunk but the client won't retry other datanodes.  We will change it to retry other datanodes in the JIRA.

  was:
{code:title=https://github.com/adoroszlai/ozone-build-results/blob/master/2023/02/03/19930/it-filesystem/hadoop-ozone/integration-test/org.apache.hadoop.fs.ozone.contract.ITestOzoneContractCreate.txt}
ITestOzoneContractCreate.testSyncable  Time elapsed: 0.309 s  <<< ERROR!
java.io.IOException: Inconsistent read for blockID=conID: 1 locID: 111677748019200007 bcsId: 0 length=2 position=1 numBytesToRead=1 numBytesRead=-1
	at org.apache.hadoop.ozone.client.io.KeyInputStream.checkPartBytesRead(KeyInputStream.java:175)
	at org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:97)
	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:54)
	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:41)
	at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:55)
	at java.io.FilterInputStream.read(FilterInputStream.java:83)
	at org.apache.hadoop.fs.contract.AbstractContractCreateTest.validateSyncableSemantics(AbstractContractCreateTest.java:548)
	at org.apache.hadoop.fs.contract.AbstractContractCreateTest.testSyncable(AbstractContractCreateTest.java:459)
{code}

{code:title=https://github.com/adoroszlai/hadoop-ozone/actions/runs/4257319915/jobs/7407314181#step:5:3310}
java.io.IOException: Inconsistent read for blockID=conID: 1 locID: 111677748019200001 bcsId: 0 length=1120 position=97 numBytesToRead=1023 numBytesRead=-1
	at org.apache.hadoop.ozone.client.io.KeyInputStream.checkPartBytesRead(KeyInputStream.java:175)
	at org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:97)
	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:54)
	at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:64)
	at java.io.DataInputStream.read(DataInputStream.java:149)
	at org.apache.hadoop.fs.ozone.TestHSync.runTestHSync(TestHSync.java:188)
	at org.apache.hadoop.fs.ozone.TestHSync.runTestHSync(TestHSync.java:143)
	at org.apache.hadoop.fs.ozone.TestHSync.testO3fsHSync(TestHSync.java:116)
{code}

I guess these two different tests both exercise HSync.

CC [~weichiu], [~szetszwo]

        Summary: HDDS-8024. When readChunk from a datanode fails, retry other datanodes.  (was: Intermittent inconsistent read in HSync tests)

> HDDS-8024. When readChunk from a datanode fails, retry other datanodes.
> -----------------------------------------------------------------------
>
>                 Key: HDDS-8024
>                 URL: https://issues.apache.org/jira/browse/HDDS-8024
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: Ozone Client
>    Affects Versions: 1.4.0
>            Reporter: Attila Doroszlai
>            Assignee: Tsz-wo Sze
>            Priority: Major
>              Labels: pull-request-available
>
> {code:title=https://github.com/adoroszlai/ozone-build-results/blob/master/2023/02/03/19930/it-filesystem/hadoop-ozone/integration-test/org.apache.hadoop.fs.ozone.contract.ITestOzoneContractCreate.txt}
> ITestOzoneContractCreate.testSyncable  Time elapsed: 0.309 s  <<< ERROR!
> java.io.IOException: Inconsistent read for blockID=conID: 1 locID: 111677748019200007 bcsId: 0 length=2 position=1 numBytesToRead=1 numBytesRead=-1
> 	at org.apache.hadoop.ozone.client.io.KeyInputStream.checkPartBytesRead(KeyInputStream.java:175)
> 	at org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:97)
> 	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:54)
> 	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:41)
> 	at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:55)
> 	at java.io.FilterInputStream.read(FilterInputStream.java:83)
> 	at org.apache.hadoop.fs.contract.AbstractContractCreateTest.validateSyncableSemantics(AbstractContractCreateTest.java:548)
> 	at org.apache.hadoop.fs.contract.AbstractContractCreateTest.testSyncable(AbstractContractCreateTest.java:459)
> {code}
> {code:title=https://github.com/adoroszlai/hadoop-ozone/actions/runs/4257319915/jobs/7407314181#step:5:3310}
> java.io.IOException: Inconsistent read for blockID=conID: 1 locID: 111677748019200001 bcsId: 0 length=1120 position=97 numBytesToRead=1023 numBytesRead=-1
> 	at org.apache.hadoop.ozone.client.io.KeyInputStream.checkPartBytesRead(KeyInputStream.java:175)
> 	at org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:97)
> 	at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:54)
> 	at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:64)
> 	at java.io.DataInputStream.read(DataInputStream.java:149)
> 	at org.apache.hadoop.fs.ozone.TestHSync.runTestHSync(TestHSync.java:188)
> 	at org.apache.hadoop.fs.ozone.TestHSync.runTestHSync(TestHSync.java:143)
> 	at org.apache.hadoop.fs.ozone.TestHSync.testO3fsHSync(TestHSync.java:116)
> {code}
> I guess these two different tests both exercise HSync.
> CC [~weichiu], [~szetszwo]
> ----
> The datanode may fail to serve readChunk but the client won't retry other datanodes.  We will change it to retry other datanodes in the JIRA.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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