> On April 17, 2015, 5:36 a.m., Rajat Khandelwal wrote:
> > lens-api/src/main/java/org/apache/lens/api/LensException.java, line 160
> > <https://reviews.apache.org/r/33213/diff/1/?file=929647#file929647line160>
> >
> >     Can be passed from the caller function.
> 
> Amareshwari Sriramadasu wrote:
>     In general it is better to do in a function lower in the stack than every 
> caller do it. So, the current code should be fine.
> 
> Himanshu Gahlaut wrote:
>     If the comment is about lensError being passed from the caller function, 
> then that would be sub optimal because caller functions don't hold the 
> responsibility of being aware of errorCode. LensException is owning the 
> responsibility of being aware of the same. All caller functions fetching 
> errorCode out of LensException and doing the same work to getLensErrorConf 
> will be redundant and also violate encapsulation.
> 
> Rajat Khandelwal wrote:
>     No, `getErrorConf` call, it's getting called in this function as well as 
> the caller function.

Did some refactoring to avoid this.


> On April 17, 2015, 5:36 a.m., Rajat Khandelwal wrote:
> > lens-api/src/main/java/org/apache/lens/api/LensException.java, line 168
> > <https://reviews.apache.org/r/33213/diff/1/?file=929647#file929647line168>
> >
> >     `this.equals(e)` just checks equality of object references. In that 
> > case `isErrorMsgEqual(e)` becomes redundant.
> 
> Himanshu Gahlaut wrote:
>     this.equals(e) will call the equals of lombok.
> 
> Rajat Khandelwal wrote:
>     Yes, lombok's `equals` can be modified to do such a thing. One of the 
> following approaches should work:
>     
>     1. Having `@EqualsAndHashCode(callSuper=true)`. This is cleaner but I 
> think you would have had a valid reason for keeping it `false`
>     2. Having a field in `LensException` of the error message. This message 
> can be lazily evaluated using lombok: 
> http://projectlombok.org/features/GetterLazy.html. We can use this if the 
> first approach is not good.

callSuper=false because java.lang.Exception/java.lang.Throwable has not 
implemented equals method of its own. If we add a field errorMsg in 
LensException, then we will not even need any lazy initialization because 
equals can use that field in equality check. Wanted to avoid addition of a 
redundant field.


> On April 17, 2015, 5:36 a.m., Rajat Khandelwal wrote:
> > lens-api/src/main/java/org/apache/lens/api/LensException.java, line 167
> > <https://reviews.apache.org/r/33213/diff/1/?file=929647#file929647line167>
> >
> >     not calling it `equals`?
> 
> Himanshu Gahlaut wrote:
>     Yes because we already have a equals method generated by lombok.
> 
> Rajat Khandelwal wrote:
>     Yeah, but having an `isEqual` method is not intiutive. The function 
> exposed to the class's users should be named `equals`. We can achieve that by 
> having a lazy getter for error message. That way that field will also be 
> checked for equality.

Will drop lombok generated equals and implemented isEqual, and implement an 
equals method which will do all equality checks for making things more 
intuitive.


- Himanshu


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


On April 17, 2015, 2:46 a.m., Himanshu Gahlaut wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33213/
> -----------------------------------------------------------
> 
> (Updated April 17, 2015, 2:46 a.m.)
> 
> 
> Review request for lens.
> 
> 
> Bugs: LENS-486
>     https://issues.apache.org/jira/browse/LENS-486
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> LENS-486
> 
> Please refer description of LENS-486 for summary and spreadsheet available in 
> LENS-395 for overall design.
> 
> 
> Diffs
> -----
> 
>   lens-api/pom.xml dba7fd9c3272383d80a91ecfd960ae4eb994b317 
>   lens-api/src/main/java/org/apache/lens/api/LensException.java 
> b0a944acacb5afecb0f19645b738fd72ea904fd8 
>   lens-api/src/main/java/org/apache/lens/api/LensSessionHandle.java 
> b3aa584f18a207036a5f42817f03fb586c1f029f 
>   lens-api/src/main/java/org/apache/lens/api/error/ErrorCollection.java 
> PRE-CREATION 
>   
> lens-api/src/main/java/org/apache/lens/api/error/ErrorCollectionFactory.java 
> PRE-CREATION 
>   
> lens-api/src/main/java/org/apache/lens/api/error/ImmutableErrorCollection.java
>  PRE-CREATION 
>   lens-api/src/main/java/org/apache/lens/api/error/LensCommonErrorCode.java 
> PRE-CREATION 
>   lens-api/src/main/java/org/apache/lens/api/error/LensError.java 
> PRE-CREATION 
>   
> lens-api/src/main/java/org/apache/lens/api/error/LensMultiCauseException.java 
> PRE-CREATION 
>   lens-api/src/main/java/org/apache/lens/api/query/QueryCost.java 
> 189630814655f01e02d2e2b004733b7ec0f8436f 
>   lens-api/src/main/java/org/apache/lens/api/query/QuerySubmitResult.java 
> 5228af2563052fec5ed5df2b518cd7a9252d6f9b 
>   lens-api/src/main/java/org/apache/lens/api/response/LensErrorTO.java 
> PRE-CREATION 
>   
> lens-api/src/main/java/org/apache/lens/api/response/LensJAXBContextResolver.java
>  PRE-CREATION 
>   lens-api/src/main/java/org/apache/lens/api/response/LensResponse.java 
> PRE-CREATION 
>   lens-api/src/main/java/org/apache/lens/api/response/NoErrorPayload.java 
> PRE-CREATION 
>   
> lens-api/src/main/java/org/apache/lens/api/response/NoSuccessResponseData.java
>  PRE-CREATION 
>   lens-client/src/main/java/org/apache/lens/client/LensStatement.java 
> b19ccd1ea526ac5ac5ae05144d00b04adfb4925c 
>   lens-cube/pom.xml 2723e3f251f21995a716b94f17d717545b669d53 
>   
> lens-cube/src/main/java/org/apache/lens/cube/error/ColUnAvailableInTimeRange.java
>  PRE-CREATION 
>   
> lens-cube/src/main/java/org/apache/lens/cube/error/ColUnAvailableInTimeRangeException.java
>  PRE-CREATION 
>   lens-cube/src/main/java/org/apache/lens/cube/error/LensCubeErrorCode.java 
> PRE-CREATION 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeColumn.java 
> 3618733b2dddc0d1d84a152a65ab7a630a224317 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/ContextRewriter.java 
> 6be08bdc89a35f651fe0cb491ea1a82a113a7749 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryRewriter.java 
> 24c6ab18a61e0dba8dc3a7218c34a1a0532053e7 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/HQLParser.java 
> 25e635317caa92b7118a887967b5fe85b86b3d43 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java 
> c73b7ffae47834eb6e0d84f56df7de8400641745 
>   lens-cube/src/main/java/org/apache/lens/driver/cube/RewriteUtil.java 
> 04be157ad9940111ae0ec65740fb09ecfb80023f 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 
> 517fe7b5c49dd538b90e123c8e03bacc304aa629 
>   
> lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java 
> 71f328f79bb4fda179947bae6759ddc93c0f43ee 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java 
> b85f60e7a4bc724ad5328e64138c217ca3d58ab7 
>   
> lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
>  c9972e23419a00fb5729b854b8feea9b44b125a3 
>   
> lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java
>  aa57c7d5a178c2e5eea4642403c66b36d5ddc68c 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java 
> cb078e3e71e20298cfd0b5f2d8715dcd6150a14b 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryRewrite.java 
> c4449dae8367b8ef71691c034dff9dcabb466d9c 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java 
> 544f4a099334795749410db934d00d9fde6bcaf2 
>   
> lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeExtractor.java
>  f19221b0548196b3a88dd0451ed24035696e6e35 
>   lens-cube/src/test/java/org/apache/lens/driver/cube/TestRewriting.java 
> c64a270448800b296a5520fba4bd9de4baf6a6d1 
>   lens-dist/src/main/assembly/bin-dist.xml 
> b7b74d5c71394e26f6ad0b27504e9d230cd3c4a6 
>   lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java 
> 39617dfb5a8febcc500d5849d5f277725dae297f 
>   
> lens-server-api/src/main/java/org/apache/lens/server/api/query/AbstractQueryContext.java
>  225eb56d4770e60e680beee32dc0997d7a1c94f7 
>   lens-server/conf/lens-errors.conf PRE-CREATION 
>   lens-server/pom.xml d7752d75a2c31683c9471f65e89ad8cd1e264995 
>   lens-server/src/main/java/org/apache/lens/server/LensServer.java 
> 2f83fe1c46821fb8844ea405680da6a104ba75d6 
>   lens-server/src/main/java/org/apache/lens/server/LensServices.java 
> f6cb365dc35c016fca2edb3cf70b70448c993cf3 
>   
> lens-server/src/main/java/org/apache/lens/server/error/LensExceptionMapper.java
>  PRE-CREATION 
>   
> lens-server/src/main/java/org/apache/lens/server/error/LensServerErrorCode.java
>  PRE-CREATION 
>   
> lens-server/src/main/java/org/apache/lens/server/error/UnSupportedQuerySubmitOpException.java
>  PRE-CREATION 
>   
> lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
>  cd1fbd8a6cd0723597c43a0df9b60a9a39de71bf 
>   
> lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java
>  4b914f28170089e9a6af7f915d3b16f6d6d15a3d 
>   
> lens-server/src/main/java/org/apache/lens/server/query/SupportedQuerySubmitOperations.java
>  PRE-CREATION 
>   lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java 
> 5658d47237a6f6a84f741b23d45231d85b89a016 
>   lens-server/src/test/java/org/apache/lens/server/TestServerMode.java 
> 86bec3ac6874e9166afe7f32f177c9a52150fbe1 
>   lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java 
> b634701380b00890a9c32c4cfe21082b273f3906 
>   
> lens-server/src/test/java/org/apache/lens/server/common/ErrorResponseExpectedData.java
>  PRE-CREATION 
>   
> lens-server/src/test/java/org/apache/lens/server/common/FormDataMultiPartFactory.java
>  PRE-CREATION 
>   
> lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java 
> PRE-CREATION 
>   lens-server/src/test/java/org/apache/lens/server/common/TestDataUtils.java 
> PRE-CREATION 
>   
> lens-server/src/test/java/org/apache/lens/server/common/TestResourceFile.java 
> 1ea53af44f9347eeee447e18a9b4192b6ddfdba5 
>   
> lens-server/src/test/java/org/apache/lens/server/metrics/TestResourceMethodMetrics.java
>  973dd73eef7b65c6c2942b9a8bf56560b20fb9e5 
>   
> lens-server/src/test/java/org/apache/lens/server/query/QueryAPIErrorResponseTest.java
>  PRE-CREATION 
>   
> lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java
>  ca1b10bd707c84516fb10305f654a0014a1197cc 
>   
> lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java 
> ed4749f0dd1de6c52b9d3fba98180aa9da3bcff6 
>   
> lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java
>  e18a90f88c5ac8dbea17aeba7e4ca95c2a5699b9 
>   
> lens-server/src/test/java/org/apache/lens/server/session/TestSessionResource.java
>  00df104deb15b547446dfae78c286a9b207da863 
>   lens-server/src/test/resources/log4j.properties PRE-CREATION 
>   pom.xml d05e55a60f0d3702d7a72b29ba429e05ad5d1714 
> 
> Diff: https://reviews.apache.org/r/33213/diff/
> 
> 
> Testing
> -------
> 
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [4.629s]
> [INFO] Lens .............................................. SUCCESS [5.436s]
> [INFO] Lens API .......................................... SUCCESS [9.053s]
> [INFO] Lens API for server and extensions ................ SUCCESS [9.583s]
> [INFO] Lens Cube ......................................... SUCCESS [2:50.522s]
> [INFO] Lens DB storage ................................... SUCCESS [17.363s]
> [INFO] Lens Query Library ................................ SUCCESS [6.416s]
> [INFO] Lens Hive Driver .................................. SUCCESS [3:12.563s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [26.651s]
> [INFO] Lens Server ....................................... SUCCESS 
> [31:53.796s]
> [INFO] Lens client ....................................... SUCCESS [47.945s]
> [INFO] Lens CLI .......................................... SUCCESS [4:55.887s]
> [INFO] Lens Examples ..................................... SUCCESS [1.925s]
> [INFO] Lens Distribution ................................. SUCCESS [14.510s]
> [INFO] Lens ML Lib ....................................... SUCCESS [3:14.719s]
> [INFO] Lens ML Ext Distribution .......................... SUCCESS [29.213s]
> [INFO] Lens Regression ................................... SUCCESS [0.611s]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 49:01.723s
> [INFO] Finished at: Wed Apr 15 14:44:37 IST 2015
> [INFO] Final Memory: 101M/346M
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Himanshu Gahlaut
> 
>

Reply via email to