Creating a table stores the full address of namenode in the metadata. This 
leads to problems when the namenode address changes.
-------------------------------------------------------------------------------------------------------------------------------

                 Key: HIVE-1451
                 URL: https://issues.apache.org/jira/browse/HIVE-1451
             Project: Hadoop Hive
          Issue Type: Bug
          Components: Metastore, Query Processor
    Affects Versions: 0.5.0
         Environment: Any
            Reporter: Arvind Prabhakar
            Assignee: Arvind Prabhakar


Here is an excerpt from table metadata for an arbitrary table {{table1}}:

{noformat}
hive> describe extended table1;
OK
...
Detailed Table Information      ...
location:hdfs://localhost:9000/user/arvind/hive/warehouse/table1, 
...
{noformat}

As can be seen, the full address of namenode is captured in the location 
information for the table. This information is later used to run any queries on 
the table - thus making it impossible to change the namenode location once the 
table has been created. For example, for the above table, a query will fail if 
the namenode is migrated from port 9000 to 8020:

{noformat}
hive> select * from table1;
OK
Failed with exception java.io.IOException:java.net.ConnectException: Call to 
localhost/127.0.0.1:9000
failed on connection exception: java.net.ConnectException: Connection refused
Time taken: 10.78 seconds
hive> 
{noformat}

It should be possible to change the namenode location regardless of when the 
tables are created. Also, any query execution should work with the configured 
namenode at that point in time rather than requiring the configuration to be 
exactly the same at the time when the tables were created.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to