Feifan Wang created FLINK-26799: ----------------------------------- Summary: StateChangeFormat#read not seek to offset correctly Key: FLINK-26799 URL: https://issues.apache.org/jira/browse/FLINK-26799 Project: Flink Issue Type: Bug Components: Runtime / State Backends Reporter: Feifan Wang
StateChangeFormat#read must seek to offset before read, current implement as follows : {code:java} FSDataInputStream stream = handle.openInputStream(); DataInputViewStreamWrapper input = wrap(stream); if (stream.getPos() != offset) { LOG.debug("seek from {} to {}", stream.getPos(), offset); input.skipBytesToRead((int) offset); }{code} But the if condition is incorrect, stream.getPos() return the position of underlying stream which is different from position of input. By the way, because of wrapped by BufferedInputStream, position of underlying stream always at n*bufferSize or the end of file. Actually, input is aways at position 0 at beginning, so I think we can seek to the offset directly. -- This message was sent by Atlassian Jira (v8.20.1#820001)