You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2019/01/04 18:09:00 UTC

[jira] [Created] (PHOENIX-5090) Discuss: Allow transactional writes without buffering the entire transaction on the client.

Lars Hofhansl created PHOENIX-5090:
--------------------------------------

             Summary: 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


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 need 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 situation 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)