Xavier Léauté created KAFKA-4863:
------------------------------------
Summary: Querying window store may return unwanted keys
Key: KAFKA-4863
URL: https://issues.apache.org/jira/browse/KAFKA-4863
Project: Kafka
Issue Type: Bug
Components: streams
Reporter: Xavier Léauté
Priority: Critical
Using variable length keys in a window store may cause unwanted results to be
returned when querying certain ranges.
Below is a test case for {{RocksDBWindowStoreTest}} that shows the problem. It
fails, returning {{\["0001", "0003", "0002"\]}} instead of {{\["0001",
"0003"\]}}.
{code:java}
@Test
public void testPutAndFetchSanity() throws IOException {
final RocksDBWindowStoreSupplier<String, String> supplier =
new RocksDBWindowStoreSupplier<>(
"window", 60 * 1000L * 2, 3,
true, Serdes.String(), Serdes.String(),
windowSize, true, Collections.<String,
String>emptyMap(), false
);
final WindowStore<String, String> store = supplier.get();
store.init(context, store);
try {
store.put("a", "0001", 0);
store.put("aa", "0002", 0);
store.put("a", "0003", 1);
assertEquals(Utils.mkList("0001", "0003"), toList(store.fetch("a",
0, Long.MAX_VALUE)));
} finally {
store.close();
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)