[ 
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)

Reply via email to