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

Wrong result when issuing query for an immutable table with multiple column families

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 5.1.0, 4.16.0
    • None
    • None

    Description

      Steps to reproduce are as follows:

      1. Create an immutable table with multiple column families:

      0: jdbc:phoenix:> CREATE TABLE TEST (
      . . . . . . . . >   ID VARCHAR PRIMARY KEY,
      . . . . . . . . >   A.COL1 VARCHAR,
      . . . . . . . . >   B.COL2 VARCHAR
      . . . . . . . . > ) IMMUTABLE_ROWS = TRUE;
      No rows affected (1.182 seconds)
      

      2. Upsert some rows:

      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id0', '0', 'a');
      1 row affected (0.138 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id1', '1', NULL);
      1 row affected (0.009 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id2', '2', 'b');
      1 row affected (0.011 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id3', '3', NULL);
      1 row affected (0.007 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id4', '4', 'c');
      1 row affected (0.006 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id5', '5', NULL);
      1 row affected (0.007 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id6', '6', 'd');
      1 row affected (0.007 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id7', '7', NULL);
      1 row affected (0.007 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id8', '8', 'e');
      1 row affected (0.007 seconds)
      0: jdbc:phoenix:> UPSERT INTO TEST VALUES ('id9', '9', NULL);
      1 row affected (0.009 seconds)
      

      3. Count query is okay:

      0: jdbc:phoenix:> SELECT COUNT(COL1) FROM TEST WHERE COL2 IS NOT NULL;
      +----------------+
      | COUNT(A.COL1)  |
      +----------------+
      | 5              |
      +----------------+
      1 row selected (0.1 seconds)
      

      4. However, the following select query returns wrong result (it should return 5 records):

      0: jdbc:phoenix:> SELECT COL1 FROM TEST WHERE COL2 IS NOT NULL;
      +-------+
      | COL1  |
      +-------+
      | 0     |
      | 1     |
      | 2     |
      | 3     |
      | 4     |
      | 5     |
      | 6     |
      | 7     |
      | 8     |
      | 9     |
      +-------+
      10 rows selected (0.058 seconds)
      

      Attachments

        1. PHOENIX-6023.addendum.master.v2.patch
          1 kB
          Istvan Toth
        2. PHOENIX-6023.master.v3.patch
          1 kB
          Istvan Toth
        3. PHOENIX-6023-addendum.master.v1.patch
          1 kB
          Toshihiro Suzuki

        Issue Links

          Activity

            People

              brfrn169 Toshihiro Suzuki
              brfrn169 Toshihiro Suzuki
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m