[ https://issues.apache.org/jira/browse/HDFS-16422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520310#comment-17520310 ]
Takanobu Asanuma commented on HDFS-16422: ----------------------------------------- Hi [~cndaimin], bq. In conclusion: RSRawDecoder seems to be thread safe, NativeRSRawDecoder is not thread safe, the read/write lock seems unable to protect the native decodeImpl method. Do you mean HDFS-16422 also made NativeRSRawDecoder thread safe? Or NativeRSRawDecoder is still not thread safe after HDFS-16422? > Fix thread safety of EC decoding during concurrent preads > --------------------------------------------------------- > > Key: HDFS-16422 > URL: https://issues.apache.org/jira/browse/HDFS-16422 > Project: Hadoop HDFS > Issue Type: Bug > Components: dfsclient, ec, erasure-coding > Affects Versions: 3.3.0, 3.3.1 > Reporter: daimin > Assignee: daimin > Priority: Critical > Labels: pull-request-available > Fix For: 3.4.0, 3.2.3, 3.3.3 > > Time Spent: 3h 40m > Remaining Estimate: 0h > > Reading data on an erasure-coded file with missing replicas(internal block of > block group) will cause online reconstruction: read dataUnits part of data > and decode them into the target missing data. Each DFSStripedInputStream > object has a RawErasureDecoder object, and when we doing pread concurrently, > RawErasureDecoder.decode will be invoked concurrently too. > RawErasureDecoder.decode is not thread safe, as a result of that we get wrong > data from pread occasionally. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org