You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict (JIRA)" <ji...@apache.org> on 2015/05/04 16:16:08 UTC
[jira] [Comment Edited] (CASSANDRA-9240) Performance issue after a
restart
[ https://issues.apache.org/jira/browse/CASSANDRA-9240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14526659#comment-14526659 ]
Benedict edited comment on CASSANDRA-9240 at 5/4/15 2:15 PM:
-------------------------------------------------------------
bq. Benedict you have a bug in the CRAR constructor. allocateBuffer() is being called before segments are mapped so it is always creating an on heap buffer.
Good catch. I was planning on removing the constraint to only use direct when using mmapped files in a follow up commit. Any opposition to doing that here (since it also fixes that)?
bq. Minor nit in your Cleanup method. For multiple levels of conditionals and loops please add {}
I think we should clarify our code style policy on this, since I do this kind of thing a lot, certainly at the very least for multi-nested loops or conditionals, and for conditionals inside of loops, but a loop nested inside a conditional is its own unique case. Would be good to have an official policy. Could you and the other PMCs (or whoever decides this stuff) come up with an official position on when we can and cannot omit braces?
bq. Finally, I know CASSANDRA-8897 is going to remove pooling, but how will we avoid the cost of un-mapping the files if we don't pool?
This patch has already avoided the cost of un-mapping the files, whether or not pooling is used
was (Author: benedict):
bq. Benedict you have a bug in the CRAR constructor. allocateBuffer() is being called before segments are mapped so it is always creating an on heap buffer.
Good catch. I was planning on removing the constraint to only use direct when using mmapped files in a follow up commit. Any opposition to doing that here (since it also fixes that)?
bq. Minor nit in your Cleanup method. For multiple levels of conditionals and loops please add {}
I think we should clarify our code style policy on this, since I do this kind of thing a lot, certainly at the very least for multi-nested loops or conditionals, and for conditionals inside of loops, but a loop nested inside a conditional is its own unique case. Would be good to have an official policy. Could you and the other PMCs (or whoever decides this stuff) come up with an official position on when we can and cannot omit braces?
> Performance issue after a restart
> ---------------------------------
>
> Key: CASSANDRA-9240
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9240
> Project: Cassandra
> Issue Type: Bug
> Reporter: Alan Boudreault
> Assignee: Benedict
> Priority: Minor
> Fix For: 3.x
>
> Attachments: Cassandra.snapshots.zip, cassandra_2.1.4-clientrequest-read.log, cassandra_2.1.4.log, cassandra_2.1.5-clientrequest-read.log, cassandra_2.1.5.log, cassandra_trunk-clientrequest-read.log, cassandra_trunk.log, cassandra_trunk_no_restart-clientrequest-read.log, cassandra_trunk_no_restart.log, issue.yaml, run_issue.sh, runs.log, trace_query.cql
>
>
> I have noticed a performance issue while I was working on compaction perf tests for CASSANDRA-7409. The performance for my use case is very bad after a restart. It is mostly a read performance issue but not strictly. I have attached my use case (see run_issue.sh and issue.yaml) and all test logs for 2.1.4, 2.1.5 and trunk:
> * 2.1.* are OK (although 2.1.4 seems to be better than 2.1.5?): ~6-7k ops/second and ~2-2.5k of read latency.
> * trunk is NOT OK: ~1.5-2k ops/second and 25-30k of read latency.
> * trunk is OK without a restart: ~ same perf than 2.1.4 and 2.1.5.
> EDIT: branch cassandra-2.1 is OK.
> I can help to bisect and/or profile on Monday if needed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)