ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Level D" <724172...@qq.com>
Subject LoadCache
Date Thu, 07 Jul 2016 08:29:04 GMT
Hi all,

I have a strange case. 
First, I use LoadCache to load 6,000,000 data into a cache named eqt, it takes about ten minutes.

Second, continuously query eqt cache. 
Third, use LoadCache to load another 6,000,000 data into a cache named eqt_temp. 
Forth, continuously query eqt_temp cache and clear eqt cache.

When I execute step three, LoadCache couldn't work normally. It takes much more time than
step one, about half an hour. I use ignitevisor to monitor cache status and find that there
already are 6,000,000 data in eqt_temp cache. But still, log doesn't show me the signal that
LoadCache has already done. In another word, LogPrint isn't executed immediately in the sixth
line of my code.

Besides, no exception or error log appears and memory of computers is big enough.

Here's my LoadCache code. Step one and step three use the same code.
   private void doLoadData(String sql){
        LogPrint.LOADER_BASE_INFO_LOGGER.info("DataLoaderTaskAdapter started ,cacheName:"
+ cacheName + ",sql:" + sql);
        IgniteCache<?, ?> cache = ignitePublicService.getCache(cacheName);
        long startTime = new Date().getTime();
        cache.loadCache(null, loadKey, sql);
        LogPrint.LOADER_BASE_INFO_LOGGER.info("load cache use time:" + (new Date().getTime()
- startTime) + "ms, size=" + cache.size()+",cacheName="+cacheName + ",sql:" + sql);
I want to know the reason.


View raw message