Home Dashboard Directory Help
Search

Hive metastore not accesible after creating partitions by Vizoso


Status: 

Resolved
 as Won't Fix Help for as Won't Fix


2
0
Sign in
to vote
Type: Bug
ID: 792309
Opened: 7/2/2013 10:15:57 AM
Access Restriction: Public
1
Workaround(s)
view
1
User(s) can reproduce this bug

Description

We have created a number of partitions (about 1300) in a table.

After that, metastore seems to go very slow. For example a "show tables" could last up to 30 seconds or even timeout.

If we start a new session in Hive, metastore seems to go fast again as long as we don't try to read the partitioned table.

If we try it, for example "select * from table limit 10;", the sentence fails and metastore goes slowly again.

We cannot access the partitioned table, nor drop it.
Details
Sign in to post a comment.
Posted by Microsoft on 7/25/2013 at 2:09 PM
When running a query on the table with lots of partitions, even the client side times out, the metastore database is still processing the unfinished request. That's likely to be the reason the following simple query also takes a long time in the same session.
Posted by Pablo Álvarez Doval on 7/19/2013 at 9:25 AM
Thanks for the suggestion, but the problem is not to configure a timeout value, but why it takes so long for even a 'show tables;'. It seems something gets corrupted in the Hive metastore, or the Hive Service is unable to reach the metastore.
Posted by Microsoft on 7/10/2013 at 3:32 PM
To change the timeout configuration, you can also add --hiveconf hive.metastore.client.socket.timeout=600 in the hive command you run. The configuration can also set through bootstrap actions (this feature will be available soon). In the mean time, we are investigating root-cause for metastore timeout
Sign in to post a workaround.
Posted by Microsoft on 7/3/2013 at 10:05 AM
I reproduce the table and got the same read time out when running the query. The reason is with large amount of partitions, the query will require to scan much larger metastore tables which takes time. There are two solution for such kind of problem. You can define less partition and create bucket inside the partition, or increase the timeout. Now the metastore timeout is set to 60 sec which can easily met for some complex metastore operations. To increase the timeout, change the "hive.metastore.client.socket.timeout" property in hive-site.xml.
File Name Submitted By Submitted On File Size  
partitions.txt 7/2/2013 109 KB