Github user dilipbiswal commented on a diff in the pull request:

    https://github.com/apache/spark/pull/9588#discussion_r45953994
  
    --- Diff: 
sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala ---
    @@ -491,10 +493,14 @@ private[hive] class HiveMetastoreCatalog(val client: 
ClientInterface, hive: Hive
         result.copy(expectedOutputAttributes = Some(metastoreRelation.output))
       }
     
    -  override def getTables(databaseName: Option[String]): Seq[(String, 
Boolean)] = {
    +  override def getTables(databaseName: Option[String]): Seq[(String, 
Boolean)] = {hive
         val db = databaseName.getOrElse(client.currentDatabase)
    +    client.listTables(db).map(tableName => getTable(db, tableName))
    --- End diff --
    
    @I00357089 Hi...just looked at the code. So are you saying that we should 
be holding some sort of a lock after the call to listTables ? That seems a 
little odd to me .. Also i saw other callers to getTable() in 
HiveMetastoreCatalog and don't see them acquiring any lock. Can you please 
point me to an example where they acquire lock before accessing catalog 
artifacts ? Actually i am working on michael's suggestion to by pass hive 
metastore catalog for temporary tables. I am not actively working on this patch 
anymore as mike felt we should not change the hive interface much if we are 
going the other way. Having said that, i am still curious to know about this 
failure.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to