HBASE-4754 has been filed. FYI
On Sun, Nov 6, 2011 at 9:00 PM, Ted Yu <[email protected]> wrote: > I dug through the code a little bit. Indeed the following exception was > due to the difference in DistributedFileSystem.listStatus() between > 0.20.205 and 0.22: > > > 11/11/05 19:08:48 ERROR handler.CreateTableHandler: Error trying to > create the table b > java.io.FileNotFoundException: File > hdfs://ip-10-110-254-200.ec2. > internal:17020/hbase/b does not exist. > at > org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:387) > > In 0.20.205: > public FileStatus[] listStatus(Path p) throws IOException { > String src = getPathName(p); > > // fetch the first batch of entries in the directory > DirectoryListing thisListing = dfs.listPaths( > src, HdfsFileStatus.EMPTY_NAME); > > if (thisListing == null) { // the directory does not exist > return null; > } > > In 0.22: > @Override > public FileStatus[] listStatus(Path p) throws IOException { > String src = getPathName(p); > > // fetch the first batch of entries in the directory > DirectoryListing thisListing = dfs.listPaths( > src, HdfsFileStatus.EMPTY_NAME); > > if (thisListing == null) { // the directory does not exist > throw new FileNotFoundException("File " + p + " does not exist."); > } > > So in FSTableDescriptors.getTableInfoPath(), we should catch > FileNotFoundException and treat it the same way as status being null. > > Cheers > > > On Sun, Nov 6, 2011 at 6:38 PM, Roman Shaposhnik <[email protected]> wrote: > >> On Sun, Nov 6, 2011 at 4:12 PM, Roman Shaposhnik <[email protected]> wrote: >> > Odd indeed. Whatever it was is now gone when I build from this SHA: >> > 61b5659bf7971cfac32f3cf4fca0d3823b4c8f8c >> > However, I can still reproduce it when I build from the previous SHA: >> > 454a75d2eb122b198140a778d00d6e1bc086517e >> > >> > I think since it got fixed, it is probably not really worth pursuing. >> >> Here's the final deal -- this is Hadoop 0.22 related. I can reliably >> reproduce >> it if I enable the .22 profile. Here's how: >> $ git pull ; git checkout remotes/origin/0.92 >> $ mvn clean assembly:assembly -DskipTests -Dhadoop.profile=22 >> $ tar xzvf -C /tmp/22 target/hbase-0.92.0-SNAPSHOT.tar.gz >> $ rm -rf /tmp/hbase* >> $ /tmp/22/hbase-0.92.0-SNAPSHOT/hbase-daemon.sh start master >> $ /tmp/22/hbase-0.92.0-SNAPSHOT/hbase shell >> 11/11/06 18:13:50 WARN conf.Configuration: hadoop.native.lib is >> deprecated. Instead, use io.native.lib.available >> 11/11/06 18:13:50 WARN conf.Configuration: hadoop.native.lib is >> deprecated. Instead, use io.native.lib.available >> 11/11/06 18:13:50 WARN conf.Configuration: hadoop.native.lib is >> deprecated. Instead, use io.native.lib.available >> 11/11/06 18:13:50 WARN conf.Configuration: hadoop.native.lib is >> deprecated. Instead, use io.native.lib.available >> HBase Shell; enter 'help<RETURN>' for list of supported commands. >> Type "exit<RETURN>" to leave the HBase Shell >> Version 0.92.0-SNAPSHOT, r61b5659bf7971cfac32f3cf4fca0d3823b4c8f8c, >> Sun Nov 6 18:02:26 PST 2011 >> >> hbase(main):001:0> create 't', 'f' >> >> And it hangs. >> >> I'm about to attend a social function in the next couple of hours and >> will probably >> dig further tomorrow at ApacheCON. >> >> Thanks, >> Roman. >> > >
