[jira] [Commented] (OMID-90) Reducing begin/commit latency by distributing the write to the commit table

2018-07-13 Thread Lianghong Xu (JIRA)


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

Lianghong Xu commented on OMID-90:
--

Hi [~ohads] [~ebortnik] I just did an initial evaluation with Omid Low Latency 
version with YCSB. However, the result in terms of throughput and latency seems 
similar to the original Omid. I guess maybe there is something I'm missing? I 
was using the default configs except that I set "lowLatency: true" to be true 
in omid-server-configuration.yml. I think that should be enough to turn on the 
low latency mode, right? 

The YCSB workload we used has a read/write ratio of 80/20 with uniform dist. 
Please let us know if you have any suggestions on tuning.

Thanks,
Lianghong

> 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: New Feature
>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)


[jira] [Commented] (OMID-103) DeleteFamily marker still visible after rollback fails

2018-07-13 Thread James Taylor (JIRA)


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

James Taylor commented on OMID-103:
---

You could pretty easily convert 
TransactionIT.testFailureToRollbackAfterDelete()  to a standalone HBase test to 
create a unit test for OMID-102, [~ohads].

> DeleteFamily marker still visible after rollback fails
> --
>
> Key: OMID-103
> URL: https://issues.apache.org/jira/browse/OMID-103
> Project: Apache Omid
>  Issue Type: Bug
>Reporter: James Taylor
>Assignee: Ohad Shacham
>Priority: Major
>
> If a DeleteFamily marker is written to HBase and the subsequent abort of the 
> transaction fails, the delete marker is still visible and mistakenly 
> continues to take effect. For a repro, see 
> TransactionIT.testFailureToRollbackAfterDelete() which passes for Tephra but 
> fails for Omid.



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