[ 
https://issues.apache.org/jira/browse/OMID-90?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16644495#comment-16644495
 ] 

ASF GitHub Bot commented on OMID-90:
------------------------------------

GitHub user yonigottesman opened a pull request:

    https://github.com/apache/incubator-omid/pull/46

    [OMID-90] Integrate omid low latency to phoenix changes

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/yonigottesman/incubator-omid 
phoenix_ll_integration

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-omid/pull/46.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #46
    
----
commit 7647733a50431f2b8f5d4495310db59932c46e06
Author: Yonatan Gottesman <yonigo10@...>
Date:   2018-10-10T05:49:28Z

    Integrate omid low latency to phoenix changes

----


> Reducing begin/commit latency by distributing the write to the commit table
> ---------------------------------------------------------------------------
>
>                 Key: OMID-90
>                 URL: https://issues.apache.org/jira/browse/OMID-90
>             Project: Apache Omid
>          Issue Type: Sub-task
>            Reporter: Ohad Shacham
>            Assignee: Yonatan Gottesman
>            Priority: Major
>         Attachments: OmidCloud-VLDB.pdf
>
>
> Today, Omid's commits are done by the transaction manager. In order to 
> efficiently write to the commit table, the transaction manager batches these 
> writes. This optimization, even thought reduces the write time to HBase, 
> significantly increases the begin and commit latency. The commit latency 
> increases since a commit operation returns only after its commit timestamp 
> was persisted in the commit table. And the begin latency increases since 
> begin returns a transaction id that is also used by the transaction to 
> identify its snapshot and therefore, begin returns only after all commits 
> with commit id smaller than the begin id was persisted in the commit table. 
> This is crucial, since a snapshot change during a transaction run may violate 
> snapshot isolation. 
>  
> The idea of this feature is to distribute the commit by moving the write to 
> the commit table from the server to the client. The transaction manager does 
> conflict analysis and returns a commit timestamp. While the client atomically 
> persists this commit in the commit table.
> This significantly reduces the begin and commit latency, since batching is 
> not required anymore. A begin operation can immediately returns and a commit 
> operation returns after conflict detection. 
> This can introduce snapshot isolation violation since a slow client can 
> commit and change other transaction's snapsho. Therefore, we use an 
> invalidation technique which is similar to the one Omid uses today to 
> maintain snapshot isolation in high availability mode.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to