[
https://issues.apache.org/jira/browse/OMID-146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16828978#comment-16828978
]
Lars Hofhansl edited comment on OMID-146 at 4/29/19 7:17 AM:
-------------------------------------------------------------
Works fine!
Minor nit: Looks like a bunch of time (30%) is spent in mapCellsToShadowCells:
!screenshot-1.png!
I see in the code it does this:
{code:java}
if (cellIdToCellMap.containsKey(key)) {
// Get the current cell and compare the values
Cell storedCell = cellIdToCellMap.get(key);
if (CellUtil.matchingValue(cell, storedCell)) {
{code}
Since the returned storedCell cannot be null (or you get an NPE in
matchingValue), we could just get the value and test for null first. That would
save 5% CPU time. Like so:
{code:java}
// Get the current cell and compare the values
Cell storedCell = cellIdToCellMap.get(key);
if (storedCell != null) {
if (CellUtil.matchingValue(cell, storedCell)) {
{code}
was (Author: lhofhansl):
Works fine!
Minor nit: Looks like a bunch of time is spent in mapCellsToShadowCells:
!screenshot-1.png!
I see in the code it does this:
{code:java}
if (cellIdToCellMap.containsKey(key)) {
// Get the current cell and compare the values
Cell storedCell = cellIdToCellMap.get(key);
if (CellUtil.matchingValue(cell, storedCell)) {
{code}
Since the returned storedCell cannot be null (or you get an NPE in
matchingValue), we could just get the value and test for null first. That would
save 5% CPU time. Like so:
{code:java}
// Get the current cell and compare the values
Cell storedCell = cellIdToCellMap.get(key);
if (storedCell != null) {
if (CellUtil.matchingValue(cell, storedCell)) {
{code}
> Persist transaction commit before updating low watermark
> --------------------------------------------------------
>
> Key: OMID-146
> URL: https://issues.apache.org/jira/browse/OMID-146
> Project: Apache Omid
> Issue Type: Bug
> Reporter: Ohad Shacham
> Assignee: Yonatan Gottesman
> Priority: Minor
> Fix For: 1.0.1
>
> Attachments: screenshot-1.png
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> When a transaction t updates the conflict table at the TSO, it mights remove
> entries of transactions that committed after t started, or even entries of t.
> Therefore, in order to make sure that the garbage collector does not removes
> entries of t from the data tables, thinking accidentally that t was not
> committed yet. We should first persist t's commit in the commit table and
> only then update the low watermark. This also applies to the low latency
> which persists the commit by the clients.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)