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

MaoYuan Xian updated HAMA-764:
------------------------------

    Description: 
In the SpillingDataOutputBuffer.SpillingStream, we can find the following 
implementations to starting the spilling thread.
{code}
   private void checkSpillStart() throws IOException {
      if (bytesWritten_ >= thresholdSize_) {
        try {
          startSpilling();
        } catch (InterruptedException e) {
          throw new IOException("Internal error occured writing to buffer.", e);
        }
      }
    }
{code}

But I encountered the message loss, when total bytes written number is less 
than thresholdSize. Because the spilling thread is not invoked, and 
handleSpilledBuffer method of SpilledDataProcessor can not get the chance to 
run.

  was:
In the SpillingDataOutputBuffer.SpillingStream, we can find the following 
implementations to starting the spilling thread.
{code}
   private void checkSpillStart() throws IOException {
      if (bytesWritten_ >= thresholdSize_) {
        try {
          startSpilling();
        } catch (InterruptedException e) {
          throw new IOException("Internal error occured writing to buffer.", e);
        }
      }
    }
{code}

But I encountered the message loss, when total bytes written number is less 
than thresholdSize. Because the spilling thread in not invoked, and 
handleSpilledBuffer method of SpilledDataProcessor can not get the chance to 
run.

    
> In SpillingQueue, spilling thread dos not start when messages number less 
> than threshold
> ----------------------------------------------------------------------------------------
>
>                 Key: HAMA-764
>                 URL: https://issues.apache.org/jira/browse/HAMA-764
>             Project: Hama
>          Issue Type: Bug
>          Components: bsp core
>    Affects Versions: 0.7.0
>            Reporter: MaoYuan Xian
>
> In the SpillingDataOutputBuffer.SpillingStream, we can find the following 
> implementations to starting the spilling thread.
> {code}
>    private void checkSpillStart() throws IOException {
>       if (bytesWritten_ >= thresholdSize_) {
>         try {
>           startSpilling();
>         } catch (InterruptedException e) {
>           throw new IOException("Internal error occured writing to buffer.", 
> e);
>         }
>       }
>     }
> {code}
> But I encountered the message loss, when total bytes written number is less 
> than thresholdSize. Because the spilling thread is not invoked, and 
> handleSpilledBuffer method of SpilledDataProcessor can not get the chance to 
> run.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to