hfutatzhanghb commented on PR #6434:
URL: https://github.com/apache/hadoop/pull/6434#issuecomment-1898012100

   > > > Line211 has already ensured that we have a monitor for this object:
   > > > 
https://github.com/apache/hadoop/blob/ba6ada73acc2bce560878272c543534c21c76f22/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogAsync.java#L211-L223
   > > > 
   > > > So, I think the description in this PR is not a problem. What's your 
opinion? @hfutatzhanghb
   > > 
   > > 
   > > @zhangshuyan0 Sir, `this.wait(1000);` is in do-while loop, when we 
invoke `this.wait(1000)` at first time, it will release object monitor. But in 
extreme situation, it will throw Exception when invoke `this.wait(1000)` at the 
second time, because current thread does not hold the object monitor. Waiting 
for your response~
   > 
   > Let's see [java 
doc](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-)
 :
   > 
   > > Thus, on return from the wait method, the synchronization state of the 
object and of thread T is exactly as it was when the wait method was invoked.
   > 
   > Therefore, after `this.wait(1000)` returns at first time, it obtains the 
monitor again. I think no exception will be thrown here. By the way, in this 
[java 
doc](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-)
 , `synchronized -> while loop` is showed as a recommended usage. Looking 
forward to your response.
   
   Sir, Thanks a lot for your explanations here.  I will close this PR laterly. 
Thanks again.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to