> On March 20, 2015, 11:38 a.m., Jaideep dhok wrote:
> > Right now none of our cache reads or updates are synchronized. Since we are 
> > caching CubeMetastoreClients and these are shared across sessions we should 
> > properly synchronize cache calls.
> 
> Amareshwari Sriramadasu wrote:
>     Will make all the maps ConcurrentHashMap
> 
> Jaideep dhok wrote:
>     I think just making them ConcurrentHashMap is not enough. All 'get, check 
> and put' transactions also need to be synchronized. For example
>     
>     ```
>     tbl = allHiveTables.get(tableName);
>     if (tbl == null) {
>        tbl = getClient().getTable(tableName);
>        if (enableCaching) {
>           allHiveTables.put(tableName, tbl);
>        }
>     }
>     ```      
>     
>     All similar blocks need to be under a synchronized block or guarded by 
> locks.

We can move to guava cache.


- Rajat


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


On March 20, 2015, 12:47 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/32281/
> -----------------------------------------------------------
> 
> (Updated March 20, 2015, 12:47 p.m.)
> 
> 
> Review request for lens, Jaideep dhok and Rajat Khandelwal.
> 
> 
> Bugs: LENS-404
>     https://issues.apache.org/jira/browse/LENS-404
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - getAll* methods in cube metastore are responded through cache
> - isCube and isDimension calls changed to look at allCubes and allDimensions 
> instead of hitting metastore when table does not exist
> - Changed the caching keys to have .trim().toLowercase() on all 
> updates/lookups. They are lookups/updates in code which dont trim names, 
> wanted to the cache to agnostic to those.
> - Changed multiple calls of getClient(sessionid) in CubeMetastoreService in 
> single method, as getClient() is not trivial call
> 
> 
> Diffs
> -----
> 
>   
> lens-cli/src/main/java/org/apache/lens/cli/commands/LensDimensionTableCommands.java
>  83fb8c8 
>   
> lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeDimensionTable.java 
> a188a41 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeFactTable.java 
> e0e87ab 
>   
> lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java
>  61e511f 
>   
> lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
>  8ea6547 
> 
> Diff: https://reviews.apache.org/r/32281/diff/
> 
> 
> Testing
> -------
> 
> Rerunning tests. will update once done
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [2.173s]
> [INFO] Lens .............................................. SUCCESS [1.769s]
> [INFO] Lens API .......................................... SUCCESS [5.111s]
> [INFO] Lens API for server and extensions ................ SUCCESS [6.955s]
> [INFO] Lens Cube ......................................... SUCCESS [2:06.767s]
> [INFO] Lens DB storage ................................... SUCCESS [10.459s]
> [INFO] Lens Query Library ................................ SUCCESS [4.952s]
> [INFO] Lens Hive Driver .................................. SUCCESS [2:32.339s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [17.878s]
> [INFO] Lens Server ....................................... SUCCESS [4:15.372s]
> [INFO] Lens client ....................................... SUCCESS [21.028s]
> [INFO] Lens CLI .......................................... SUCCESS [2:51.992s]
> [INFO] Lens Examples ..................................... SUCCESS [0.769s]
> [INFO] Lens Distribution ................................. SUCCESS [9.239s]
> [INFO] Lens ML Lib ....................................... SUCCESS [42.785s]
> [INFO] Lens Regression ................................... SUCCESS [0.452s]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 13:51.009s
> [INFO] Finished at: Fri Mar 20 05:51:42 UTC 2015
> [INFO] Final Memory: 110M/1132M
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>

Reply via email to