[ 
https://issues.apache.org/jira/browse/IOTDB-1266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17312158#comment-17312158
 ] 

Yifu Zhou commented on IOTDB-1266:
----------------------------------

I think the weird logic is at the beginning... Let me explain it clearly:
For example, we have three servers and 10,000 timeseries. In the first 
iteration, plan.getLimit() is 1000(default), so the resultSet will only fetch 
3,000 timeseries, and the showTimeSeriesResults will get 1st to 1,000th 
timeseries(because the limit is 1,000). Then we go to second iteration, now the 
offset != 0 and so plan.setLimit(0) and plan.setOffset(0). So the resultSet 
will fetch all 10,000 timeseries, and return these 10,000 timeseries' 1001th 
and 2000th timeseries and then end.. 
I think the solution is at the beginning, the default plan.getLimit() shoud be 
set to 0 so the first iteration will fetch all the timeseries. But now, I don't 
think why should we have the 'limit' porperty.. 


> SHOW TIMESERIES will only display 2000 timeseries
> -------------------------------------------------
>
>                 Key: IOTDB-1266
>                 URL: https://issues.apache.org/jira/browse/IOTDB-1266
>             Project: Apache IoTDB
>          Issue Type: Improvement
>          Components: Cluster
>            Reporter: Yifu Zhou
>            Assignee: Yifu Zhou
>            Priority: Major
>             Fix For: 0.12.0
>
>
> The BUG is in the applyShowTimeseriesLimitOffset method. If there are 10000 
> timeseries data, when first time go in this method, and the default limit is 
> 1000, offset is 0, showTimeSeriesResults will only return 1000 timeseries. 
> For the reason that 10000 > 1000(limit+offset), so it will do the second 
> iteration. And now offset is set to 1000. Once the offset != 0, it will do 
> plan.setOffset(0) and plan.setLimit(0). So for the second iteration, after 
> return 1000 timeseries from showTimeSeriesResults, it will end. 
> In my opinion, it is useless for the applyShowTimeseriesLimitOffset method... 
> If the default limit is 1000, it means that if we have 10000 timeseries, we 
> have to do 10 times iterations, and each iteration we need to fetch the 
> timeseries data from all the servers.
> I think there are two ways, one is to keep this 
> applyShowTimeseriesLimitOffset method and fix the plan.setOffset(0)(I am 
> confused what why we have to set it 0), the other is remove 
> applyShowTimeseriesLimitOffset because I think it is useless...
> Any idea here?



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

Reply via email to