[ https://issues.apache.org/jira/browse/PHOENIX-5542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandeep Pal updated PHOENIX-5542: --------------------------------- Description: Stacktrace: {code:java} 0: jdbc:phoenix:stg2hdaas-mnds1-1-prd.eng.sfd> UPSERT INTO TEST.ODR_MUTABLE_MT_10_22_2_VIEW(ORGANIZATION_ID,CREATED_DATE,CREATED_BY,ONE,TWO,THREE) VALUES ('00D0000000SANP1',TO_DATE('1975-1-2 12:00:00'),'000000000000004','15','24', '34'); [main] INFO org.apache.phoenix.execute.MutationState - Abort successful java.lang.ArrayIndexOutOfBoundsException: 127 at org.apache.phoenix.index.IndexMaintainer.initCachedState(IndexMaintainer.java:1614) at org.apache.phoenix.index.IndexMaintainer.<init>(IndexMaintainer.java:569) at org.apache.phoenix.index.IndexMaintainer.create(IndexMaintainer.java:143) at org.apache.phoenix.schema.PTableImpl.getIndexMaintainer(PTableImpl.java:1165) at org.apache.phoenix.util.IndexUtil.generateIndexData(IndexUtil.java:325) at org.apache.phoenix.execute.MutationState$1.next(MutationState.java:563) at org.apache.phoenix.execute.MutationState$1.next(MutationState.java:521) at org.apache.phoenix.execute.MutationState.send(MutationState.java:928) at org.apache.phoenix.execute.MutationState.send(MutationState.java:1539) at org.apache.phoenix.execute.MutationState.commit(MutationState.java:1362) at org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:675) at org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:671) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:671) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:413) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:393) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:392) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:380) at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1829) at sqlline.Commands.execute(Commands.java:822) at sqlline.Commands.sql(Commands.java:732) at sqlline.SqlLine.dispatch(SqlLine.java:813) at sqlline.SqlLine.begin(SqlLine.java:686) at sqlline.SqlLine.start(SqlLine.java:398) at sqlline.SqlLine.main(SqlLine.java:291) {code} Steps to reproduce: {code:java} CREATE TABLE IF NOT EXISTS TEST.BASE_TABLE ( ORGANIZATION_ID CHAR(15) NOT NULL, KEY_PREFIX CHAR(3) NOT NULL, CREATED_DATE DATE, CREATED_BY CHAR(15), CONSTRAINT PK PRIMARY KEY ( ORGANIZATION_ID, KEY_PREFIX ) ) VERSIONS=1, MULTI_TENANT=true, IMMUTABLE_ROWS=true, REPLICATION_SCOPE=1; CREATE VIEW IF NOT EXISTS TEST.VIEW_ON_BASE ( ONE VARCHAR, TWO VARCHAR, THREE VARCHAR CONSTRAINT PKVIEW PRIMARY KEY ( ONE, TWO ) ) AS SELECT * FROM TEST.BASE_TABLE WHERE KEY_PREFIX = '0CY'; CREATE INDEX IF NOT EXISTS VIEW_INDEX_ON_VIEW ON TEST.VIEW_ON_BASE (THREE) INCLUDE (ONE, TWO); CREATE INDEX IF NOT EXISTS INDEX_ON_BASE_TABLE ON TEST.BASE_TABLE (CREATED_DATE) INCLUDE (CREATED_BY) ASYNC REPLICATION_SCOPE=1; ###UPSERT UPSERT INTO TEST.VIEW_ON_BASE(ORGANIZATION_ID,CREATED_DATE,CREATED_BY,ONE,TWO,THREE) VALUES ('00D0000000SANP1',TO_DATE('1975-1-2 12:00:00'),'000000000000004','15','24', '34'); {code} was: Stacktrace: {code:java} 0: jdbc:phoenix:stg2hdaas-mnds1-1-prd.eng.sfd> UPSERT INTO TEST.ODR_MUTABLE_MT_10_22_2_VIEW(ORGANIZATION_ID,CREATED_DATE,CREATED_BY,ONE,TWO,THREE) VALUES ('00D0000000SANP1',TO_DATE('1975-1-2 12:00:00'),'000000000000004','15','24', '34'); [main] INFO org.apache.phoenix.execute.MutationState - Abort successful java.lang.ArrayIndexOutOfBoundsException: 127 at org.apache.phoenix.index.IndexMaintainer.initCachedState(IndexMaintainer.java:1614) at org.apache.phoenix.index.IndexMaintainer.<init>(IndexMaintainer.java:569) at org.apache.phoenix.index.IndexMaintainer.create(IndexMaintainer.java:143) at org.apache.phoenix.schema.PTableImpl.getIndexMaintainer(PTableImpl.java:1165) at org.apache.phoenix.util.IndexUtil.generateIndexData(IndexUtil.java:325) at org.apache.phoenix.execute.MutationState$1.next(MutationState.java:563) at org.apache.phoenix.execute.MutationState$1.next(MutationState.java:521) at org.apache.phoenix.execute.MutationState.send(MutationState.java:928) at org.apache.phoenix.execute.MutationState.send(MutationState.java:1539) at org.apache.phoenix.execute.MutationState.commit(MutationState.java:1362) at org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:675) at org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:671) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:671) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:413) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:393) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:392) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:380) at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1829) at sqlline.Commands.execute(Commands.java:822) at sqlline.Commands.sql(Commands.java:732) at sqlline.SqlLine.dispatch(SqlLine.java:813) at sqlline.SqlLine.begin(SqlLine.java:686) at sqlline.SqlLine.start(SqlLine.java:398) at sqlline.SqlLine.main(SqlLine.java:291) {code} Steps to reproduce: CREATE TABLE IF NOT EXISTS TEST.BASE_TABLE ( ORGANIZATION_ID CHAR(15) NOT NULL, KEY_PREFIX CHAR(3) NOT NULL, CREATED_DATE DATE, CREATED_BY CHAR(15), CONSTRAINT PK PRIMARY KEY ( ORGANIZATION_ID, KEY_PREFIX ) ) VERSIONS=1, MULTI_TENANT=true, IMMUTABLE_ROWS=true, REPLICATION_SCOPE=1; CREATE VIEW IF NOT EXISTS TEST.VIEW_ON_BASE ( ONE VARCHAR, TWO VARCHAR, THREE VARCHAR CONSTRAINT PKVIEW PRIMARY KEY ( ONE, TWO ) ) AS SELECT * FROM TEST.BASE_TABLE WHERE KEY_PREFIX = '0CY'; CREATE INDEX IF NOT EXISTS VIEW_INDEX_ON_VIEW ON TEST.VIEW_ON_BASE (THREE) INCLUDE (ONE, TWO); CREATE INDEX IF NOT EXISTS INDEX_ON_BASE_TABLE ON TEST.BASE_TABLE (CREATED_DATE) INCLUDE (CREATED_BY) ASYNC REPLICATION_SCOPE=1; ### UPSERT UPSERT INTO TEST.VIEW_ON_BASE(ORGANIZATION_ID,CREATED_DATE,CREATED_BY,ONE,TWO,THREE) VALUES ('00D0000000SANP1',TO_DATE('1975-1-2 12:00:00'),'000000000000004','15','24', '34'); > UPSERT in VIEW fails using global connection if we have a view index on it > and a global index on base table > ----------------------------------------------------------------------------------------------------------- > > Key: PHOENIX-5542 > URL: https://issues.apache.org/jira/browse/PHOENIX-5542 > Project: Phoenix > Issue Type: Bug > Environment: {code:java} > // code placeholder > {code} > Reporter: Sandeep Pal > Priority: Major > > Stacktrace: > > > {code:java} > 0: jdbc:phoenix:stg2hdaas-mnds1-1-prd.eng.sfd> UPSERT INTO > TEST.ODR_MUTABLE_MT_10_22_2_VIEW(ORGANIZATION_ID,CREATED_DATE,CREATED_BY,ONE,TWO,THREE) > VALUES ('00D0000000SANP1',TO_DATE('1975-1-2 > 12:00:00'),'000000000000004','15','24', '34'); > [main] INFO org.apache.phoenix.execute.MutationState - Abort successful > java.lang.ArrayIndexOutOfBoundsException: 127 > at > org.apache.phoenix.index.IndexMaintainer.initCachedState(IndexMaintainer.java:1614) > at org.apache.phoenix.index.IndexMaintainer.<init>(IndexMaintainer.java:569) > at org.apache.phoenix.index.IndexMaintainer.create(IndexMaintainer.java:143) > at > org.apache.phoenix.schema.PTableImpl.getIndexMaintainer(PTableImpl.java:1165) > at org.apache.phoenix.util.IndexUtil.generateIndexData(IndexUtil.java:325) > at org.apache.phoenix.execute.MutationState$1.next(MutationState.java:563) > at org.apache.phoenix.execute.MutationState$1.next(MutationState.java:521) > at org.apache.phoenix.execute.MutationState.send(MutationState.java:928) > at org.apache.phoenix.execute.MutationState.send(MutationState.java:1539) > at org.apache.phoenix.execute.MutationState.commit(MutationState.java:1362) > at > org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:675) > at > org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:671) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:671) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:413) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:393) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:392) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:380) > at > org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1829) > at sqlline.Commands.execute(Commands.java:822) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:813) > at sqlline.SqlLine.begin(SqlLine.java:686) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:291) > {code} > > Steps to reproduce: > > {code:java} > CREATE TABLE IF NOT EXISTS TEST.BASE_TABLE ( > ORGANIZATION_ID CHAR(15) NOT NULL, > KEY_PREFIX CHAR(3) NOT NULL, > CREATED_DATE DATE, > CREATED_BY CHAR(15), > CONSTRAINT PK PRIMARY KEY ( > ORGANIZATION_ID, > KEY_PREFIX > ) > ) VERSIONS=1, MULTI_TENANT=true, IMMUTABLE_ROWS=true, REPLICATION_SCOPE=1; > CREATE VIEW IF NOT EXISTS TEST.VIEW_ON_BASE ( > ONE VARCHAR, > TWO VARCHAR, > THREE VARCHAR > CONSTRAINT PKVIEW PRIMARY KEY > ( > ONE, TWO > ) > ) > AS SELECT * FROM TEST.BASE_TABLE WHERE KEY_PREFIX = '0CY'; > CREATE INDEX IF NOT EXISTS VIEW_INDEX_ON_VIEW > ON TEST.VIEW_ON_BASE (THREE) > INCLUDE (ONE, TWO); > CREATE INDEX IF NOT EXISTS INDEX_ON_BASE_TABLE > ON TEST.BASE_TABLE (CREATED_DATE) > INCLUDE (CREATED_BY) ASYNC REPLICATION_SCOPE=1; > ###UPSERT > UPSERT INTO > TEST.VIEW_ON_BASE(ORGANIZATION_ID,CREATED_DATE,CREATED_BY,ONE,TWO,THREE) > VALUES ('00D0000000SANP1',TO_DATE('1975-1-2 > 12:00:00'),'000000000000004','15','24', '34'); > > {code} > > -- This message was sent by Atlassian Jira (v8.3.4#803005)