Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Physical Tablename is used instead of phoenix table name . IndexHalfStoreFileReaderGenerator#preStoreFileReaderOpen
TableName tableName = ctx.getEnvironment().getRegion().getTableDesc().getTableName(); .............. try { conn = QueryUtil.getConnectionOnServer(ctx.getEnvironment().getConfiguration()).unwrap( PhoenixConnection.class); PTable dataTable = PhoenixRuntime.getTableNoCache(conn, tableName.getNameAsString()); List<PTable> indexes = dataTable.getIndexes(); Map<ImmutableBytesWritable, IndexMaintainer> indexMaintainers = new HashMap<ImmutableBytesWritable, IndexMaintainer>(); for (PTable index : indexes) { if (index.getIndexType() == IndexType.LOCAL) { IndexMaintainer indexMaintainer = index.getIndexMaintainer(dataTable, conn); indexMaintainers.put(new ImmutableBytesWritable(MetaDataUtil .getViewIndexIdDataType().toBytes(index.getViewIndexId())), indexMaintainer); } } if(indexMaintainers.isEmpty()) return reader; byte[][] viewConstants = getViewConstants(dataTable); return new IndexHalfStoreFileReader(fs, p, cacheConf, in, size, r, ctx .getEnvironment().getConfiguration(), indexMaintainers, viewConstants, childRegion, regionStartKeyInHFile, splitKey);