[
https://issues.apache.org/jira/browse/PHOENIX-5090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16741451#comment-16741451
]
Lars Hofhansl commented on PHOENIX-5090:
----------------------------------------
> Is it needed?
Nope. :) As long as we do not have a situation where one table does ROW
conflicts and another does CELL conflicts, and then we cannot transact over
them.
I think the trade-off we have are the right trade-offs. The one exception might
be the slow read performance for in-flight transactions.
Is it fair to say that Omid is designed for very many, small transactions, and
not for extremely large transactions?
> As far as we saw HBase row delete operation deletes all the row's column with
> version which is lower or equal to the transaction version and we cannot use
> this.
I'd like to find out more about that. What would need to change in HBase so you
can use those?
I also had a question about when *other* clients would lazily add the shadow
columns. Is that done on the server in the context of scan operations? (Asking
because we had a lot of issues with Phoenix doing write from read RPC, i.e.
adding delete markers during a scan, or server side UPSERT SELECT)
Perhaps good to take offline and have a quick chat?
> Discuss: Allow transactional writes without buffering the entire transaction
> on the client.
> -------------------------------------------------------------------------------------------
>
> Key: PHOENIX-5090
> URL: https://issues.apache.org/jira/browse/PHOENIX-5090
> Project: Phoenix
> Issue Type: Wish
> Reporter: Lars Hofhansl
> Priority: Major
>
> Currently it is not possible execute transactions in Phoenix that are too
> large to be buffered entirely on the client.
> Both Tephra and Omid support writing uncommitted data to HBase immediately
> and at full speed. The client still needs to keep tracks of the rows changes
> for:
> # Conflict detection
> # (for Omid) writing the shadow cells
> I'd like to do some brainstorming here.
> * It should *always* be enough to only hold on to the changed rows (and
> columns?) only for _conflict resolution_ and free the rest from the client as
> soon as the uncommitted data is written to HBase.
> * For the shadows cells we need only keep the rows changed, right?
> * There are situations where we can avoid the client site buffering entirely
> (perhaps only for Tephra) when we declare a table or upsert not to
> participate in conflict resolution.
> [~tdsilva], [~ohads], [~yonigo], [~jamestaylor], [~vincentpoon], more, better
> ideas?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)