[jira] [Updated] (KYLIN-3203) Upgrade Jacoco release

2018-07-30 Thread Ted Yu (JIRA)


 [ 
https://issues.apache.org/jira/browse/KYLIN-3203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated KYLIN-3203:
--
Description: 
Jacoco is actively maintained by the community.

Here is the latest release:
https://github.com/jacoco/jacoco/releases/tag/v0.8.1

We should upgrade to 0.8.1 release

  was:
Jacoco is actively maintained by the community.


Here is the latest release:
https://github.com/jacoco/jacoco/releases/tag/v0.8.1

We should upgrade to 0.8.1 release


> Upgrade Jacoco release
> --
>
> Key: KYLIN-3203
> URL: https://issues.apache.org/jira/browse/KYLIN-3203
> Project: Kylin
>  Issue Type: Test
>  Components: Tools, Build and Test
>Reporter: Ted Yu
>Assignee: nichunen
>Priority: Minor
> Fix For: v2.5.0
>
>
> Jacoco is actively maintained by the community.
> Here is the latest release:
> https://github.com/jacoco/jacoco/releases/tag/v0.8.1
> We should upgrade to 0.8.1 release



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (KYLIN-3290) Avoid calling Class#newInstance

2018-07-30 Thread Ted Yu (JIRA)


 [ 
https://issues.apache.org/jira/browse/KYLIN-3290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated KYLIN-3290:
--
Labels: jdk  (was: )

> Avoid calling Class#newInstance
> ---
>
> Key: KYLIN-3290
> URL: https://issues.apache.org/jira/browse/KYLIN-3290
> Project: Kylin
>  Issue Type: Task
>Reporter: Ted Yu
>Assignee: jiatao.tao
>Priority: Minor
>  Labels: jdk
> Fix For: v2.5.0
>
>
> Class#newInstance is deprecated starting in Java 9 - 
> https://bugs.openjdk.java.net/browse/JDK-6850612 - because it may throw 
> undeclared checked exceptions.
> The suggested replacement is getDeclaredConstructor().newInstance(), which 
> wraps the checked exceptions in InvocationException.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KYLIN-3475) Make calcite case handling and quoting method more configurable.

2018-07-30 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/KYLIN-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16561767#comment-16561767
 ] 

ASF GitHub Bot commented on KYLIN-3475:
---

coveralls commented on issue #180: feat(query): Make calcite connection is more 
configurable. #KYLIN-3475
URL: https://github.com/apache/kylin/pull/180#issuecomment-408825381
 
 
   ## Pull Request Test Coverage Report for [Build 
3368](https://coveralls.io/builds/18225439)
   
   * **4** of **5**   **(80.0%)**  changed or added relevant lines in **2** 
files are covered.
   * No unchanged relevant lines lost coverage.
   * Overall coverage increased (+**0.2%**) to **24.726%**
   
   ---
   
   |  Changes Missing Coverage | Covered Lines | Changed/Added Lines | % |
   | :-|--||---: |
   | 
[core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java](https://coveralls.io/builds/18225439/source?filename=core-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fkylin%2Fcommon%2FKylinConfigBase.java#L1239)
 | 3 | 4 | 75.0%
   
   
   
   |  Totals | [![Coverage 
Status](https://coveralls.io/builds/18225439/badge)](https://coveralls.io/builds/18225439)
 |
   | :-- | --: |
   | Change from base [Build 3367](https://coveralls.io/builds/18221018): |  
0.2% |
   | Covered Lines: | 15573 |
   | Relevant Lines: | 62983 |
   
   ---
   #   - [Coveralls](https://coveralls.io)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Make calcite case handling and quoting method more configurable.
> 
>
> Key: KYLIN-3475
> URL: https://issues.apache.org/jira/browse/KYLIN-3475
> Project: Kylin
>  Issue Type: Improvement
>  Components: Query Engine
>Reporter: Ian Hu
>Priority: Major
>
> >> Do you know whether Calcite supports that? If Calcite already supports it 
> >> with some parameter, Kylin can expose that as a configuration. Yes, 
> >> Calcite support to customize some sql handle feature by connection 
> >> properties. We can customize it by provide an Properties when use jdbc's 
> >> DriverManager.getConnection(url, extraProperties). Here is my commit (with 
> >> UT) to achieve this 
> >> [https://github.com/ian4hu/kylin/commit/88ee638fb4c8b55b089294107ad361ec3fc6dae9]
> >>   For short lookup see QueryConnection.getConnection(project)@ 
> >> [https://github.com/apache/kylin/blob/25b300c1f654561e561565ebf35c4e0e93ae0a04/query/src/main/java/org/apache/kylin/query/QueryConnection.java#L51]
> >>   the key is the info variable.
>  
> Background (from mailing list 
> [http://mail-archives.apache.org/mod_mbox/kylin-dev//201807.mbox/%3C4247fe2a.634d.164e995a707.Coremail.hu2008yinxiang%40163.com%3E]
>  ):
> We use kylin in our BI system as a sub-query engine. we met some problems in 
> our use case like bellow.
>  # Our visual design tool use source table schema as metadata, and the source 
> table column is lower case or mixed case, and visual tool generate SQL for 
> kylin query.
>  # Kylin execute sql and return result
>  # we use a parser to parse result and assembly it to entities (like ORM 
> engine did)
> but the problem is that kylin now always casting the column to UPPER case, 
> that break our parser and whe can not change that behavior by configure 
> kylin. like "select 1 as value_ALIAS" we always get the column named 
> "VALUE_ALIAS" instead of "value_ALIAS" from Kylin.
>  
> although we can use 'select 1 as "value_ALIAS"' (with double-qouted alias) 
> and it will be better if we can configure the quoting method.
>  
> I would like contribute features to make the query engine is more flexible
>  # First of all, make the case handling and quoting method is configurable by 
> kylin.properties, that a global configuration.
>  # Second make case handling and quoting method available by JDBC connection 
> url parameters or connection properties by 
> DriverManager.getConnection(url-with-parameters, extra-properties)
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KYLIN-3475) Make calcite case handling and quoting method more configurable.

2018-07-30 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/KYLIN-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16561749#comment-16561749
 ] 

ASF GitHub Bot commented on KYLIN-3475:
---

ian4hu opened a new pull request #180: feat(query): Make calcite connection is 
more configurable. #KYLIN-3475
URL: https://github.com/apache/kylin/pull/180
 
 
   reported by https://issues.apache.org/jira/browse/KYLIN-3475


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Make calcite case handling and quoting method more configurable.
> 
>
> Key: KYLIN-3475
> URL: https://issues.apache.org/jira/browse/KYLIN-3475
> Project: Kylin
>  Issue Type: Improvement
>  Components: Query Engine
>Reporter: Ian Hu
>Priority: Major
>
> >> Do you know whether Calcite supports that? If Calcite already supports it 
> >> with some parameter, Kylin can expose that as a configuration. Yes, 
> >> Calcite support to customize some sql handle feature by connection 
> >> properties. We can customize it by provide an Properties when use jdbc's 
> >> DriverManager.getConnection(url, extraProperties). Here is my commit (with 
> >> UT) to achieve this 
> >> [https://github.com/ian4hu/kylin/commit/88ee638fb4c8b55b089294107ad361ec3fc6dae9]
> >>   For short lookup see QueryConnection.getConnection(project)@ 
> >> [https://github.com/apache/kylin/blob/25b300c1f654561e561565ebf35c4e0e93ae0a04/query/src/main/java/org/apache/kylin/query/QueryConnection.java#L51]
> >>   the key is the info variable.
>  
> Background (from mailing list 
> [http://mail-archives.apache.org/mod_mbox/kylin-dev//201807.mbox/%3C4247fe2a.634d.164e995a707.Coremail.hu2008yinxiang%40163.com%3E]
>  ):
> We use kylin in our BI system as a sub-query engine. we met some problems in 
> our use case like bellow.
>  # Our visual design tool use source table schema as metadata, and the source 
> table column is lower case or mixed case, and visual tool generate SQL for 
> kylin query.
>  # Kylin execute sql and return result
>  # we use a parser to parse result and assembly it to entities (like ORM 
> engine did)
> but the problem is that kylin now always casting the column to UPPER case, 
> that break our parser and whe can not change that behavior by configure 
> kylin. like "select 1 as value_ALIAS" we always get the column named 
> "VALUE_ALIAS" instead of "value_ALIAS" from Kylin.
>  
> although we can use 'select 1 as "value_ALIAS"' (with double-qouted alias) 
> and it will be better if we can configure the quoting method.
>  
> I would like contribute features to make the query engine is more flexible
>  # First of all, make the case handling and quoting method is configurable by 
> kylin.properties, that a global configuration.
>  # Second make case handling and quoting method available by JDBC connection 
> url parameters or connection properties by 
> DriverManager.getConnection(url-with-parameters, extra-properties)
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KYLIN-3475) Make calcite case handling and quoting method more configurable.

2018-07-30 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/KYLIN-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16561750#comment-16561750
 ] 

ASF GitHub Bot commented on KYLIN-3475:
---

asfgit commented on issue #180: feat(query): Make calcite connection is more 
configurable. #KYLIN-3475
URL: https://github.com/apache/kylin/pull/180#issuecomment-408818965
 
 
   Can one of the admins verify this patch?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Make calcite case handling and quoting method more configurable.
> 
>
> Key: KYLIN-3475
> URL: https://issues.apache.org/jira/browse/KYLIN-3475
> Project: Kylin
>  Issue Type: Improvement
>  Components: Query Engine
>Reporter: Ian Hu
>Priority: Major
>
> >> Do you know whether Calcite supports that? If Calcite already supports it 
> >> with some parameter, Kylin can expose that as a configuration. Yes, 
> >> Calcite support to customize some sql handle feature by connection 
> >> properties. We can customize it by provide an Properties when use jdbc's 
> >> DriverManager.getConnection(url, extraProperties). Here is my commit (with 
> >> UT) to achieve this 
> >> [https://github.com/ian4hu/kylin/commit/88ee638fb4c8b55b089294107ad361ec3fc6dae9]
> >>   For short lookup see QueryConnection.getConnection(project)@ 
> >> [https://github.com/apache/kylin/blob/25b300c1f654561e561565ebf35c4e0e93ae0a04/query/src/main/java/org/apache/kylin/query/QueryConnection.java#L51]
> >>   the key is the info variable.
>  
> Background (from mailing list 
> [http://mail-archives.apache.org/mod_mbox/kylin-dev//201807.mbox/%3C4247fe2a.634d.164e995a707.Coremail.hu2008yinxiang%40163.com%3E]
>  ):
> We use kylin in our BI system as a sub-query engine. we met some problems in 
> our use case like bellow.
>  # Our visual design tool use source table schema as metadata, and the source 
> table column is lower case or mixed case, and visual tool generate SQL for 
> kylin query.
>  # Kylin execute sql and return result
>  # we use a parser to parse result and assembly it to entities (like ORM 
> engine did)
> but the problem is that kylin now always casting the column to UPPER case, 
> that break our parser and whe can not change that behavior by configure 
> kylin. like "select 1 as value_ALIAS" we always get the column named 
> "VALUE_ALIAS" instead of "value_ALIAS" from Kylin.
>  
> although we can use 'select 1 as "value_ALIAS"' (with double-qouted alias) 
> and it will be better if we can configure the quoting method.
>  
> I would like contribute features to make the query engine is more flexible
>  # First of all, make the case handling and quoting method is configurable by 
> kylin.properties, that a global configuration.
>  # Second make case handling and quoting method available by JDBC connection 
> url parameters or connection properties by 
> DriverManager.getConnection(url-with-parameters, extra-properties)
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KYLIN-3475) Make calcite case handling and quoting method more configurable.

2018-07-30 Thread Ian Hu (JIRA)
Ian Hu created KYLIN-3475:
-

 Summary: Make calcite case handling and quoting method more 
configurable.
 Key: KYLIN-3475
 URL: https://issues.apache.org/jira/browse/KYLIN-3475
 Project: Kylin
  Issue Type: Improvement
  Components: Query Engine
Reporter: Ian Hu


>> Do you know whether Calcite supports that? If Calcite already supports it 
>> with some parameter, Kylin can expose that as a configuration. Yes, Calcite 
>> support to customize some sql handle feature by connection properties. We 
>> can customize it by provide an Properties when use jdbc's 
>> DriverManager.getConnection(url, extraProperties). Here is my commit (with 
>> UT) to achieve this 
>> [https://github.com/ian4hu/kylin/commit/88ee638fb4c8b55b089294107ad361ec3fc6dae9]
>>   For short lookup see QueryConnection.getConnection(project)@ 
>> [https://github.com/apache/kylin/blob/25b300c1f654561e561565ebf35c4e0e93ae0a04/query/src/main/java/org/apache/kylin/query/QueryConnection.java#L51]
>>   the key is the info variable.

 

Background (from mailing list 
[http://mail-archives.apache.org/mod_mbox/kylin-dev//201807.mbox/%3C4247fe2a.634d.164e995a707.Coremail.hu2008yinxiang%40163.com%3E]
 ):

We use kylin in our BI system as a sub-query engine. we met some problems in 
our use case like bellow.
 # Our visual design tool use source table schema as metadata, and the source 
table column is lower case or mixed case, and visual tool generate SQL for 
kylin query.
 # Kylin execute sql and return result
 # we use a parser to parse result and assembly it to entities (like ORM engine 
did)

but the problem is that kylin now always casting the column to UPPER case, that 
break our parser and whe can not change that behavior by configure kylin. like 
"select 1 as value_ALIAS" we always get the column named "VALUE_ALIAS" instead 
of "value_ALIAS" from Kylin.

 

although we can use 'select 1 as "value_ALIAS"' (with double-qouted alias) and 
it will be better if we can configure the quoting method.

 

I would like contribute features to make the query engine is more flexible
 # First of all, make the case handling and quoting method is configurable by 
kylin.properties, that a global configuration.
 # Second make case handling and quoting method available by JDBC connection 
url parameters or connection properties by 
DriverManager.getConnection(url-with-parameters, extra-properties)

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KYLIN-3474) get malformed token with Cluster Mode(multi-query)

2018-07-30 Thread Temple Zhou (JIRA)
Temple Zhou created KYLIN-3474:
--

 Summary: get malformed token with Cluster Mode(multi-query)
 Key: KYLIN-3474
 URL: https://issues.apache.org/jira/browse/KYLIN-3474
 Project: Kylin
  Issue Type: Bug
  Components: Query Engine, Security
Affects Versions: v2.4.0
Reporter: Temple Zhou


I found that when I use Tableau 10.5 with Kylin 2.4.0(multi-query) , the 
Tableau Server will get the malformed token error when do query via restful API.

However, when I use Tableau 10.5 with Kylin 2.4.0(single query instance), the 
error will be gone.

Now, I just annotate the following 
lines(org.apache.kylin.rest.security.KylinAuthenticationProvider 84-87) and the 
Tableau 10.5 can run regularly with Kylin 2.4.0(multi-query).

{code:java}
 @Override
public Authentication authenticate(Authentication authentication) throws 
AuthenticationException {

byte[] hashKey = hf.hashString(authentication.getName() + 
authentication.getCredentials()).asBytes();
String userKey = Arrays.toString(hashKey);

// if (userService.isEvictCacheFlag()) {
// userCache.invalidateAll();
// userService.setEvictCacheFlag(false);
// }
Authentication authed = userCache.getIfPresent(userKey);

if (null != authed) {
SecurityContextHolder.getContext().setAuthentication(authed);
} else {
{code}

I don't know if you tested the Kylin(multi-query) Cluster Mode with Tableau?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KYLIN-3460) {fn CURRENT_DATE()} parse error

2018-07-30 Thread Temple Zhou (JIRA)


[ 
https://issues.apache.org/jira/browse/KYLIN-3460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16561731#comment-16561731
 ] 

Temple Zhou commented on KYLIN-3460:


I found the issue had fixed with commit id 01df768

> {fn CURRENT_DATE()} parse error
> ---
>
> Key: KYLIN-3460
> URL: https://issues.apache.org/jira/browse/KYLIN-3460
> Project: Kylin
>  Issue Type: Bug
>  Components: Driver - ODBC, Query Engine
>Affects Versions: v2.3.0, v2.3.1, v2.4.0
>Reporter: Temple Zhou
>Assignee: Temple Zhou
>Priority: Major
> Fix For: v2.4.1, v2.5.0
>
>
> Dear all,
> I'm facing a very critical problem. When I use Tableau 10.5 with Kylin 2.1.0, 
> the Tableau Server will send many SQL with "{fn CURRENT_DATE()}"  via ODBC 
> Driver(2.1.0), and the Kylin Server 2.1.0 will parse the CURRENT_DATE() to 
> "2018-07-20 00:00:00"(the real current date). the logs are as below
> {noformat}
> Query Id: 14e7b152-6be0-4539-8fd0-c28bbffa6b25
> SQL: SELECT "APP_DAILY_ACTIVE_USER_PROPERTY_DI"."AV" AS "AV",
>COUNT(DISTINCT "APP_DAILY_ACTIVE_USER_PROPERTY_DI"."MC") AS 
> "usr_Calculation_267682710052360192_ok"
> FROM "ADL"."APP_DAILY_ACTIVE_USER_PROPERTY_DI" 
> "APP_DAILY_ACTIVE_USER_PROPERTY_DI"
> LEFT JOIN "DIM"."APP" "APP" ON ("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."AC" = 
> "APP"."ID")
> INNER JOIN "DIM"."CALENDAR" "CALENDAR" ON 
> ("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."ACTION_DT" = "CALENDAR"."CAL_DT")
> WHERE ((CAST("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."ACTION_DT" AS TIMESTAMP) >= 
> {ts '2018-06-20 00:00:00'})
>AND (CAST("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."ACTION_DT" AS 
> TIMESTAMP) < {ts '2018-07-20 00:00:00'})
>AND ("APP"."NAME" = 'xxx'))
> GROUP BY "APP_DAILY_ACTIVE_USER_PROPERTY_DI"."AV"
> User: ADMIN
> Success: true
> Duration: 0.06
> Project: app
> {noformat}
> However, recently, I upgrade my Kylin Server to 2.3.1 even 2.4.0, then there 
> are many Tableau reports get the same error due to the SQL contain {fn 
> CURRENT_DATE()}
> [Tableau Error 
> Image|https://ws3.sinaimg.cn/large/006tKfTcgy1ftfbzshgs1j30fc0g2dhi.jpg]
> Besides, I found that the logs(2.3.1&2.4.0) are different from the 
> logs(2.1.0), the logs(2.4.0) are as below
> {noformat}
> Query Id: b160f20c-84e4-4b81-bfe9-54ed22a723d6
> SQL: SELECT "APP_DAILY_ACTIVE_USER_PROPERTY_DI"."AV" AS "AV",
>COUNT(DISTINCT "APP_DAILY_ACTIVE_USER_PROPERTY_DI"."MC") AS 
> "usr_Calculation_267682710052360192_ok"
> FROM "ADL"."APP_DAILY_ACTIVE_USER_PROPERTY_DI" 
> "APP_DAILY_ACTIVE_USER_PROPERTY_DI"
> LEFT JOIN "DIM"."APP" "APP" ON ("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."AC" = 
> "APP"."ID")
> INNER JOIN "DIM"."CALENDAR" "CALENDAR" ON 
> ("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."ACTION_DT" = "CALENDAR"."CAL_DT")
> WHERE ((CAST("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."ACTION_DT" AS TIMESTAMP) >= 
> {fn TIMESTAMPADD(SQL_TSI_DAY,-29,{fn CURRENT_DATE()})})
>AND (CAST("APP_DAILY_ACTIVE_USER_PROPERTY_DI"."ACTION_DT" AS 
> TIMESTAMP) < {fn TIMESTAMPADD(SQL_TSI_DAY,1,{fn CURRENT_DATE()})})
>AND ("APP"."NAME" = 'xxx')
>AND ("APP"."PLATFORM" = 'Android'))
> GROUP BY "APP_DAILY_ACTIVE_USER_PROPERTY_DI"."AV"
> User: ADMIN
> Success: false
> Duration: 0.029
> Project: app
> {noformat}
> The problem that bothers me the most is that why the older version can parse 
> the "fn CURRENT_DATE()" but the newer can't. :( :( :(



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)