Grigory Domozhirov created IGNITE-20665:
-------------------------------------------
Summary: DataStreamer: keep order for entries with equal keys /
replace values before streaming
Key: IGNITE-20665
URL: https://issues.apache.org/jira/browse/IGNITE-20665
Project: Ignite
Issue Type: Improvement
Components: streaming
Affects Versions: 2.15
Reporter: Grigory Domozhirov
Code below returns "old value":
{code:java}
try (
Ignite ignite = Ignition.start();
IgniteCache<Integer, String> cache = ignite.createCache("test");
IgniteDataStreamer<Integer, String> dataStreamer =
ignite.dataStreamer(cache.getName())) {
dataStreamer.allowOverwrite(true);
for (int i = 0; i < 1000; i++) {
dataStreamer.addData(0, "old value");
}
dataStreamer.addData(0, "new value");
dataStreamer.flush();
System.out.println(cache.get(0));
}
{code}
Despite streaming order is not guaranteed by DataStreamer such behaviour might
be surprising and effectively voids allowOverwrite option.
Also, it ends up with a lot of outdated entries streamed, decreasing overall
loading process.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)