Xiangdong Huang created IOTDB-471:
-------------------------------------
Summary: NullPoint exception when merging all TsFiles (may caused
by TimeRange Partition)
Key: IOTDB-471
URL: https://issues.apache.org/jira/browse/IOTDB-471
Project: Apache IoTDB
Issue Type: Bug
Components: Core/Engine
Reporter: Xiangdong Huang
Fix For: 0.10.0-SNAPSHOT
Attachments: image-2020-02-10-20-32-03-335.png
Hi,
In an application, there are millions of time series. In this case, when we
enable dynamic_parameter, each TsFile has only 7MB.
Therefore, there are too many TsFiles and the following query is quite slow:
SELECT longitude,latitude,altitude,'11',windDirection2min,...(other 65 columns)
FROM root.national.*.5.* WHERE time = 2020-01-18 20:00:00 group by device
The above query returns 2400 rows and spends 8 seconds....... (Total data is
just 2GB).
So, I begin to run merge to accelerate the query speed and the following
exception occurs:
!image-2020-02-10-20-32-03-335.png|width=799,height=527!
If we check the codes, the null point exception is caused by:
{code:java}
private boolean updateLatestFlushTimeCallback(TsFileProcessor processor) {
// update the largest timestamp in the last flushing memtable
for (Entry<String, Long> entry :
latestTimeForEachDevice.get(processor.getTimeRangeId())
.entrySet()) {
latestFlushedTimeForEachDevice.get(processor.getTimeRangeId())
.put(entry.getKey(), entry.getValue());
}
return true;
}
{code}
I know it is hard to reproduce, but can someone help to check and analyze the
codes?
Or, at least add more logs for helping to analyze such cases in the future.
[~SilverNarcissus] [~jt2594838]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)