> On March 26, 2015, 5:57 a.m., Amareshwari Sriramadasu wrote:
> > lens-server-api/src/main/java/org/apache/lens/server/api/query/AbstractQueryContext.java,
> >  line 141
> > <https://reviews.apache.org/r/32478/diff/2/?file=905288#file905288line141>
> >
> >     Can this be moved to method and called from getter when database is 
> > null aswell as in the constructor?
> >     
> >     For the queries submitted with old instance of server, database wouldnt 
> > have been restored upon restart.
> 
> Jaideep dhok wrote:
>     I didn't understand this, could you please clarify a bit. We are 
> restoring databases on sessions while restarting server. See 
> HiveSessionService.start

I meant earlier verison of lens which did not persist the database in the 
QueryContext


> On March 26, 2015, 5:57 a.m., Amareshwari Sriramadasu wrote:
> > lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java,
> >  line 173
> > <https://reviews.apache.org/r/32478/diff/2/?file=905290#file905290line173>
> >
> >     sessionDbClassLoaders are only cache coming from 
> > DatabaseResourceService.
> >     
> >     Closing these in session.close() would make them no longer accessible 
> > for other sessions. Isnt it?
> 
> Jaideep dhok wrote:
>     This is only per session cache. This only contains _merged_ class loaders 
> which are DB class loader + session jar class loader. DB only class loaders 
> which are maintained by DatabaseResourceService are not closed.

Here is the code flow I see :

  private void updateSessionDbClassLoader(String database) {
    ClassLoader updatedClassLoader = getDbResService().loadDBJars(database, 
persistInfo.getResources());
    if (updatedClassLoader != null) {
      sessionDbClassLoaders.put(database, updatedClassLoader);
    }
  }

  protected synchronized ClassLoader loadDBJars(String database, 
Collection<LensSessionImpl.ResourceEntry> resources,
                                             boolean addToCache) {
    ClassLoader classLoader = classLoaderCache.get(database);
    if (classLoader == null) {
      // No change since there are no static resources to be added
      return null;
    }

    if (resources == null || resources.isEmpty()) {
      // Return DB class loader directly since no resources have to be merged.
      return classLoader;
    }
    .....
  }
  
  If resources are empty, the classloader in sessionDbClassLoaders is the 
dbclassloader.


- Amareshwari


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32478/#review77867
-----------------------------------------------------------


On March 25, 2015, 12:14 p.m., Jaideep dhok wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/32478/
> -----------------------------------------------------------
> 
> (Updated March 25, 2015, 12:14 p.m.)
> 
> 
> Review request for lens and Amareshwari Sriramadasu.
> 
> 
> Bugs: LENS-349
>     https://issues.apache.org/jira/browse/LENS-349
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> 1. Set database in AbstractQueryContext at construction time. This will make 
> sure that database used at the time of query submission is also used at the 
> time of query execution
> 2. HiveDriver will maintain one session for a lens session + database name 
> pair.
> 3. Borrowed some code related to closing class loaders and tests from the 
> previous patch.
> Reply
> 
> 
> Diffs
> -----
> 
>   lens-client/src/test/java/org/apache/lens/client/TestLensClient.java 
> 81a536ed8ac3f7ea550794cf188db6ea9d599c7d 
>   lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java 
> 9e3c72393c1d9634b4ae03301b5d620b647df7ae 
>   
> lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
>  8a5839b01ad20fc6ff030d55788ceb2c368d7f69 
>   lens-driver-jdbc/testdata/DatabaseJarSerde.java 
> 03caff31916072b0e6944d1bd13161dca5cef878 
>   
> lens-server-api/src/main/java/org/apache/lens/server/api/query/AbstractQueryContext.java
>  523356903933af37eb9b1deca805cc8ae76a4cbb 
>   
> lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
>  390071cdd40ccc0308a4a58852e9dbfcbddabc3a 
>   
> lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java 
> 8c970821015b04e4adaff7d2949520ea5a0c4c82 
>   lens-server/src/test/java/org/apache/lens/server/LensJerseyTest.java 
> 20856a09610d76ca8072851e00125fc50aa4343c 
>   lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java 
> e44816372e889bdc7ce2ac34a43048e8af85181e 
>   
> lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java 
> 14a4eb2f09ad07bd6592f9f2e7ebff02080e0d14 
>   lens-server/testdata/DatabaseJarSerde.java 
> 03caff31916072b0e6944d1bd13161dca5cef878 
>   lens-server/testdata/serde.jar ec86e49a0be7cb9872756a4313ae81bd3cb5e543 
>   lens-server/testdata/test.jar 1644d8cada37749f6a8c3a2a6c26b752ea7bac0f 
> 
> Diff: https://reviews.apache.org/r/32478/diff/
> 
> 
> Testing
> -------
> 
> Changed existing test for db jars to validate db switch
> 
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [2.190s]
> [INFO] Lens .............................................. SUCCESS [2.156s]
> [INFO] Lens API .......................................... SUCCESS [5.066s]
> [INFO] Lens API for server and extensions ................ SUCCESS [8.147s]
> [INFO] Lens Cube ......................................... SUCCESS [2:06.284s]
> [INFO] Lens DB storage ................................... SUCCESS [10.328s]
> [INFO] Lens Query Library ................................ SUCCESS [4.587s]
> [INFO] Lens Hive Driver .................................. SUCCESS [2:33.251s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [18.763s]
> [INFO] Lens Server ....................................... SUCCESS [5:46.309s]
> [INFO] Lens client ....................................... SUCCESS [20.491s]
> [INFO] Lens CLI .......................................... SUCCESS [2:28.343s]
> [INFO] Lens Examples ..................................... SUCCESS [0.998s]
> [INFO] Lens Distribution ................................. SUCCESS [10.435s]
> [INFO] Lens ML Lib ....................................... SUCCESS [1:01.982s]
> [INFO] Lens ML Ext Distribution .......................... SUCCESS [2.541s]
> [INFO] Lens Regression ................................... SUCCESS [0.453s]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 15:23.313s
> [INFO] Finished at: Wed Mar 25 12:11:23 UTC 2015
> [INFO] Final Memory: 97M/990M
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Jaideep dhok
> 
>

Reply via email to