accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <josh.el...@gmail.com>
Subject Re: cached connector
Date Fri, 26 Feb 2016 17:45:28 GMT
I guess it's also worth saying that while Connectors can be cached, it's 
not "necessary" like it is for other database connectors. The Accumulo 
Connector is very light-weight and cheap to construct.

Josh Elser wrote:
> z11373 wrote:
>> My questions:
>> 1. Since I haven't killed that service instance yet, is it possible to
>> debug
>> and find out the culprit? 100x slower is too much. Is that expected? What
>> could be causing the slowness?
>
> No, definitely not expected.
>
>> 2. This makes me think caching Accumulo connector may not be a good idea.
>> Current implementation is the cache got refreshed if there's
>> exception. Slow
>> read won't trigger exception, so it stays in the cache. Is it
>> recommended to
>> not caching the Accumulo connector?
>
> I don't think we have the means to tell you what went wrong, but perhaps
> we can help you find some clues. The Connector has some internal
> synchronization, but I would not have thought caching a Connector would
> have such negative impact -- sounds like a bug.
>
> * Try attaching a profiler to your service (e.g. Java Mission Control,
> YourKit). These can help you connect to your running service and figure
> out what is taking a long time.
> * You can also go the "low-tech" route and take a few stackdumps (e.g.
> `kill -3 <pid>` or `jstack`) on your service to see get an idea of where
> it is spending time.
> * Take a heap dump of the service (e.g. `jmap`). Perhaps there is a lot
> of garbage sitting on the heap not being collected or there's a memory
> leak.

Mime
View raw message