private static ObjectCache getLlapObjectCache(String queryId) {
    // If order of events (i.e. dagstart and fragmentstart) was guaranteed, we could just
    // create the cache when dag starts, and blindly return it to execution here.
    if (queryId == null) throw new RuntimeException("Query ID cannot be null");
    ObjectCache result = llapQueryCaches.get(queryId);
    if (result != null) return result;
    result = new LlapObjectCache();
    ObjectCache old = llapQueryCaches.putIfAbsent(queryId, result);
    if (old == null) {
      LOG.info("Created object cache for " + queryId);
    }
    return (old != null) ? old : result;
  }
Returns the appropriate cache
@param conf
@param queryId
@param isPlanCache
@param llapCacheAlwaysEnabled  Whether to always return LLAP cache regardless
       of config settings disabling LLAP cache. Valid only if running LLAP.
@return
ql/src/java/org/apache/hadoop/hive/ql/exec/ObjectCacheFactory.java