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/04/09 09:14:00 UTC

[jira] [Updated] (PHOENIX-5233) Read-your-own writes causes incorrect visibility with transactional tables.

     [ https://issues.apache.org/jira/browse/PHOENIX-5233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl updated PHOENIX-5233:
-----------------------------------
    Description: 
(copied from my last comment on PHOENIX-5090)
Steps to reproduce (with Omid):
 # {{!autocommit off}}
 # {{create table test (pk1 integer not null, pk2 integer not null, pk3 integer not null, v1 float, v2 float, v3 integer CONSTRAINT pk PRIMARY KEY (pk1, pk2, pk3)) DISABLE_WAL=true, TRANSACTIONAL=true;}}
 # {{upsert into test values(rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000);}}
 # {{upsert into test select rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000 from test;}}
 # {{select count\(*) from test; – this will cause uncommitted data to sent to the server.}}
 # Goto #4 a few time (until you inserted 131072 rows)
 # {{!commit}}

In a separate sqlline session just repeat after the commit was issued in the other session.
* {{select count\(*) from test;}}

You'll see that number will change until it finally settles.

  was:
(copied from my last comment on PHOENIX-5090)
Steps to reproduce:
 # {{!autocommit off}}
 # {{create table test (pk1 integer not null, pk2 integer not null, pk3 integer not null, v1 float, v2 float, v3 integer CONSTRAINT pk PRIMARY KEY (pk1, pk2, pk3)) DISABLE_WAL=true, TRANSACTIONAL=true;}}
 # {{upsert into test values(rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000);}}
 # {{upsert into test select rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000 from test;}}
 # {{select count\(*) from test; – this will cause uncommitted data to sent to the server.}}
 # Goto #4 a few time (until you inserted 131072 rows)
 # {{!commit}}

In a separate sqlline session just repeat after the commit was issued in the other session.
* {{select count\(*) from test;}}

You'll see that number will change until it finally settles.


> Read-your-own writes causes incorrect visibility with transactional tables.
> ---------------------------------------------------------------------------
>
>                 Key: PHOENIX-5233
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5233
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.14.1
>            Reporter: Lars Hofhansl
>            Priority: Major
>
> (copied from my last comment on PHOENIX-5090)
> Steps to reproduce (with Omid):
>  # {{!autocommit off}}
>  # {{create table test (pk1 integer not null, pk2 integer not null, pk3 integer not null, v1 float, v2 float, v3 integer CONSTRAINT pk PRIMARY KEY (pk1, pk2, pk3)) DISABLE_WAL=true, TRANSACTIONAL=true;}}
>  # {{upsert into test values(rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000);}}
>  # {{upsert into test select rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000 from test;}}
>  # {{select count\(*) from test; – this will cause uncommitted data to sent to the server.}}
>  # Goto #4 a few time (until you inserted 131072 rows)
>  # {{!commit}}
> In a separate sqlline session just repeat after the commit was issued in the other session.
> * {{select count\(*) from test;}}
> You'll see that number will change until it finally settles.



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