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

Vlad Rozov commented on APEXCORE-640:
-------------------------------------

The code in the BufferServer that handles the case when all data published so 
far is purged needs to be re-written. The purpose of SerializedData object is 
not clear. The exception thrown by the Slice initialization is on purpose, as 
SerialziedData object is invalid.

> BufferServer - purge crashes when the window purged is the last available
> -------------------------------------------------------------------------
>
>                 Key: APEXCORE-640
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-640
>             Project: Apache Apex Core
>          Issue Type: Bug
>            Reporter: Sandesh
>            Assignee: Sandesh
>            Priority: Minor
>
> While working on the unit test of BufferServer saw this behavior, 
> purge on the last window in the buffer server crashes it.
> {noformat}
> java.lang.IllegalArgumentException: Invalid slice: offset=2118, length=0 
> array.length=4096
>       at com.datatorrent.netlet.util.Slice.<init>(Slice.java:43)
>       at 
> com.datatorrent.bufferserver.util.SerializedData.<init>(SerializedData.java:40)
>       at 
> com.datatorrent.bufferserver.internal.DataList$Block.purge(DataList.java:712)
>       at 
> com.datatorrent.bufferserver.internal.DataList.purge(DataList.java:192)
>       at 
> com.datatorrent.bufferserver.server.Server.handlePurgeRequest(Server.java:199)
>       at 
> com.datatorrent.bufferserver.server.Server.access$1100(Server.java:65)
>       at 
> com.datatorrent.bufferserver.server.Server$UnidentifiedClient.onMessage(Server.java:526)
>       at 
> com.datatorrent.netlet.AbstractLengthPrependerClient.read(AbstractLengthPrependerClient.java:149)
>       at com.datatorrent.netlet.AbstractClient.read(AbstractClient.java:104)
>       at 
> com.datatorrent.netlet.DefaultEventLoop.handleSelectedKey(DefaultEventLoop.java:364)
>       at 
> com.datatorrent.netlet.OptimizedEventLoop$SelectedSelectionKeySet.forEach(OptimizedEventLoop.java:59)
>       at 
> com.datatorrent.netlet.OptimizedEventLoop.runEventLoop(OptimizedEventLoop.java:192)
>       at 
> com.datatorrent.netlet.OptimizedEventLoop.runEventLoop(OptimizedEventLoop.java:157)
>       at 
> com.datatorrent.netlet.DefaultEventLoop.run(DefaultEventLoop.java:156)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to