Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-5233

Read-your-own writes causes incorrect visibility with transactional tables (with Omid).

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.14.1
    • 4.15.0, 5.1.0
    • None
    • None

    Description

      (copied from my last comment on PHOENIX-5090)
      Steps to reproduce (with Omid):

      1. !autocommit off
      2. 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;
      3. upsert into test values(rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000);
      4. upsert into test select rand()*10000000, rand()*10000000, rand()*10000000, rand(), rand(), rand()*1000000 from test;
      5. select count(*) from test; – this will cause uncommitted data to sent to the server.
      6. Goto #4 a few time (until you inserted 131072 rows)
      7. !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.

      Attachments

        1. 5233-final-master.txt
          9 kB
          Lars Hofhansl
        2. 5233-final-v2.txt
          9 kB
          Lars Hofhansl
        3. 5233-final.txt
          9 kB
          Lars Hofhansl
        4. 5233-tests.txt
          8 kB
          Lars Hofhansl
        5. 5233-v6.txt
          10 kB
          Lars Hofhansl
        6. 5233-v5.txt
          14 kB
          Lars Hofhansl
        7. 5233-v4.txt
          11 kB
          Lars Hofhansl

        Issue Links

          Activity

            People

              yonigo Yoni Gottesman
              larsh Lars Hofhansl
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: