[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-20 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14103660#comment-14103660
 ] 

Aleksey Yeschenko commented on CASSANDRA-7796:
--

Yes, I'm sure. liveRatio is inherently flawed, so what 6945 and this one are 
about are about handling pathological scenarios. Pre-6945 if we happened to 
calculate the ratio on an empty-ish memtable at a reasonable time since CF 
init, we'd be screwed for good, for long. Post-6945, to a lesser extent, you 
can still get similar bad behavior if you inherit a crazy recently calculated 
liveRatio with high-ish calculatedAt. IMO it's preferable to start with the 
default ratio, guaranteed to be non-crazy. For the same reason I'm against 
inheriting just the liveRatio w/out computedAt.

Now, there are ways to be smarter about it, but I'm uncomfortable with 
experimenting at this point. I'd rather just rollback this part of 6945.

And the only way to truly fix this is to upgrade to 2.1 :\

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-20 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14103665#comment-14103665
 ] 

Benedict commented on CASSANDRA-7796:
-

My concern is I'm pretty certain we encountered a user on the mailing list 
OOMing their servers by outpacing the live ratio calculation, which is why we 
introduced this.

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-20 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14103797#comment-14103797
 ] 

Aleksey Yeschenko commented on CASSANDRA-7796:
--

It's not why we introduced this, actually. Moving liveRatio to per-Memtable 
from per-CF was done to avoid getting stuck forever with an outlier liveRatio 
value. Inheriting them was an optimisation to reduce the number of 
recalculations themselves, but in retrospect it does sort of go against the 
very reason 6945 was introduced.

That, and liveRatioComputedAt is really liveRatioScheduledToBeComputedAt. We 
can track the actual liveRatioComputedAt, or only inherit the previous ratio if 
its value is sane enough, but at this point in 2.0 cycle I'm uncomfortable with 
that. Rolling back the inheritance part of 6945 (what this issue is about) I am 
comfortable with.

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-19 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14102911#comment-14102911
 ] 

Jonathan Ellis commented on CASSANDRA-7796:
---

I'm a little concerned that we're still experimenting with this in 2.0.x.  
Should we just back out 6945 and put this in 2.1?

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-19 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14102917#comment-14102917
 ] 

Aleksey Yeschenko commented on CASSANDRA-7796:
--

There is no liveRatio in 2.1 (thank God). It's strictly 2.0. 6945 itself is 
fine. Even in its current form, it's better than pre-6945 situation was. This 
change is safe - it reduces complexity, if anything, so I feel fine putting 
this in 2.0.

But I'll also sleep fine if we don't.

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-19 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14102925#comment-14102925
 ] 

Jonathan Ellis commented on CASSANDRA-7796:
---

You're right, this is just an optimization and doesn't really affect the design 
again.  +1

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7796) Stop inheriting liveRatio/computedAt from previous memtables

2014-08-19 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14103213#comment-14103213
 ] 

Benedict commented on CASSANDRA-7796:
-

Are you sure this is better? I think we should inherit the ratio, but not the 
last computed at. This patch IMO makes it easier to OOM by inserts outpacing 
the liveRatio calculation after memtable switch. With inheritance we are only 
at risk if the data shape changes; with this patch we are at risk with the same 
data shape which to me seems like a larger affect window.

 Stop inheriting liveRatio/computedAt from previous memtables
 

 Key: CASSANDRA-7796
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7796
 Project: Cassandra
  Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7796.txt


 CASSANDRA-6945 helped to reduce the risk of calculating an outlier liveRatio 
 value, and having to stick with it for a long time, by making liveRatio 
 per-memtable and not per-cf.
 The added optimization of inheriting liveRatio/calculatedAt to minimize 
 recalculations, however, took us a step back to before CASSANDRA-6945.
 I suggest we get rid of inheriting the old values altogether, but reduce the 
 rate of recalculation by demanding 10x increase in ops to trigger recalc, 
 instead of the previous 2x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)