[
https://issues.apache.org/jira/browse/IGNITE-20665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grigory Domozhirov updated IGNITE-20665:
----------------------------------------
Summary: DataStreamer: keep order for entries with equal keys / update such
entries locally (was: DataStreamer: keep order for entries with equal keys /
replace values before streaming)
> DataStreamer: keep order for entries with equal keys / update such entries
> locally
> ----------------------------------------------------------------------------------
>
> 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
> Priority: Minor
>
> 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)