[ https://issues.apache.org/jira/browse/PHOENIX-5140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17246141#comment-17246141 ]
ASF GitHub Bot commented on PHOENIX-5140: ----------------------------------------- gjacoby126 merged pull request #617: URL: https://github.com/apache/phoenix/pull/617 ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TableNotFoundException occurs when we create local asynchronous index > --------------------------------------------------------------------- > > Key: PHOENIX-5140 > URL: https://issues.apache.org/jira/browse/PHOENIX-5140 > Project: Phoenix > Issue Type: Bug > Affects Versions: 5.0.0 > Environment: > HDP : 3.0.0.0, HBase : 2.0.0,phoenix : 5.0.0 and > hadoop : 3.1.0 > Reporter: MariaCarrie > Assignee: dan zheng > Priority: Major > Labels: IndexTool, localIndex, tableUndefined > Attachments: PHOENIX-5140-master-v1.patch, > PHOENIX-5140-master-v2.patch > > Original Estimate: 48h > Time Spent: 20m > Remaining Estimate: 47h 40m > > First I create the table and insert the data: > ^create table DMP.DMP_INDEX_TEST2 (id varchar not null primary key,name > varchar,age varchar);^ > ^upsert into DMP.DMP_INDEX_TEST2 values('id01','name01','age01');^ > The asynchronous index is then created: > ^create local index if not exists TMP_INDEX_DMP_TEST2 on DMP.DMP_INDEX_TEST2 > (name) ASYNC;^ > Because kerberos is enabled,So I need kinit HBase principal first,Then > execute the following command: > ^HADOOP_CLASSPATH="/etc/hbase/conf" hadoop jar > /usr/hdp/3.0.0.0-1634/phoenix/phoenix-client.jar > org.apache.phoenix.mapreduce.index.IndexTool --schema DMP --data-table > DMP_INDEX_TEST2 --index-table TMP_INDEX_DMP_TEST2 --output-path > /hbase-backup2^ > But I got the following error: > ^Error: java.lang.RuntimeException: > org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table > undefined. tableName=DMP.DMP_INDEX_TEST2^ > ^at > org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:124)^ > ^at > org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:50)^ > ^at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)^ > ^at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:799)^ > ^at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347)^ > ^at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174)^ > ^at java.security.AccessController.doPrivileged(Native Method)^ > ^at javax.security.auth.Subject.doAs(Subject.java:422)^ > ^at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1688)^ > ^at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)^ > ^Caused by: org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 > (42M03): Table undefined. tableName=DMP.DMP_INDEX_TEST2^ > ^at > org.apache.phoenix.query.ConnectionQueryServicesImpl.getTableRegionLocation(ConnectionQueryServicesImpl.java:4544)^ > ^at > org.apache.phoenix.query.DelegateConnectionQueryServices.getTableRegionLocation(DelegateConnectionQueryServices.java:312)^ > ^at > org.apache.phoenix.compile.UpsertCompiler.setValues(UpsertCompiler.java:163)^ > ^at > org.apache.phoenix.compile.UpsertCompiler.access$500(UpsertCompiler.java:118)^ > ^at > org.apache.phoenix.compile.UpsertCompiler$UpsertValuesMutationPlan.execute(UpsertCompiler.java:1202)^ > ^at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408)^ > ^at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)^ > ^at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)^ > ^at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:390)^ > ^at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)^ > ^at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:173)^ > ^at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:183)^ > ^at > org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:103)^ > ^... 9 more^ > I can query this table and have access to it,It works well: > ^select * from DMP.DMP_INDEX_TEST2;^ > ^select * from DMP.TMP_INDEX_DMP_TEST2;^ > ^drop table DMP.DMP_INDEX_TEST2;^ > But why did my MR task make this mistake? Any Suggestions from anyone? -- This message was sent by Atlassian Jira (v8.3.4#803005)