[jira] [Created] (KYLIN-4331) Follow compliant rules in Sonar

2020-01-08 Thread Kaige Liu (Jira)
 Kaige Liu created KYLIN-4331:
-

 Summary: Follow compliant rules in Sonar
 Key: KYLIN-4331
 URL: https://issues.apache.org/jira/browse/KYLIN-4331
 Project: Kylin
  Issue Type: Improvement
Reporter:  Kaige Liu
Assignee:  Kaige Liu


When a method in a child class has the same signature as a method in a parent 
class, it is assumed to be an override. However, that's not the case when:
 * the parent class method is {{static}} and the child class method is not.
 * the arguments or return types of the child method are in different packages 
than those of the parent method.
 * the parent class method is {{private}}.

Typically, these things are done unintentionally; the private parent class 
method is overlooked, the {{static}} keyword in the parent declaration is 
overlooked, or the wrong class is imported in the child. But if the intent is 
truly for the child class method to be different, then the method should be 
renamed to prevent confusion.

 

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWP9sMDe3e-qcckjAB5V=AWP9sMDe3e-qcckjAB5V]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWcaThjuH5xombRgErVV=AWcaThjuH5xombRgErVV]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWxmA253_Xcr_PhA6-Br=AWxmA253_Xcr_PhA6-Br]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWxmA253_Xcr_PhA6-Bw=AWxmA253_Xcr_PhA6-Bw]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWxmA253_Xcr_PhA6-By=AWxmA253_Xcr_PhA6-By]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWxmA253_Xcr_PhA6-B1=AWxmA253_Xcr_PhA6-B1]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KYLIN-4311) Fix bugs in Sonar to be compliant

2019-12-20 Thread Kaige Liu (Jira)
 Kaige Liu created KYLIN-4311:
-

 Summary: Fix bugs in Sonar to be compliant
 Key: KYLIN-4311
 URL: https://issues.apache.org/jira/browse/KYLIN-4311
 Project: Kylin
  Issue Type: Improvement
Reporter:  Kaige Liu
Assignee:  Kaige Liu


By contract, any implementation of the {{java.util.Iterator.next()}} method 
should throw a {{NoSuchElementException}} exception when the iteration has no 
more elements. Any other behavior when the iteration is done could lead to 
unexpected behavior for users of this {{Iterator}}.

 

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWExwNw9ikuHJGLsvan_=AWExwNw9ikuHJGLsvan_]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWExwNxOikuHJGLsvaoZ=AWExwNxOikuHJGLsvaoZ]

[https://sonarcloud.io/project/issues?id=org.apache.kylin%3Akylin=AWExwOHQikuHJGLsvbDO=AWExwOHQikuHJGLsvbDO]

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KYLIN-3344) Add GUI to support RDBMS data source

2018-04-19 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-3344:
-

 Summary: Add GUI to support RDBMS data source
 Key: KYLIN-3344
 URL: https://issues.apache.org/jira/browse/KYLIN-3344
 Project: Kylin
  Issue Type: Bug
  Components: Web 
Reporter:  Kaige Liu
Assignee: Zhixiong Chen


Since Kylin has already supported RDBMS as data source, it should add web GUI 
to load RDBMS tables.



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


[jira] [Created] (KYLIN-3196) Replace StringUtils.containsOnly with Regex

2018-01-25 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-3196:
-

 Summary: Replace StringUtils.containsOnly with Regex
 Key: KYLIN-3196
 URL: https://issues.apache.org/jira/browse/KYLIN-3196
 Project: Kylin
  Issue Type: Bug
  Components: REST Service
Reporter:  Kaige Liu
Assignee:  Kaige Liu
 Fix For: v2.3.0


Notice that we use StringUtils.contains to validate project/cube/model names. 
It's not high efficiency and elegant.

 

I did a small test:
{code:java}
public class TempTest {
Pattern r = Pattern.compile("^[a-zA-Z0-9_]*$");
@Test
public void test() {
final char[] VALID_MODELNAME = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_".toCharArray();
String s1 = "abc@";
System.out.println("Call StringUtils.containsOnly 100 times");
long start = System.nanoTime();
for(int i =0; i<100; ++i) {
StringUtils.containsOnly(s1);
}
long end = System.nanoTime();
System.out.println(end - start);

System.out.println("Call Regex match 100 times");
start = System.nanoTime();
for(int i =0; i<100; ++i) {
containsByRegex(s1);
}
end = System.nanoTime();
System.out.println(end - start);

}

private boolean containsByRegex(final String s) {
Matcher matcher = r.matcher(s);
return matcher.find();
}
}{code}
The result shows:
{code:java}
Call StringUtils.containsOnly 100 times
4740997
Call Regex match 100 times
753182
{code}
 

Conclusion:

Regex is better than StringUtils.containsOnly



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


[jira] [Created] (KYLIN-3193) Prevent users cloning models across projects

2018-01-23 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-3193:
-

 Summary: Prevent users cloning models across projects
 Key: KYLIN-3193
 URL: https://issues.apache.org/jira/browse/KYLIN-3193
 Project: Kylin
  Issue Type: Bug
Affects Versions: v2.2.0
Reporter:  Kaige Liu
Assignee:  Kaige Liu
 Fix For: v2.3.0


Nowadays, data sources and tables are separated by projects in Kylin. So 
cloning models across projects will leads to tables not found. Should prevent 
users performing the action.



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


[jira] [Created] (KYLIN-3146) Response code and exception should be standardised for cube checking

2018-01-02 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-3146:
-

 Summary: Response code and exception should be standardised for 
cube checking   
 Key: KYLIN-3146
 URL: https://issues.apache.org/jira/browse/KYLIN-3146
 Project: Kylin
  Issue Type: Improvement
Reporter:  Kaige Liu
Assignee:  Kaige Liu
Priority: Minor


Checking if cubes exist or not is a common behaviour in some APIs. But we have 
lots of different responses for the same behaviour.
Let's take CubeController as an example. When can not find a cube with its 
name, someone gives a *400* as response code, someone returns *404*, and others 
send back a *500*. Not only HTTP response code is not standard, which kind of 
exception should be thrown is not unified as well. Still using the above 
example, we can find *IllegalArgumentException*, *BadRequestException*, 
*InternalErrorException*.





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (KYLIN-3147) Response code and exception should be standardised for cube checking

2018-01-02 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-3147:
-

 Summary: Response code and exception should be standardised for 
cube checking   
 Key: KYLIN-3147
 URL: https://issues.apache.org/jira/browse/KYLIN-3147
 Project: Kylin
  Issue Type: Improvement
Reporter:  Kaige Liu
Assignee:  Kaige Liu
Priority: Minor


Checking if cubes exist or not is a common behaviour in some APIs. But we have 
lots of different responses for the same behaviour.
Let's take CubeController as an example. When can not find a cube with its 
name, someone gives a *400* as response code, someone returns *404*, and others 
send back a *500*. Not only HTTP response code is not standard, which kind of 
exception should be thrown is not unified as well. Still using the above 
example, we can find *IllegalArgumentException*, *BadRequestException*, 
*InternalErrorException*.





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (KYLIN-3044) Support SQL Server as data source

2017-11-16 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-3044:
-

 Summary: Support SQL Server as data source
 Key: KYLIN-3044
 URL: https://issues.apache.org/jira/browse/KYLIN-3044
 Project: Kylin
  Issue Type: Task
Reporter:  Kaige Liu
Assignee:  Kaige Liu


[KYLIN-1351|https://issues.apache.org/jira/browse/KYLIN-1351] has added Vertica 
as data source. Base on the work of KYLIN-1351, I'd like to enable SQL Server 
as data source of kylin.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (KYLIN-2747) Fail to start kylin if current work directory contains file or directory named "hadoop"

2017-07-19 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2747:
-

 Summary: Fail to start kylin if current work directory contains 
file or directory named "hadoop"
 Key: KYLIN-2747
 URL: https://issues.apache.org/jira/browse/KYLIN-2747
 Project: Kylin
  Issue Type: Bug
Reporter:  Kaige Liu


OS: ubuntu 14.04
Reproduce steps:
1. touch hadoop
2. bin/kylin.sh start

root@hn0-ambari:~/kap-2.4.0-GA-hbase1.x# touch hadoop
root@hn0-ambari:~/kap-2.4.0-GA-hbase1.x# bin/kylin.sh start
Retrieving hive dependency...
Retrieving Spark dependency...
Retrieving hbase dependency...
Exception in thread "main" java.io.FileNotFoundException: 
/tmp/kylin-env-diff-7420732488608534086.sh.props (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at 
io.kyligence.kap.engine.mr.tool.DumpHadoopSystemProps.readAndDelete(SourceFile:131)
at 
io.kyligence.kap.engine.mr.tool.DumpHadoopSystemProps.diffSystemProps(SourceFile:109)
at 
io.kyligence.kap.engine.mr.tool.DumpHadoopSystemProps.main(SourceFile:69)
Faild to run io.kyligence.kap.engine.mr.tool.DumpHadoopSystemProps



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (KYLIN-2449) Rewrite should not run on OLAPAggregateRel if has no OLAPTable

2017-02-14 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2449:
-

 Summary: Rewrite should not run on OLAPAggregateRel if has no 
OLAPTable
 Key: KYLIN-2449
 URL: https://issues.apache.org/jira/browse/KYLIN-2449
 Project: Kylin
  Issue Type: Bug
Reporter:  Kaige Liu
Assignee:  Kaige Liu


If a OLAPAggregateRel's context does not contain any OLAPTable, it's no need to 
rewrite column. Otherwise a NPE will be threw, for example:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.kylin.query.relnode.OLAPAggregateRel.buildRewriteColumn(OLAPAggregateRel.java:217)
at 
org.apache.kylin.query.relnode.OLAPAggregateRel.buildRewriteFieldsAndMetricsColumns(OLAPAggregateRel.java:340)
at 
org.apache.kylin.query.relnode.OLAPAggregateRel.implementRewrite(OLAPAggregateRel.java:259)
at 
org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:158)
at 
org.apache.kylin.query.relnode.OLAPSortRel.implementRewrite(OLAPSortRel.java:83)
at 
org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:158)
at 
org.apache.kylin.query.relnode.OLAPLimitRel.implementRewrite(OLAPLimitRel.java:105)
at 
org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:158)
at 
org.apache.kylin.query.relnode.OLAPToEnumerableConverter.implement(OLAPToEnumerableConverter.java:94)
at 
org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:108)
at 
org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92)
at 
org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1233)
at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:303)
at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:200)
at 
org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:761)
at 
org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:617)
at 
org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:587)
at 
org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:215)
at 
org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:594)
at 
org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:615)
at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:148)
... 35 more
{code}

Test case:
{code}
SELECT
t1.leaf_categ_id, COUNT(*) AS nums
FROM
(SELECT
leaf_categ_id
FROM
test_kylin_fact
WHERE
lstg_format_name = 'ABIN') t1
JOIN
(SELECT
leaf_categ_id
FROM
test_kylin_fact f
INNER JOIN test_order o ON f.order_id = o.order_id
WHERE
buyer_id > 100) t2 ON t1.leaf_categ_id = t2.leaf_categ_id
GROUP BY t1.leaf_categ_id
ORDER BY t1.leaf_categ_id
LIMIT 10
{code}





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (KYLIN-2427) Auto adjust join order to make query executable

2017-02-06 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2427:
-

 Summary: Auto adjust join order to make query executable
 Key: KYLIN-2427
 URL: https://issues.apache.org/jira/browse/KYLIN-2427
 Project: Kylin
  Issue Type: Bug
Reporter:  Kaige Liu


KYLIN-2406 reports an issue: The order of joins will affect the result of 
query. For example, below query leads to "No model found"
Below query triggers NPE

{code}
with tmp3 as (
select l_partkey, 0.5 * sum(l_quantity) as sum_quantity, l_suppkey
from v_lineitem
inner join supplier on l_suppkey = s_suppkey
inner join nation on s_nationkey = n_nationkey
inner join part on l_partkey = p_partkey
where l_shipdate >= '1992-01-01' and l_shipdate <= '1995-01-01'
and n_name = 'CANADA'
and p_name like 'forest%'
group by l_partkey, l_suppkey
)

select
s_name,
s_address
from
v_partsupp
inner join tmp3 on ps_partkey = l_partkey and ps_suppkey = l_suppkey
inner join supplier on ps_suppkey = s_suppkey
where
ps_availqty > sum_quantity
group by
s_name, s_address
order by
s_name
{code}

While below query is OK. Only difference being the order of "inner join tmp3" 
and "inner join supplier"

{code}
with tmp3 as (
select l_partkey, 0.5 * sum(l_quantity) as sum_quantity, l_suppkey
from v_lineitem
inner join supplier on l_suppkey = s_suppkey
inner join nation on s_nationkey = n_nationkey
inner join part on l_partkey = p_partkey
where l_shipdate >= '1992-01-01' and l_shipdate <= '1995-01-01'
and n_name = 'CANADA'
and p_name like 'forest%'
group by l_partkey, l_suppkey
)

select
s_name,
s_address
from
v_partsupp
inner join supplier on ps_suppkey = s_suppkey
inner join tmp3 on ps_partkey = l_partkey and ps_suppkey = l_suppkey
where
ps_availqty > sum_quantity
group by
s_name, s_address
order by
s_name
{code}

But below query is OK.
{code}
with tmp3 as (
select l_partkey, 0.5 * sum(l_quantity) as sum_quantity, l_suppkey
from v_lineitem
inner join supplier on l_suppkey = s_suppkey
inner join nation on s_nationkey = n_nationkey
inner join part on l_partkey = p_partkey
where l_shipdate >= '1992-01-01' and l_shipdate <= '1995-01-01'
and n_name = 'CANADA'
and p_name like 'forest%'
group by l_partkey, l_suppkey
)

select
s_name,
s_address
from
v_partsupp
inner join supplier on ps_suppkey = s_suppkey
inner join tmp3 on ps_partkey = l_partkey and ps_suppkey = l_suppkey
where
ps_availqty > sum_quantity
group by
s_name, s_address
order by
s_name
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (KYLIN-2426) Tests will fail if env not satisfy hardcoded path in ITHDFSResourceStoreTest

2017-02-05 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2426:
-

 Summary: Tests will fail if env not satisfy hardcoded path in 
ITHDFSResourceStoreTest
 Key: KYLIN-2426
 URL: https://issues.apache.org/jira/browse/KYLIN-2426
 Project: Kylin
  Issue Type: Bug
Reporter:  Kaige Liu


There are some hardcodes in ITHDFSResourcesStoreTest which will fail if we are 
not running IT in a sandbox.
{code}
public void testFullQalifiedName() throws Exception {
String oldUrl = kylinConfig.getMetadataUrl();
String path = 
"hdfs://sandbox.hortonworks.com:8020/kylin/kylin_metadata/metadata_test2";
kylinConfig.setProperty("kylin.metadata.url", path + "@hdfs");
HDFSResourceStore store = new HDFSResourceStore(kylinConfig);
ResourceStoreTest.testAStore(store);
kylinConfig.setProperty("kylin.metadata.url", oldUrl);
assertTrue(fs.exists(new Path(path)));
}
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (KYLIN-2395) Lots of warning messages about failing to scan jars in kylin.out

2017-01-15 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2395:
-

 Summary: Lots of warning messages about failing to scan jars in 
kylin.out
 Key: KYLIN-2395
 URL: https://issues.apache.org/jira/browse/KYLIN-2395
 Project: Kylin
  Issue Type: Bug
Reporter:  Kaige Liu


When starting kylin, tomcat will scan jars under classpath by default. It's 
trivial and annoying. I thinks it's better to disable scanning jars.


Jan 16, 2017 3:49:08 AM org.apache.tomcat.util.scan.StandardJarScanner scan
WARNING: Failed to scan [file:/usr/hdp/2.2.4.2-2/phoenix/hsqldb-1.8.0.10.jar] 
from classloader hierarchy
java.io.FileNotFoundException: /usr/hdp/2.2.4.2-2/phoenix/hsqldb-1.8.0.10.jar 
(No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:215)
at java.util.zip.ZipFile.(ZipFile.java:145)
at java.util.jar.JarFile.(JarFile.java:154)
at java.util.jar.JarFile.(JarFile.java:118)
at 
org.apache.tomcat.util.scan.JarFileUrlJar.(JarFileUrlJar.java:60)
at 
org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:48)
at 
org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
at 
org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
at 
org.apache.catalina.startup.ContextConfig.processJarsForWebFragments(ContextConfig.java:1898)
at 
org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1126)
at 
org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)
at 
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
at 
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

Jan 16, 2017 3:49:08 AM org.apache.tomcat.util.scan.StandardJarScanner scan
WARNING: Failed to scan [file:/usr/hdp/2.2.4.2-2/phoenix/automaton-1.11-8.jar] 
from classloader hierarchy
java.io.FileNotFoundException: /usr/hdp/2.2.4.2-2/phoenix/automaton-1.11-8.jar 
(No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:215)
at java.util.zip.ZipFile.(ZipFile.java:145)
at java.util.jar.JarFile.(JarFile.java:154)
at java.util.jar.JarFile.(JarFile.java:118)
at 
org.apache.tomcat.util.scan.JarFileUrlJar.(JarFileUrlJar.java:60)
at 
org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:48)
at 
org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
at 
org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
at 
org.apache.catalina.startup.ContextConfig.processJarsForWebFragments(ContextConfig.java:1898)
at 
org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1126)
at 
org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)
at 
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (KYLIN-2376) Upgrade checkstyle plugin

2017-01-10 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2376:
-

 Summary: Upgrade checkstyle plugin
 Key: KYLIN-2376
 URL: https://issues.apache.org/jira/browse/KYLIN-2376
 Project: Kylin
  Issue Type: Bug
Reporter:  Kaige Liu
Assignee:  Kaige Liu


By default maven-checkstyle-plugin use checkstyle-6.12 which will cause a NPE 
in some cases. We'd better upgrade it to avoid this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (KYLIN-2301) ERROR when executing query with subquery in "NOT IN" clause.

2016-12-19 Thread Kaige Liu (JIRA)
 Kaige Liu created KYLIN-2301:
-

 Summary: ERROR when executing query with subquery in "NOT IN" 
clause.
 Key: KYLIN-2301
 URL: https://issues.apache.org/jira/browse/KYLIN-2301
 Project: Kylin
  Issue Type: Bug
  Components: Query Engine
Affects Versions: v1.6.0
 Environment: CentOS 6.5
Reporter:  Kaige Liu
Assignee: liyang
Priority: Minor


Error returned when executing below query:
select * from v_partsupp where
ps_suppkey not in (
select
s_suppkey
from
supplier
where
s_comment like '%Customer%Complaints%'
  )

v_partsupp is a fact table and supplier is a lookup table here.

===
StackTrace:
Caused by: java.lang.ClassCastException: org.apache.calcite.rex.RexLiteral 
cannot be cast to org.apache.calcite.rex.RexCall
at 
org.apache.kylin.query.relnode.OLAPJoinRel.implementOLAP(OLAPJoinRel.java:167)
at 
org.apache.kylin.query.relnode.OLAPRel$OLAPImplementor.visitChild(OLAPRel.java:83)
at 
org.apache.kylin.query.relnode.OLAPJoinRel.implementOLAP(OLAPJoinRel.java:126)
at 
org.apache.kylin.query.relnode.OLAPRel$OLAPImplementor.visitChild(OLAPRel.java:83)
at 
org.apache.kylin.query.relnode.OLAPFilterRel.implementOLAP(OLAPFilterRel.java:300)
at 
org.apache.kylin.query.relnode.OLAPRel$OLAPImplementor.visitChild(OLAPRel.java:83)
at 
org.apache.kylin.query.relnode.OLAPLimitRel.implementOLAP(OLAPLimitRel.java:75)
at 
org.apache.kylin.query.relnode.OLAPRel$OLAPImplementor.visitChild(OLAPRel.java:83)
at 
org.apache.kylin.query.relnode.OLAPProjectRel.implementOLAP(OLAPProjectRel.java:111)
at 
org.apache.kylin.query.relnode.OLAPRel$OLAPImplementor.visitChild(OLAPRel.java:83)
at 
org.apache.kylin.query.relnode.OLAPToEnumerableConverter.implement(OLAPToEnumerableConverter.java:80)
at 
org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:102)
at 
org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92)
at 
org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1178)
at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:294)
at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:193)
at 
org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:724)
at 
org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:591)
at 
org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:561)
at 
org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:215)
at 
org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:594)
at 
org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:613)
at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:139)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)