[ https://issues.apache.org/jira/browse/PHOENIX-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas D'Silva updated PHOENIX-3056: ------------------------------------ Attachment: PHOENIX-3056.patch [~jamestaylor] Can you please review? I modified the test to use IndexTool to create the async index and test that the delete markers are issued correctly. > Rows cannot be deleted from immutable table when in building state > ------------------------------------------------------------------ > > Key: PHOENIX-3056 > URL: https://issues.apache.org/jira/browse/PHOENIX-3056 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.7.0 > Reporter: Brian Esserlieu > Assignee: Thomas D'Silva > Priority: Minor > Fix For: 4.8.0 > > Attachments: PHOENIX-3056.patch, PHOENIX-3056_wip.patch > > > Repro: > DROP TABLE IF EXISTS TEST_TABLE; > CREATE TABLE IF NOT EXISTS TEST_TABLE ( > pk1 VARCHAR NOT NULL, > pk2 VARCHAR NOT NULL, > pk3 VARCHAR > CONSTRAINT PK PRIMARY KEY > ( > pk1, > pk2, > pk3 > ) > ) MULTI_TENANT=true,IMMUTABLE_ROWS=true; > CREATE INDEX TEST_INDEX ON TEST_TABLE (pk3, pk2) ASYNC; > upsert into TEST_TABLE (pk1, pk2, pk3) values ('a', '1', 'value1'); > upsert into TEST_TABLE (pk1, pk2, pk3) values ('a', '2', 'value2'); > select * from test_table; > delete from TEST_TABLE where pk1 = 'a'; > When I run the above I get the following error on the delete statement: > "Error: ERROR 1027 (42Y86): All columns referenced in a WHERE clause must be > available in every index for a table with immutable rows. tableName=TEST_TABLE > SQLState: 42Y86 > ErrorCode: 1027 > Error occurred in: > delete from TEST_TABLE where pk1 = 'a'" > Notice the SQL works simply by removing the ASYNC keyword from the index > creation statement. > The error message should reflect that the index is being created so deletes > are blocked until that completes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)