You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Peng Xiao <25...@qq.com> on 2017/09/20 05:47:12 UTC

回复:RE: Row Cache hit issue

Thanks All.




------------------ 原始邮件 ------------------
发件人: "Steinmaurer, Thomas";<th...@dynatrace.com>;
发送时间: 2017年9月20日(星期三) 中午1:38
收件人: "user@cassandra.apache.org"<us...@cassandra.apache.org>;

主题: RE: Row Cache hit issue



  
Hi,
 
 
 
additionally, with saved (key) caches, we had some sort of corruption (I think, for whatever reason) once. So, if you  see something like that upon Cassandra startup:
 
 
 
INFO [main] 2017-01-04 15:38:58,772 AutoSavingCache.java (line 114) reading saved cache /var/opt/xxx/cassandra/saved_caches/ks-cf-KeyCache-b.db
 
ERROR [main] 2017-01-04 15:38:58,891 CassandraDaemon.java (line 571) Exception encountered during startup
 
java.lang.OutOfMemoryError: Java heap space
 
                at java.util.ArrayList.<init>(ArrayList.java:152)
 
                at org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:132)
 
                at org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:365)
 
                at org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:119)
 
                at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:276)
 
                at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:435)
 
                at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:406)
 
                at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:322)
 
                at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:268)
 
                at org.apache.cassandra.db.Keyspace.open(Keyspace.java:110)
 
                at org.apache.cassandra.db.Keyspace.open(Keyspace.java:88)
 
                at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:364)
 
                at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:554)
 
                at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:643)
 
 
 
resulting in Cassandra going OOM, with a “reading saved cache” log entry close before the OOM, you may have hit some sort  of corruption. Workaround is to physically delete the saved cache file and Cassandra will start up just fine.
 
 
 
Regards,
 
Thomas
 
 
 
 
 
From: Dikang Gu [mailto:dikang85@gmail.com] 
 Sent: Mittwoch, 20. September 2017 06:06
 To: cassandra <us...@cassandra.apache.org>
 Subject: Re: Row Cache hit issue
 
 
  
Hi Peng,
  
 
 
  
C* periodically saves cache to disk, to solve cold start problem. If row_cache_save_period=0, it means C* does not save cache to disk. But the cache is still working, if it's enabled in table schema, just the cache will be empty after restart.
 
  
 
 
  
--Dikang.
 
 
  
 
  
On Tue, Sep 19, 2017 at 8:27 PM, Peng Xiao <25...@qq.com> wrote:
   
And we are using C* 2.1.18.
 
   
 
 
  
 
 
  
------------------ Original ------------------
 
   
From:  "我自己的邮箱";<25...@qq.com>;
 
  
Date:  Wed, Sep 20, 2017 11:27 AM
 
  
To:  "user"<us...@cassandra.apache.org>;
 
  
Subject:  Row Cache hit issue
 
 
    
 
 
  
Dear All,
 
  
 
 
  
The default row_cache_save_period=0,looks Row Cache does not work in this situation?
 
  
but we can still see the row cache hit.
 
  
 
 
  
Row Cache              : entries 202787, size 100 MB, capacity 100 MB, 3095293 hits, 6796801 requests, 0.455 recent hit rate, 0 save period in seconds
 
  
 
 
  
Could anyone please explain this?
 
  
 
 
  
Thanks,
 
  
Peng Xiao
 
 
 
 
  
 

 
 
  
 
 
 
-- 
   
Dikang
  
 
 
 
 
 
 
 The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received  it in error please notify us immediately and then destroy it. Dynatrace Austria GmbH (registration number FN 91482h) is a company registered in Linz whose registered office is at 4040 Linz, Austria, Freistädterstraße 313