[
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)