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

Jameel Al-Aziz commented on FLUME-2215:
---------------------------------------

Just wanted to mention that I've tried the most current patch (backporting it 
to 1.5.2), and while it solves the UCS-4 problem, it also introduces a 
BufferUnderflowException occasionally. I'll work on trying to find a 
reproducible test case and fix the patch.

java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:500)
        at java.nio.HeapCharBuffer.get(HeapCharBuffer.java:135)
        at 
org.apache.flume.serialization.ResettableFileInputStream.readChar(ResettableFileInputStream.java:225)

> ResettableFileInputStream can't support  ucs-4 character
> --------------------------------------------------------
>
>                 Key: FLUME-2215
>                 URL: https://issues.apache.org/jira/browse/FLUME-2215
>             Project: Flume
>          Issue Type: Bug
>    Affects Versions: v1.5.0
>            Reporter: syntony liu
>            Assignee: Santiago M. Mola
>            Priority: Critical
>              Labels: patch
>         Attachments: 
> 0001-FLUME-2215-Fixes-reading-surrogate-based-chars.patch, 
> FLUME-2215-0-README.txt, FLUME-2215-0.patch, FLUME-2215-1-README.txt, 
> FLUME-2215-1.patch
>
>
> ResettableFileInputStream.java:readChar() not handle ucs-4 character. it need 
> 2 charBuf. it cause an unexpected termination。
>  a temporary solution:
>      if (res.isOverflow() && !charBuf.hasRemaining()){ 
>          logger.warn("decoder ucs-4 at postion: {}" , buf.position()); 
>         tmpBuf.clear();  
>         res = decoder.decode(buf, tmpBuf, isEndOfInput); 
>         incrPosition( buf.position() - start, false); 
>        return '?'; 
>      } 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to