interest in minor contention issues?

2010-08-06 Thread Jason Fager
Hi all,

I'm doing some work with the Java Debugger Interface, and I'm using
Cassandra as a test bed.  I've found a few minor contention spots
(example: MessageDigest.getInstance() being called for every
invocation of FBUtilities.hash()), but before I start possibly
spamming your jira with them, I wanted to gauge the general interest
in knowing these kinds of minor issues.  I'm happy to report them as
they come up while I'm doing my work, but if you consider them too
minor to worry about until they actually show up as impacting
performance during profiling, I don't want to annoy anyone.  Let me
know.

- Jason


Re: interest in minor contention issues?

2010-08-06 Thread Jason Fager
My main concern is that I'm not primarily interested in Cassandra at
this point, I'm interested in my JDI project, and formal benchmarking
of Cassandra on each item I find is probably more work than I want to
put in at this time.  If there's an easy benchmark that's already
generally agreed upon, I'll be happy to run it first, but otherwise,
I'm basically asking if the dev group is interested in reports that
won't reach the threshold of having a demonstrated performance impact,
or if those kinds of reports are generally just regarded as annoying.



On Fri, Aug 6, 2010 at 4:37 PM, Gary Dusbabek  wrote:
> I think if there is a demonstrable increase in performance or other
> obvious wins, then you should go ahead and submit jiras (and patches).
>
> Gary.
>
> On Fri, Aug 6, 2010 at 15:25, Jason Fager  wrote:
>> Hi all,
>>
>> I'm doing some work with the Java Debugger Interface, and I'm using
>> Cassandra as a test bed.  I've found a few minor contention spots
>> (example: MessageDigest.getInstance() being called for every
>> invocation of FBUtilities.hash()), but before I start possibly
>> spamming your jira with them, I wanted to gauge the general interest
>> in knowing these kinds of minor issues.  I'm happy to report them as
>> they come up while I'm doing my work, but if you consider them too
>> minor to worry about until they actually show up as impacting
>> performance during profiling, I don't want to annoy anyone.  Let me
>> know.
>>
>> - Jason
>>
>


Re: interest in minor contention issues?

2010-12-28 Thread Jason Fager
Hi Jonathan,

No problem, thanks for all the work you and everyone on the dev team
do on Cassandra.

I have a small bit of wrapper code for scripting the Java Debugger
Interface, which is up at https://github.com/jfager/jdiscript.  I also
have a short writeup on it at
http://jasonfager.com/888-introducing-jdiscript/.  In a nutshell, I
just ran Cassandra with the debugger set to fire  events on JDI's
MonitorContendedEnterEvent, and handle them by printing out
stacktraces.

If I get some time in the next day or so, I'll take another shot at
the 0.7 codebase.

Best,
Jason



On Tue, Dec 28, 2010 at 3:14 PM, Jonathan Ellis  wrote:
> Hi Jason,
>
> Thanks for looking into this!
>
> What tool are you using?  I belatedly noticed your tickets (we should
> have them resolved for 0.6.9) and it might be useful to do another
> check against the 0.7 code.
>
> On Fri, Aug 6, 2010 at 3:25 PM, Jason Fager  wrote:
>> Hi all,
>>
>> I'm doing some work with the Java Debugger Interface, and I'm using
>> Cassandra as a test bed.  I've found a few minor contention spots
>> (example: MessageDigest.getInstance() being called for every
>> invocation of FBUtilities.hash()), but before I start possibly
>> spamming your jira with them, I wanted to gauge the general interest
>> in knowing these kinds of minor issues.  I'm happy to report them as
>> they come up while I'm doing my work, but if you consider them too
>> minor to worry about until they actually show up as impacting
>> performance during profiling, I don't want to annoy anyone.  Let me
>> know.
>>
>> - Jason
>>
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>


Re: CounterColumn as a double

2011-06-27 Thread Jason Fager
Longs and Doubles are both 64-bit values and are pretty easily
convertible.  Check out Double.doubleToLongBits and
Double.longBitsToDouble in the JDK; you can also read more about the
details of the conversion and get some pointers to some code in a post
I wrote last year:
http://jasonfager.com/770-lexi-sortable-number-strings/  (the emphasis
is on using doubles in key strings, but it should cover what you
need).





On Mon, Jun 27, 2011 at 7:13 PM, Joseph Stein  wrote:
> So has anyone considered using the CounterColumn for summing?
>
> I wanted to-do this over the weekend until I realized it was only a long :(
> so using it for things like duration (as an example for me this would have
> been great to keep track of aggregate durations of ad impressions) are not
> possible (or total costs when processing business workflows, etc,etc).
>
> I thought this might be a little more the speed of a first contribution too
> :) and also helps out with more functionality since a lot of real time
> analytics will need double.
>
> Let me know, I think it is a good feature.
>
> Implementing it not sure we would want to break the thrift interface I would
> suggest that I would create another interface for the double value?
>
> Under the hood of the thrift interface I was thinking of creating a
> CounterValue class and then setting the lValue or the dValue depending on
> which thrift function was called. I can update the thrift, add a sister
> function and re-work the entire code path of long CounterColumn.value into
> CounterValue CounterColumn.value.
>
> /*
> Joe Stein
> http://www.linkedin.com/in/charmalloc
> Twitter: @allthingshadoop 
> */
>