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

Mario Emmenlauer updated THRIFT-5108:
-------------------------------------
    Description: 
When using the memory buffered transport I randomly get {{TTransportException}} 
in {{TBufferTransports.cpp}} method

 
 {{void TMemoryBuffer::ensureCanWrite(uint32_t len) {}}
 {{    ...}}
 {{    // Grow the buffer as necessary.}}
{{    uint64_t new_size = bufferSize_;}}
{{    while (len > avail) {}}
{{        new_size = new_size > 0 ? new_size * 2 : 1;}}
{{        if (new_size > maxBufferSize_) {}}
{{            throwTTransportException(TTransportException::BAD_ARGS,}}
{{                "Internal buffer size overflow when requesting a buffer of 
size " + std::to_string(new_size));}}
{{        }}}
{{        avail = available_write() + (static_cast<uint32_t>(new_size) - 
bufferSize_);}}
        }

  was:
When using the memory buffered transport I randomly get {{TTransportException}} 
in {{TBufferTransports.cpp}} method

 
{{void TMemoryBuffer::ensureCanWrite(uint32_t len) {}}
{{    ...}}
{{    // Grow the buffer as necessary.}}{{    uint64_t new_size = 
bufferSize_;}}{{    while (len > avail) {}}{{        new_size = new_size > 0 ? 
new_size * 2 : 1;}}{{      if (new_size > maxBufferSize_) {}}{{        
throwTTransportException(TTransportException::BAD_ARGS,}}{{        "Internal 
buffer size overflow when requesting a buffer of size " + 
std::to_string(new_size));}}{{      }}}{{      avail = available_write() + 
(static_cast<uint32_t>(new_size) - bufferSize_);}}{{    }}}
 


> Memory allocation error in TBufferTransports
> --------------------------------------------
>
>                 Key: THRIFT-5108
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5108
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>    Affects Versions: 0.13.0
>            Reporter: Mario Emmenlauer
>            Priority: Major
>
> When using the memory buffered transport I randomly get 
> {{TTransportException}} in {{TBufferTransports.cpp}} method
>  
>  {{void TMemoryBuffer::ensureCanWrite(uint32_t len) {}}
>  {{    ...}}
>  {{    // Grow the buffer as necessary.}}
> {{    uint64_t new_size = bufferSize_;}}
> {{    while (len > avail) {}}
> {{        new_size = new_size > 0 ? new_size * 2 : 1;}}
> {{        if (new_size > maxBufferSize_) {}}
> {{            throwTTransportException(TTransportException::BAD_ARGS,}}
> {{                "Internal buffer size overflow when requesting a buffer of 
> size " + std::to_string(new_size));}}
> {{        }}}
> {{        avail = available_write() + (static_cast<uint32_t>(new_size) - 
> bufferSize_);}}
>         }



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to