You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2016/02/26 13:07:18 UTC
[jira] [Closed] (IGNITE-2715) HotSpot in
GridQueryProcessor.BinaryProperty.value() method
[ https://issues.apache.org/jira/browse/IGNITE-2715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov closed IGNITE-2715.
-----------------------------------
> HotSpot in GridQueryProcessor.BinaryProperty.value() method
> -----------------------------------------------------------
>
> Key: IGNITE-2715
> URL: https://issues.apache.org/jira/browse/IGNITE-2715
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 1.5.0.final
> Reporter: Denis Magda
> Assignee: Vladimir Ozerov
> Priority: Blocker
> Labels: community, important
> Fix For: 1.6
>
>
> The hotspot was detected in the following scenario.
> 1) Start a server node(s) with CacheConfiguration that stores binary objects of type T and has field A in the indexes;
> 2) Start client node that creates objects of type T using BinaryObjectBuilder but doesn't set value for field A at all;
> 3) Client populates the cache with created objects using IgniteDataStreamer at high rate.
> If you connect to the server using Visual VM you'll see that threads from the public thread pull spend a lot of time waiting for a monitor and that {{GridQueryProcessor.BinaryProperty.value()}} is a hotspot.
> The reason why the method above is the hotspot is because it calls
> {{U.warn(log, "Neither key nor value have property " +
> "[propName=" + propName + ", key=" + key + ", val=" + val + "]");}}
> all the time converting a binary object to String. The warning is called because field A is not set in the binary representation.
> This warning must be reworked in one of the following way:
> - just print the name of the field that is not found;
> - print the warning for the debug level only because cases there can be cases when a binary object doesn't have a field that is set in the indexes.
> In addition revisit the rest of the code removing conversion of BinaryObject to String at places that could lead to performance degradation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)