[ https://issues.apache.org/jira/browse/HIVE-21186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sankar Hariappan updated HIVE-21186: ------------------------------------ Description: REPL DUMP is fine. Load seems to be throwing exception: {code} 2019-01-29 09:25:12,671 ERROR HiveServer2-Background-Pool: Thread-4864: ql.Driver (SessionState.java:printError(1129)) - FAILED: Execution Error, return code 40000 from org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask. java.lang.NullPointerException 2019-01-29 09:25:12,671 INFO HiveServer2-Background-Pool: Thread-4864: ql.Driver (Driver.java:execute(1661)) - task failed with org.apache.hadoop.hive.ql.parse.SemanticException: java.lang.NullPointerException at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.tasks(LoadTable.java:154) at org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask.executeBootStrapLoad(ReplLoadTask.java:141) at org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask.execute(ReplLoadTask.java:82) at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:177) at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:93) at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1777) at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1511) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1308) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1175) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1170) at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:197) at org.apache.hive.service.cli.operation.SQLOperation.access$300(SQLOperation.java:76) at org.apache.hive.service.cli.operation.SQLOperation$2$1.run(SQLOperation.java:255) 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:1869) at org.apache.hive.service.cli.operation.SQLOperation$2.run(SQLOperation.java:273) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.util.PathUtils.getExternalTmpPath(PathUtils.java:35) at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.loadTableTask(LoadTable.java:245) at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.newTableTasks(LoadTable.java:189) at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.tasks(LoadTable.java:136) ... 23 more {code} REPL Load statement: {code} REPL LOAD `testdb1_tgt` FROM 'hdfs://ctr-e139-1542663976389-56533-01-000011.hwx.site:8020/apps/hive/repl/c9476207-8179-4db7-b947-ba67c950a340' WITH ('hive.query.id'='testHive1_3dd5e281-89ef-4054-850e-8a34386fc2c8','hive.exec.parallel'='true','hive.repl.replica.external.table.base.dir'='/tmp/someNewloc/','hive.repl.include.external.tables'='true','mapreduce.map.java.opts'='-Xmx640m','hive.distcp.privileged.doAs'='beacon','distcp.options.pugpb'='') {code} This is an issue with Hive unable to handle path without schema/authority input for "hive.repl.replica.external.table.base.dir". Here the input was 'hive.repl.replica.external.table.base.dir'='/tmp/someNewloc/','. If we set a fully qualified HDFS path (such as hdfs://<host>:<port:/tmp/someNewloc/), then it works fine. Need to fix it in Hive to accept path without schema/authority and obtain it from local cluster. was: REPL DUMP is fine. Load seems to be throwing exception: {code} 2019-01-29 09:25:12,671 ERROR HiveServer2-Background-Pool: Thread-4864: ql.Driver (SessionState.java:printError(1129)) - FAILED: Execution Error, return code 40000 from org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask. java.lang.NullPointerException 2019-01-29 09:25:12,671 INFO HiveServer2-Background-Pool: Thread-4864: ql.Driver (Driver.java:execute(1661)) - task failed with org.apache.hadoop.hive.ql.parse.SemanticException: java.lang.NullPointerException at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.tasks(LoadTable.java:154) at org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask.executeBootStrapLoad(ReplLoadTask.java:141) at org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask.execute(ReplLoadTask.java:82) at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:177) at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:93) at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1777) at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1511) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1308) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1175) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1170) at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:197) at org.apache.hive.service.cli.operation.SQLOperation.access$300(SQLOperation.java:76) at org.apache.hive.service.cli.operation.SQLOperation$2$1.run(SQLOperation.java:255) 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:1869) at org.apache.hive.service.cli.operation.SQLOperation$2.run(SQLOperation.java:273) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.util.PathUtils.getExternalTmpPath(PathUtils.java:35) at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.loadTableTask(LoadTable.java:245) at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.newTableTasks(LoadTable.java:189) at org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.tasks(LoadTable.java:136) ... 23 more {code} REPL Load statement: {code} REPL LOAD `testdb1_tgt` FROM 'hdfs://ctr-e139-1542663976389-56533-01-000011.hwx.site:8020/apps/hive/repl/c9476207-8179-4db7-b947-ba67c950a340' WITH ('hive.query.id'='testHive1_3dd5e281-89ef-4054-850e-8a34386fc2c8','hive.exec.parallel'='true','hive.repl.replica.external.table.base.dir'='/tmp/someNewloc/','hive.repl.include.external.tables'='true','mapreduce.map.java.opts'='-Xmx640m','hive.distcp.privileged.doAs'='beacon','distcp.options.pugpb'='') {code} This is an issue with Hive unable to handle path without schema/authority input for "hive.repl.replica.external.table.base.dir". In your test, the input was 'hive.repl.replica.external.table.base.dir'='/tmp/someNewloc/','. If we set a fully qualified HDFS path (such as hdfs://<host>:<port:/tmp/someNewloc/), then it works fine. Need to fix it in Hive to accept path without schema/authority and obtain it from local cluster. > External tables replication throws NPE if > hive.repl.replica.external.table.base.dir is not fully qualified HDFS path. > --------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-21186 > URL: https://issues.apache.org/jira/browse/HIVE-21186 > Project: Hive > Issue Type: Bug > Components: repl > Affects Versions: 4.0.0 > Reporter: Sankar Hariappan > Assignee: Sankar Hariappan > Priority: Major > Labels: DR, pull-request-available, replication > Attachments: HIVE-21186.01.patch > > > REPL DUMP is fine. Load seems to be throwing exception: > {code} > 2019-01-29 09:25:12,671 ERROR HiveServer2-Background-Pool: Thread-4864: > ql.Driver (SessionState.java:printError(1129)) - FAILED: Execution Error, > return code 40000 from org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask. > java.lang.NullPointerException > 2019-01-29 09:25:12,671 INFO HiveServer2-Background-Pool: Thread-4864: > ql.Driver (Driver.java:execute(1661)) - task failed with > org.apache.hadoop.hive.ql.parse.SemanticException: > java.lang.NullPointerException > at > org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.tasks(LoadTable.java:154) > at > org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask.executeBootStrapLoad(ReplLoadTask.java:141) > at > org.apache.hadoop.hive.ql.exec.repl.ReplLoadTask.execute(ReplLoadTask.java:82) > at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:177) > at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:93) > at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1777) > at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1511) > at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1308) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1175) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1170) > at > org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:197) > at > org.apache.hive.service.cli.operation.SQLOperation.access$300(SQLOperation.java:76) > at > org.apache.hive.service.cli.operation.SQLOperation$2$1.run(SQLOperation.java:255) > 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:1869) > at > org.apache.hive.service.cli.operation.SQLOperation$2.run(SQLOperation.java:273) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.NullPointerException > at > org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.util.PathUtils.getExternalTmpPath(PathUtils.java:35) > at > org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.loadTableTask(LoadTable.java:245) > at > org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.newTableTasks(LoadTable.java:189) > at > org.apache.hadoop.hive.ql.exec.repl.bootstrap.load.table.LoadTable.tasks(LoadTable.java:136) > ... 23 more > {code} > REPL Load statement: > {code} > REPL LOAD `testdb1_tgt` FROM > 'hdfs://ctr-e139-1542663976389-56533-01-000011.hwx.site:8020/apps/hive/repl/c9476207-8179-4db7-b947-ba67c950a340' > WITH > ('hive.query.id'='testHive1_3dd5e281-89ef-4054-850e-8a34386fc2c8','hive.exec.parallel'='true','hive.repl.replica.external.table.base.dir'='/tmp/someNewloc/','hive.repl.include.external.tables'='true','mapreduce.map.java.opts'='-Xmx640m','hive.distcp.privileged.doAs'='beacon','distcp.options.pugpb'='') > {code} > This is an issue with Hive unable to handle path without schema/authority > input for "hive.repl.replica.external.table.base.dir". > Here the input was > 'hive.repl.replica.external.table.base.dir'='/tmp/someNewloc/','. > If we set a fully qualified HDFS path (such as > hdfs://<host>:<port:/tmp/someNewloc/), then it works fine. > Need to fix it in Hive to accept path without schema/authority and obtain it > from local cluster. -- This message was sent by Atlassian JIRA (v7.6.3#76005)