[ 
https://issues.apache.org/jira/browse/HDFS-17845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072772#comment-18072772
 ] 

ASF GitHub Bot commented on HDFS-17845:
---------------------------------------

balodesecurity commented on PR #8321:
URL: https://github.com/apache/hadoop/pull/8321#issuecomment-4227949120

   Thanks @ZanderXu for the review\! You're right — `QuotaExceededException` 
always has `isNodeMarked() == false` (it's a NameNode rejection, so 
`badNodeIndex` stays at -1), meaning `streamerClosed = true` was already being 
set by the existing block. I've simplified the fix by removing the redundant 
separate block and nesting `dataQueue.notifyAll()` inside the existing 
`\!isNodeMarked()` block.




> DataStreamer QuotaExceededException should be thrown to Client
> --------------------------------------------------------------
>
>                 Key: HDFS-17845
>                 URL: https://issues.apache.org/jira/browse/HDFS-17845
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs-client
>            Reporter: Karthik Palanisamy
>            Priority: Major
>              Labels: pull-request-available
>
> When a {{QuotaExceededException}} happens during {{{}addBlock{}}}, nameNode 
> throws back to client but {{DataStreamer}} client logs this as {{DEBUG}} 
> instead of {{WARN.}}
> {{[https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java#L857]}}
> Hard to troubleshoot them. 
> Also, for any DataStreamer exception, we set it in lastException.set(e) and 
> close the stream afterward. This lastException thrown in all the scenarios 
> (when the stream is created with right datanode list). If any error during 
> stream then it retries and send back to client. But in case of 
> QuotaExceededException, the namenode didn’t return any datanode list, so the 
> output stream was never created and also we missed throwing the exception to 
> the client.
>  
> [https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java#L862]
> [https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java#L876]
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to