Does replica placement play a role in row cache hits? I happen to notice that the 3 nodes on "rack 2" are the ones with no recent hit rates, even when I specify only one node from rack2 as the host to Hector.
The cluster uses PropertyFileSnitch, and the nodes are alternating between rac1 and rac2 in a single Data Center clockwise on the ring. This particular column family uses NetworkTopologyStrategy, with replication factor of 2. So the idea is it can place the replica on the next node in the ring without having to walk all the around. But it seems cache hits tend to only happen on rack 1? Address DC Rack Status State Load Effective-Ownership Token 141784319550391026443072753096570088105 x.x.x.1 DC1 r1 Up Normal 587.46 GB 33.33% 0 x.x.x.2 DC1 r2 Up Normal 591.21 GB 33.33% 28356863910078205288614550619314017621 x.x.x.3 DC1 r1 Up Normal 594.97 GB 33.33% 56713727820156410577229101238628035242 x.x.x.4 DC1 r2 Up Normal 587.15 GB 33.33% 85070591730234615865843651857942052863 x.x.x.5 DC1 r1 Up Normal 590.26 GB 33.33% 113427455640312821154458202477256070484 x.x.x.6 DC1 r2 Up Normal 583.21 GB 33.33% 141784319550391026443072753096570088105 On Wed, Nov 28, 2012 at 9:09 AM, Yiming Sun <yiming....@gmail.com> wrote: > Thanks guys. However, after I ran the client code several times (same set > of 5000 entries), still 2 of the 6 nodes show 0 hits on row cache, despite > each node has 1GB capacity for row cache and the caches are full. Since I > always request the same entries over and over again, shouldn't there be > some hits? > > > [user@node]$ ./checkinfo.sh > Token : 85070591730234615865843651857942052863 > Gossip active : true > Thrift active : true > Load : 587.15 GB > Generation No : 1354074048 > Uptime (seconds) : 36957 > Heap Memory (MB) : 2027.29 / 3948.00 > Data Center : DC1 > Rack : r2 > Exceptions : 0 > > Key Cache : size 0 (bytes), capacity 0 (bytes), 0 hits, 0 requests, > NaN recent hit rate, 14400 save period in seconds > Row Cache : size 1072651974 (bytes), capacity 1073741824 (bytes), 0 > hits, 2576 requests, NaN recent hit rate, 0 save period in seconds > > Token : 141784319550391026443072753096570088105 > Gossip active : true > Thrift active : true > Load : 583.21 GB > Generation No : 1354074461 > Uptime (seconds) : 36535 > Heap Memory (MB) : 828.71 / 3948.00 > Data Center : DC1 > Rack : r2 > Exceptions : 0 > > Key Cache : size 0 (bytes), capacity 0 (bytes), 0 hits, 0 requests, > NaN recent hit rate, 14400 save period in seconds > Row Cache : size 1072602906 (bytes), capacity 1073741824 (bytes), 0 > hits, 3194 requests, NaN recent hit rate, 0 save period in seconds > > > On Wed, Nov 28, 2012 at 4:26 AM, Bryan Talbot <btal...@aeriagames.com>wrote: > >> The row cache itself is global and the size is set with >> row_cache_size_in_mb. It must be enabled per CF using the proper >> settings. CQL3 isn't complete yet in C* 1.1 so if the cache settings >> aren't shown there, then you'll probably need to use cassandra-cli. >> >> -Bryan >> >> >> On Tue, Nov 27, 2012 at 10:41 PM, Wz1975 <wz1...@yahoo.com> wrote: >> > Use cassandracli. >> > >> > >> > Thanks. >> > -Wei >> > >> > Sent from my Samsung smartphone on AT&T >> > >> > >> > -------- Original message -------- >> > Subject: Re: need some help with row cache >> > From: Yiming Sun <yiming....@gmail.com> >> > To: user@cassandra.apache.org >> > CC: >> > >> > >> > Also, what command can I used to see the "caching" setting? "DESC TABLE >> > <cf>" doesn't list caching at all. Thanks. >> > >> > -- Y. >> > >> > >> > On Wed, Nov 28, 2012 at 12:15 AM, Yiming Sun <yiming....@gmail.com> >> wrote: >> >> >> >> Hi Bryan, >> >> >> >> Thank you very much for this information. So in other words, the >> settings >> >> such as row_cache_size_in_mb in YAML alone are not enough, and I must >> also >> >> specify the caching attribute on a per column family basis? >> >> >> >> -- Y. >> >> >> >> >> >> On Tue, Nov 27, 2012 at 11:57 PM, Bryan Talbot <btal...@aeriagames.com >> > >> >> wrote: >> >>> >> >>> On Tue, Nov 27, 2012 at 8:16 PM, Yiming Sun <yiming....@gmail.com> >> wrote: >> >>> > Hello, >> >>> > >> >>> > but it is not clear to me where this setting belongs to, because >> even >> >>> > in the >> >>> > v1.1.6 conf/cassandra.yaml, there is no such property, and >> apparently >> >>> > adding this property to the yaml causes a fatal configuration error >> >>> > upon >> >>> > server startup, >> >>> > >> >>> >> >>> It's a per column family setting that can be applied using the CLI or >> >>> CQL. >> >>> >> >>> With CQL3 it would be >> >>> >> >>> ALTER TABLE <cf> WITH caching = 'rows_only'; >> >>> >> >>> to enable the row cache but no key cache for that CF. >> >>> >> >>> -Bryan >> >> >> >> >> > >> > >