[ https://issues.apache.org/jira/browse/KUDU-3498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17830909#comment-17830909 ]
ASF subversion and git services commented on KUDU-3498: ------------------------------------------------------- Commit 8683b8bdb675db96aac52d75a31d00232f7b9fb8 in kudu's branch refs/heads/master from xinghuayu007 [ https://gitbox.apache.org/repos/asf?p=kudu.git;h=8683b8bdb ] [Java] KUDU-3498 Scanner keeps alive in periodically Kudu caches the scanner in the tablet server for continuing reading. It will be expired if the idle time is over the defined scanner ttl time. Sometimes the client reads a batch of data, if the data is every large, it takes a long time to handle it. Then the client reads the next batch using the same scanner, the scanner will be expired even if it has sent a keep alive request. This patch adds support for keeping a scanner alive periodically. It uses a timer to send keep alive requests background. So, it will never be expired when the scanner is in using. Change-Id: I50648e987b72aead472a20ff4336e3e7f23d8e06 Reviewed-on: http://gerrit.cloudera.org:8080/20761 Reviewed-by: Yifan Zhang <chinazhangyi...@163.com> Tested-by: Yifan Zhang <chinazhangyi...@163.com> > Scanner keeps alive in periodically > ----------------------------------- > > Key: KUDU-3498 > URL: https://issues.apache.org/jira/browse/KUDU-3498 > Project: Kudu > Issue Type: Improvement > Reporter: Xixu Wang > Priority: Major > > Kudu caches the scanner id in the tablet server for continuing reading. It > will be expired if the idle time is over the defined scanner ttl time. > Sometimes the client reads a batch of data, if the data is every large, it > takes a long time to handle it. Then the client reads the next batch using > the same scanner, the scanner will be expired even if it has send a keep > alive requests. > There is an example: > /main/logs/sp/kudu/tserver/3.kudu.log.INFO.20230731-143052.2665:I0731 > 14:57:19.307266 9280 scanners.cc:280] Expiring scanner id: > a279f6e3715d437d935d0bd79788c591, of tablet 0f8f4920ba514624abc294c7c64725c1, > after 184023 ms of inactivity, which is > TTL (180000 ms). > /main/logs/sp/kudu/tserver/kudu.log.INFO.20230731-143052.2665:I0731 > 15:03:07.419070 9289 tablet_service.cc:2957] Scan: Not found: Scanner > a279f6e3715d437d935d0bd79788c591 not found (it may have expired): call > sequence id=10, remote=\{username='impala'} at host:26278 > > The client takes 9 minutes to handle a batch of data, but the scanner has > already been expired. -- This message was sent by Atlassian Jira (v8.20.10#820010)