virajjasani commented on PR #2008:
URL: https://github.com/apache/phoenix/pull/2008#issuecomment-2480446049

   > @virajjasani The changes look functionally correct but I didn't like how 
we are creating a specialized path in the code just for this use case. I would 
like it better if we can implement it in a much cleaner way without creating so 
many if/else's. Maybe @kadirozde has some ideas.
   
   I agree that having separate path is making it difficult to comprehend but 
when i looked at how things are implemented for server side delete workflow, i 
didn't feel we could do much because this path of server side delete is all 
about scanner performing delete at server side and then returning count of rows 
deleted. This itself looks a bit hacky to me in the first place because client 
expects the result with single cell containing count value with non-aggregate 
CF:CQ as `s:s`.
   
   Now, our goals are:
   - We cannot change the above hacky behavior because we need to maintain old 
client compatibility.
   - At the same time, the behavior does not allow server to return full row as 
result for the atomically deleted row.
   
   Therefore, we need special code path that changes both client and server for 
the specific "single row atomic delete" case. I don't think there is any other 
way we can achieve both of above goals.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to