[
https://issues.apache.org/jira/browse/IGNITE-21340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17812266#comment-17812266
]
Pavel Tupitsyn commented on IGNITE-21340:
-----------------------------------------
Potential work plan (separate tickets):
* Implement *RW_UPSERT_DELETE_ALL* operation in *PartitionReplicaListener* to
handle a mix of upserts and removals
* Refactor client and embedded streamers to use that new API in the same way
(related: IGNITE-21283)
* Finally, implement removals support in the API
> Allow removing data with DataStreamer
> -------------------------------------
>
> Key: IGNITE-21340
> URL: https://issues.apache.org/jira/browse/IGNITE-21340
> Project: Ignite
> Issue Type: Improvement
> Components: thin client
> Affects Versions: 3.0.0-beta1
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Ignite 2.x allows removing data with DataStreamer, provide the same ability
> in Ignite 3.
> * We can introduce something like *Tuple.tombstone* method to indicate
> removal through the Flow.Publisher API. But this won't work with POJOs
> * Alternatively, wrap every item: instead of *Flow.Publisher<T>* the API will
> accept *Flow.Publisher<StreamerItem<T>>*, which can be used like
> *publisher.submit(StreamerItem.ofDeleted(new PersonPojo(...)))*
--
This message was sent by Atlassian Jira
(v8.20.10#820010)