[
https://issues.apache.org/jira/browse/KYLIN-4305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17123373#comment-17123373
]
ASF GitHub Bot commented on KYLIN-4305:
---------------------------------------
codecov-commenter commented on pull request #1239:
URL: https://github.com/apache/kylin/pull/1239#issuecomment-637300033
# [Codecov](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=h1) Report
> Merging
[#1239](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=desc) into
[master](https://codecov.io/gh/apache/kylin/commit/ed7658d87104c9ab365062cbfed239341d33aa2b&el=desc)
will **decrease** coverage by `0.00%`.
> The diff coverage is `36.04%`.
[](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #1239 +/- ##
============================================
- Coverage 25.77% 25.76% -0.01%
- Complexity 6621 6624 +3
============================================
Files 1482 1482
Lines 90949 90999 +50
Branches 12687 12700 +13
============================================
+ Hits 23443 23447 +4
- Misses 65213 65251 +38
- Partials 2293 2301 +8
```
| [Impacted
Files](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=tree) | Coverage
Δ | Complexity Δ | |
|---|---|---|---|
|
[.../apache/kylin/rest/service/StreamingV2Service.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c2VydmVyLWJhc2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL3Jlc3Qvc2VydmljZS9TdHJlYW1pbmdWMlNlcnZpY2UuamF2YQ==)
| `0.00% <0.00%> (ø)` | `0.00 <0.00> (ø)` | |
|
[...storage/stream/rpc/HttpStreamDataSearchClient.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c3RvcmFnZS1zdHJlYW0vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL3N0b3JhZ2Uvc3RyZWFtL3JwYy9IdHRwU3RyZWFtRGF0YVNlYXJjaENsaWVudC5qYXZh)
| `0.00% <0.00%> (ø)` | `0.00 <0.00> (ø)` | |
|
[...rg/apache/kylin/stream/core/model/DataRequest.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c3RyZWFtLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL3N0cmVhbS9jb3JlL21vZGVsL0RhdGFSZXF1ZXN0LmphdmE=)
| `0.00% <0.00%> (ø)` | `0.00 <0.00> (ø)` | |
|
[.../stream/server/rest/controller/DataController.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c3RyZWFtLXJlY2VpdmVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9reWxpbi9zdHJlYW0vc2VydmVyL3Jlc3QvY29udHJvbGxlci9EYXRhQ29udHJvbGxlci5qYXZh)
| `0.00% <0.00%> (ø)` | `0.00 <0.00> (ø)` | |
|
[.../java/org/apache/kylin/common/KylinConfigBase.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-Y29yZS1jb21tb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL2NvbW1vbi9LeWxpbkNvbmZpZ0Jhc2UuamF2YQ==)
| `11.70% <20.00%> (+0.08%)` | `44.00 <0.00> (ø)` | |
|
[...n/stream/core/query/StreamingCubeDataSearcher.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c3RyZWFtLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL3N0cmVhbS9jb3JlL3F1ZXJ5L1N0cmVhbWluZ0N1YmVEYXRhU2VhcmNoZXIuamF2YQ==)
| `41.33% <28.57%> (-3.74%)` | `6.00 <0.00> (ø)` | |
|
[...ylin/stream/core/query/StreamingSearchContext.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c3RyZWFtLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL3N0cmVhbS9jb3JlL3F1ZXJ5L1N0cmVhbWluZ1NlYXJjaENvbnRleHQuamF2YQ==)
| `79.03% <50.00%> (-2.01%)` | `20.00 <2.00> (+1.00)` | :arrow_down: |
|
[...stream/core/query/MultiThreadsResultCollector.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-c3RyZWFtLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL3N0cmVhbS9jb3JlL3F1ZXJ5L011bHRpVGhyZWFkc1Jlc3VsdENvbGxlY3Rvci5qYXZh)
| `66.66% <54.16%> (-9.81%)` | `4.00 <2.00> (+1.00)` | :arrow_down: |
|
[...g/apache/kylin/metrics/lib/impl/MetricsSystem.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-Y29yZS1tZXRyaWNzL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9reWxpbi9tZXRyaWNzL2xpYi9pbXBsL01ldHJpY3NTeXN0ZW0uamF2YQ==)
| `61.66% <0.00%> (-6.67%)` | `17.00% <0.00%> (ø%)` | |
|
[...he/kylin/job/impl/threadpool/DefaultScheduler.java](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree#diff-Y29yZS1qb2Ivc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2t5bGluL2pvYi9pbXBsL3RocmVhZHBvb2wvRGVmYXVsdFNjaGVkdWxlci5qYXZh)
| `74.41% <0.00%> (-2.33%)` | `12.00% <0.00%> (ø%)` | |
| ... and [2
more](https://codecov.io/gh/apache/kylin/pull/1239/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at
Codecov](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=continue).
> **Legend** - [Click here to learn
more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by
[Codecov](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=footer). Last
update
[ed7658d...68f0fab](https://codecov.io/gh/apache/kylin/pull/1239?src=pr&el=lastupdated).
Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Streaming Receiver cannot limit income query request or cancel long-running
> query
> ---------------------------------------------------------------------------------
>
> Key: KYLIN-4305
> URL: https://issues.apache.org/jira/browse/KYLIN-4305
> Project: Kylin
> Issue Type: Improvement
> Components: Real-time Streaming
> Reporter: Xiaoxiang Yu
> Assignee: Xiaoxiang Yu
> Priority: Major
> Fix For: v3.1.0
>
> Attachments: Jietu20191217-221025.png, after_repair_receiver.jstack,
> image-2019-12-17-22-12-01-098.png, streaming_receiver_jstack.log
>
>
> When under heavy load(high rate of query request), receiver can not stand it,
> and most quey may timeout, but the query processing thread cannot be
> cancelled in receiver side, which will cause receiver's crash. You have to
> restart it.
> kylin.log
> {code:java}
> Caused by: java.lang.RuntimeException: timeout when call stream rpc
> at
> org.apache.kylin.storage.stream.rpc.HttpStreamDataSearchClient$QueuedStreamingTupleIterator.hasNext(HttpStreamDataSearchClient.java:298)
> at com.google.common.collect.Iterators$5.hasNext(Iterators.java:596)
> at
> org.apache.kylin.metadata.tuple.CompoundTupleIterator.hasNext(CompoundTupleIterator.java:52)
> at
> org.apache.kylin.query.enumerator.OLAPEnumerator.moveNext(OLAPEnumerator.java:63)
> at Baz$1$1.moveNext(Unknown Source)
> at
> org.apache.calcite.linq4j.EnumerableDefaults.groupBy_(EnumerableDefaults.java:825)
> at
> org.apache.calcite.linq4j.EnumerableDefaults.groupBy(EnumerableDefaults.java:761)
> at
> org.apache.calcite.linq4j.DefaultEnumerable.groupBy(DefaultEnumerable.java:302)
> at Baz.bind(Unknown Source)
> at
> org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:365)
> at
> org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:301)
> at
> org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:559)
> at
> org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:550)
> at
> org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:182)
> at
> org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:67)
> at
> org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44)
> at
> org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:667)
> at
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:619)
> at
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675)
> at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
> ... 83 more
> {code}
> jstack
> {code:java}
> "qtp1901663135-48" #48 prio=5 os_prio=0 tid=0x00007f839995f800 nid=0x3cdd
> runnable [0x00007f83674fe000]
> java.lang.Thread.State: RUNNABLE
> at java.lang.Thread.yield(Native Method)
> at
> org.apache.kylin.stream.core.query.MultiThreadsResultCollector$1.hasNext(MultiThreadsResultCollector.java:75)
> at
> org.apache.kylin.stream.core.query.RecordsAggregator.aggregate(RecordsAggregator.java:100)
> at
> org.apache.kylin.stream.core.query.StreamingCubeDataSearcher$StreamAggregateSearchResult.iterator(StreamingCubeDataSearcher.java:191)
> at
> org.apache.kylin.stream.server.rest.controller.DataController.query(DataController.java:119)
> at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
> at
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> at
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> at org.eclipse.jetty.server.Server.handle(Server.java:534)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
> at java.lang.Thread.run(Thread.java:748)
> {code}
> {code}
> [root@cdh-worker-1 apache-kylin-3.0.0-SNAPSHOT-bin]# jstack 15512 | grep
> org.apache.kylin.stream.core.query.MultiThreadsResultCollector | wc -l
> 81
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)