You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "sodonnel (via GitHub)" <gi...@apache.org> on 2023/02/13 11:48:46 UTC

[GitHub] [ozone] sodonnel commented on a diff in pull request #4269: HDDS-7931. EC: ManagedChannelImpl not cleaned up properly

sodonnel commented on code in PR #4269:
URL: https://github.com/apache/ozone/pull/4269#discussion_r1104363279


##########
hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/ECKeyOutputStream.java:
##########
@@ -548,7 +553,7 @@ private void addStripeToQueue(ECChunkBuffers stripe) throws IOException {
   private boolean flushStripeFromQueue() throws IOException {
     try {
       ECChunkBuffers stripe = ecStripeQueue.take();
-      while (!(stripe instanceof EOFDummyStripe)) {
+      while (!closing && !(stripe instanceof EOFDummyStripe)) {

Review Comment:
   It guess it can only be closing=true at this point if there was a previous write exception that got thrown back to the caller. At that point, the caller needs to call close(). If they try to write again, they should see errors as the stream is "closing".
   
   However I do wonder if we should check for and flush queued stripes in the close() method when closing = true.



-- 
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: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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