GitHub user ravipesala opened a pull request: https://github.com/apache/carbondata/pull/2616
[HOTFIX]Fixed int overflow and comparison gone wrong during blocklet min/max Problem: During calculating min/max for blocklet, it needs to calculate from all the pages. During that comparison, it is typecasting to int and overflows, so there is a chance the negative becomes positive and positive become negative. That's why min max of long comes wrong for bigger values. Solution: Don't typecast directly, instead check first the negative or positive and then return. Be sure to do all of the following checklist to help us incorporate your contribution quickly and easily: - [ ] Any interfaces changed? - [ ] Any backward compatibility impacted? - [ ] Document update required? - [ ] Testing done Please provide details on - Whether new unit test cases have been added or why no new tests are required? - How it is tested? Please attach test report. - Is it a performance related change? Please attach the performance test report. - Any additional information to help reviewers in testing this change. - [ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ravipesala/incubator-carbondata blocklet-min-max-issue Alternatively you can review and apply these changes as the patch at: https://github.com/apache/carbondata/pull/2616.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2616 ---- commit a99d0516ee06a285f8be3880d7005bf161f1c940 Author: ravipesala <ravi.pesala@...> Date: 2018-08-07T15:49:36Z Fixed int overflow and comparasion gone wrong during blocklet min/max ---- ---