Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-14187

JDOPersistenceManager objects remain cached if MetaStoreClient#close is not called

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.1.1, 2.2.0
    • None
    • None

    Description

      JDOPersistenceManager objects are cached in JDOPersistenceManagerFactory by DataNuclues.

      A new JDOPersistenceManager object gets created for every HMS thread since ObjectStore is a thread local.

      In non-embedded metastore mode, JDOPersistenceManager associated with a thread only gets cleaned up if IMetaStoreClient#close is called by the client (which calls ObjectStore#shutdown which calls JDOPersistenceManager#close which in turn removes the object from cache in JDOPersistenceManagerFactory#releasePersistenceManager
      https://github.com/datanucleus/datanucleus-api-jdo/blob/master/src/main/java/org/datanucleus/api/jdo/JDOPersistenceManagerFactory.java#L1271), i.e. the object will remain cached if client does not call close.

      For example: If one interrupts out of hive CLI shell (instead of using 'exit;' command), SessionState#close does not get called, and hence IMetaStoreClient#close does not get called.

      Instead of relying the client to call close, it's cleaner to automatically perform RawStore related cleanup at the server end via deleteContext() which gets called when the server detects a lost/closed connection.

      Attachments

        1. HIVE-14187.2.patch
          10 kB
          Mohit Sabharwal
        2. HIVE-14187.1.patch
          10 kB
          Mohit Sabharwal
        3. HIVE-14187.patch
          10 kB
          Mohit Sabharwal
        4. HIVE-14187.patch
          10 kB
          Mohit Sabharwal

        Issue Links

          Activity

            People

              mohitsabharwal Mohit Sabharwal
              mohitsabharwal Mohit Sabharwal
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: