----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/48071/#review135908 -----------------------------------------------------------
lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java (line 238) <https://reviews.apache.org/r/48071/#comment200929> We are returning a new classloader even when resources is empty? Seems this is making one more extra copy unnecessarily. - Amareshwari Sriramadasu On June 2, 2016, 9:46 a.m., Rajat Khandelwal wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/48071/ > ----------------------------------------------------------- > > (Updated June 2, 2016, 9:46 a.m.) > > > Review request for lens. > > > Bugs: LENS-1160 > https://issues.apache.org/jira/browse/LENS-1160 > > > Repository: lens > > > Description > ------- > > Creating an UncloseableClassloader in DatabaseResourceService. Each db has a > class loader which will be uncloseable. Lens session asks db service for a > new classloader, which has the uncloseable classloader as parent. On session > close, Lens session is closing its individual class loaders per db, but will > leave the db class loader intact. This way we are making sure the existing > design remains intact. Each session sharing a common database (without > session jars) will have a common Uncloseable class loader. A session will > have classloaders per db, which will the db class loader (uncloseable) in > case no extra jars have been added for that db in that session, or it will be > a UDFClassLoader with the uncloseable db classloader as parent. This ensures > that classes already loaded by db class loader will not be loaded multiple > times by each session. Also, the lifecycle of db resource service starts with > lens server and ends with it too. Which means, those classloaders never need > to close. > > > Diffs > ----- > > > lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java > 1f63ed780552f921315ddee49d61495716e57227 > > lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java > 6c5e52d150bdbbb1075d9150901068bbd3400594 > > lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java > 82a4e15a6e5b12fb5f8ac8fe43076942266d3db5 > > lens-server/src/main/java/org/apache/lens/server/session/SessionClassLoader.java > PRE-CREATION > > lens-server/src/main/java/org/apache/lens/server/session/UncloseableClassLoader.java > PRE-CREATION > > lens-server/src/test/java/org/apache/lens/server/session/TestSessionClassLoaders.java > eeb97f2cbb5257acdacddea7048d1e806088e5cc > > Diff: https://reviews.apache.org/r/48071/diff/ > > > Testing > ------- > > > Thanks, > > Rajat Khandelwal > >