Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EA9A4180B1 for ; Sun, 11 Oct 2015 00:50:06 +0000 (UTC) Received: (qmail 825 invoked by uid 500); 11 Oct 2015 00:50:05 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 725 invoked by uid 500); 11 Oct 2015 00:50:05 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 416 invoked by uid 99); 11 Oct 2015 00:50:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Oct 2015 00:50:05 +0000 Date: Sun, 11 Oct 2015 00:50:05 +0000 (UTC) From: "Hudson (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-14578) URISyntaxException during snapshot restore for table with user defined namespace MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-14578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14952121#comment-14952121 ] Hudson commented on HBASE-14578: -------------------------------- SUCCESS: Integrated in HBase-1.1 #700 (See [https://builds.apache.org/job/HBase-1.1/700/]) HBASE-14578 URISyntaxException during snapshot restore for table with (tedyu: rev f818d84423bdda825ee915af2f4af74371a890b7) * hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java * hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java * hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java * hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java > URISyntaxException during snapshot restore for table with user defined namespace > -------------------------------------------------------------------------------- > > Key: HBASE-14578 > URL: https://issues.apache.org/jira/browse/HBASE-14578 > Project: HBase > Issue Type: Bug > Components: snapshots > Affects Versions: 0.98.5 > Reporter: Pankaj Kumar > Assignee: Pankaj Kumar > Fix For: 2.0.0, 1.2.0, 1.3.0, 1.0.3, 1.1.3, 0.98.16 > > Attachments: 14578-master-v2.txt, 14578-master.txt, HBASE-14578-0.98-V2.patch, HBASE-14578-0.98.patch, HBASE-14578-branch-1.patch > > > Snapshot restore failed for a table which is created under user defined namespace, > {noformat} > java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: tag_namespace:tableName_XYZ > at org.apache.hadoop.hbase.util.ModifyRegionUtils.createRegions(ModifyRegionUtils.java:133) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.cloneHdfsRegions(RestoreSnapshotHelper.java:475) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.restoreHdfsRegions(RestoreSnapshotHelper.java:208) > at org.apache.hadoop.hbase.master.snapshot.CloneSnapshotHandler.handleCreateHdfsRegions(CloneSnapshotHandler.java:112) > at org.apache.hadoop.hbase.master.handler.CreateTableHandler.handleCreateTable(CreateTableHandler.java:233) > at org.apache.hadoop.hbase.master.handler.CreateTableHandler.process(CreateTableHandler.java:168) > at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: tag_namespace:tableName_XYZ > at java.util.concurrent.FutureTask.report(FutureTask.java:122) > at java.util.concurrent.FutureTask.get(FutureTask.java:188) > at org.apache.hadoop.hbase.util.ModifyRegionUtils.createRegions(ModifyRegionUtils.java:126) > ... 9 more > Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: tag_namespace:tableName_XYZ > at org.apache.hadoop.fs.Path.initialize(Path.java:206) > at org.apache.hadoop.fs.Path.(Path.java:172) > at org.apache.hadoop.fs.Path.(Path.java:89) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.restoreReferenceFile(RestoreSnapshotHelper.java:558) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.restoreStoreFile(RestoreSnapshotHelper.java:531) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.access$200(RestoreSnapshotHelper.java:106) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper$2.storeFile(RestoreSnapshotHelper.java:509) > at org.apache.hadoop.hbase.util.FSVisitor.visitRegionStoreFiles(FSVisitor.java:136) > at org.apache.hadoop.hbase.snapshot.SnapshotReferenceUtil.visitRegionStoreFiles(SnapshotReferenceUtil.java:127) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.cloneRegion(RestoreSnapshotHelper.java:502) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.access$100(RestoreSnapshotHelper.java:106) > at org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper$1.fillRegion(RestoreSnapshotHelper.java:479) > at org.apache.hadoop.hbase.util.ModifyRegionUtils.createRegion(ModifyRegionUtils.java:160) > at org.apache.hadoop.hbase.util.ModifyRegionUtils$1.call(ModifyRegionUtils.java:118) > at org.apache.hadoop.hbase.util.ModifyRegionUtils$1.call(ModifyRegionUtils.java:115) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ... 3 more > Caused by: java.net.URISyntaxException: Relative path in absolute URI: tag_namespace:tableName_XYZ > at java.net.URI.checkPath(URI.java:1804) > at java.net.URI.(URI.java:752) > at org.apache.hadoop.fs.Path.initialize(Path.java:203) > ... 20 more > {noformat} > After region split, new daughter regions contain the reference of the original HFile until compaction happens. > In RestoreSnapshotHelper (while restoring snapshot file which have regions containing hfile references), path is initialized using the snapshot table name which has namespace separated by colon, > {code} > private void restoreReferenceFile(final Path familyDir, final HRegionInfo regionInfo, > final String hfileName) throws IOException { > // Extract the referred information (hfile name and parent region) > Path refPath = StoreFileInfo.getReferredToFile(new Path(new Path(new Path( > snapshotTable.getNameAsString(), regionInfo.getEncodedName()), familyDir.getName()), > hfileName)); > ---code--- > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)