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

Creating index on a global view on a multi-tenant table fails with NPE

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.8.0
    • Labels:

      Description

      @Test
          public void testCreatingIndexOnGlobalView() throws Exception {
              String baseTable = "testRowTimestampColWithViews".toUpperCase();
              String globalView = "globalView".toUpperCase();
              String globalViewIdx = "globalView_idx".toUpperCase();
              long ts = nextTimestamp();
              try (Connection conn = getConnection(ts)) {
                  conn.createStatement().execute("CREATE TABLE " + baseTable + " (TENANT_ID CHAR(15) NOT NULL, PK2 DATE NOT NULL, PK3 INTEGER NOT NULL, KV1 VARCHAR, KV2 VARCHAR, KV3 CHAR(15) CONSTRAINT PK PRIMARY KEY(TENANT_ID, PK2 ROW_TIMESTAMP, PK3)) MULTI_TENANT=true");
              }
              ts = nextTimestamp();
              try (Connection conn = getConnection(ts)) {
                  conn.createStatement().execute("CREATE VIEW " + globalView + " AS SELECT * FROM " + baseTable + " WHERE KV1 = 'KV1'");
              }
              ts = nextTimestamp();
              try (Connection conn = getConnection(ts)) {
                  conn.createStatement().execute("CREATE INDEX " + globalViewIdx + " ON " + globalView + " (PK3 DESC, KV3) INCLUDE (KV1)");
              }
          }
      
      java.lang.NullPointerException
      	at org.apache.phoenix.util.StringUtil.escapeBackslash(StringUtil.java:392)
      	at org.apache.phoenix.compile.PostIndexDDLCompiler.compile(PostIndexDDLCompiler.java:78)
      	at org.apache.phoenix.schema.MetaDataClient.buildIndex(MetaDataClient.java:1027)
      	at org.apache.phoenix.schema.MetaDataClient.buildIndexAtTimeStamp(MetaDataClient.java:903)
      	at org.apache.phoenix.schema.MetaDataClient.createIndex(MetaDataClient.java:1321)
      	at org.apache.phoenix.compile.CreateIndexCompiler$1.execute(CreateIndexCompiler.java:95)
      	at org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:315)
      	at org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:1)
      	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
      	at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:306)
      	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1375)
      
      

        Attachments

        1. PHOENIX-2276.fix
          6 kB
          Maryann Xue
        2. PHOENIX-2276-1.fix
          5 kB
          Maryann Xue
        3. PHOENIX-2276.patch
          45 kB
          Samarth Jain

          Issue Links

            Activity

              People

              • Assignee:
                samarthjain Samarth Jain
                Reporter:
                samarthjain Samarth Jain
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: