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.