> 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 > >
