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