[ https://issues.apache.org/jira/browse/HIVE-678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736179#action_12736179 ]
Prasad Chakka commented on HIVE-678: ------------------------------------ Index partitions should be created when the actual data exists in the correct location. Otherwise it will be difficult to asses whether the index for a partition is not yet been created or whether it is just an empty partition. so we should let index builder create appropriate partition/table at the end of the index builder. without this any processes that are waiting for this index partition to be created before running their jobs will have problems. if you look at 'insert into tbl partition ... select', metadata for partition is not created until after the select query is run successfully. Also I feel more comfortable if we move most of the index specific logic out of metastore into java client (probably in Hive.java). HiveMetaStore.java 280: check that the partName is not empty along with the check for null 281: make both parts of index_def.getTableName() to be on the same line. same goes for the next param. it can be slightly confusing while reading the way it is currently written. 290: what do you think about the owner? should they be changed? what about the table properties and serde properties. should they be inherited? i think serde properties should not be but tbl properties should be. but again, the metadata for index partitions and table should be created from the client side (when the actual data is available) instead of creating them as part of index metadata creation. MetaStoreUtils.java 635: ORIGIN sounds a bit weird, can you use BASE instead? Warehouse.java 258: splitting by '=' will not work if the partition value contains '='. Instead of this function you should use Warehouse.makeSpecFromName(path) and the values from the returned hash map. Driver.java 369: printing to stdout? ExecDriver.java 449: printStackTrace()? DDLSemanticAnalyzer.java please make sure that column names are case insensitive (and any HDFS paths created for the indexes use lowercase names since HDFS is case sensitive and Hive is not). 220: invalid index types should result in error. is it checked at a different place? Didn't go through the actual index creation part. but i am sure nothing much changed since last patch in there. but i will take a look again but you should change the patch to reflect the above comments. > Add support for building index table > ------------------------------------ > > Key: HIVE-678 > URL: https://issues.apache.org/jira/browse/HIVE-678 > Project: Hadoop Hive > Issue Type: Sub-task > Components: Metastore, Query Processor > Affects Versions: 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.4.0 > Reporter: He Yongqiang > Attachments: hive-678-2009-07-25.patch > > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.