You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2019/01/09 16:19:00 UTC
[jira] [Created] (RATIS-471) `LogReader#readNext()` should return
null or throw an error when reading off the end of the Log
Josh Elser created RATIS-471:
--------------------------------
Summary: `LogReader#readNext()` should return null or throw an error when reading off the end of the Log
Key: RATIS-471
URL: https://issues.apache.org/jira/browse/RATIS-471
Project: Ratis
Issue Type: Bug
Components: LogService
Reporter: Josh Elser
{code:java}
@Test
public void testReadOffEndOfLog() throws Exception {
try (LogServiceClient client = new LogServiceClient(cluster.getMetaIdentity())) {
LogStream stream = client.createLog(LogName.of("testReadWrite"));
LogWriter writer = stream.createWriter();
String message = "Hello world!";
ByteBuffer testMessage = ByteBuffer.wrap(message.getBytes());
writer.write(testMessage);
LogReader reader = stream.createReader();
ByteBuffer res = reader.readNext();
assertEquals(message, ByteBufferUtils.toStringUtf8(res));
// readNext() should return `null` when there is no remaining record
res = reader.readNext();
assertNull(res);
}
}
{code}
The above test test should either pass (or throw an exception on the second {{readNext()}} call), but hangs indefinitely. We should be able to catch this.
FYI [~vrodionov], [~rajeshbabu]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)