Vladimir Ozerov created IGNITE-2721: ---------------------------------------
Summary: Optimize ATOMIC cache request/responses. Key: IGNITE-2721 URL: https://issues.apache.org/jira/browse/IGNITE-2721 Project: Ignite Issue Type: Sub-task Components: cache Affects Versions: 1.5.0.final Reporter: Vladimir Ozerov Assignee: Ilya Lantukh Priority: Critical Fix For: 1.6 Our request/responses for ATOMIC cache has lots of fields which are normally unused. To give an idea on possible optimizations lets look closely on GridNearAtomicUpdateRequest: * {{futVer}} - could be converted to int * {{syncMode}} - why do we pass it? Can it be derived from cache config? * {{op}} - can it be derived form request? * Entry processors and invoke arguments - can be moved to extras, or separate request class can be created for them. * Conflict data - usually null, must be moved to extras * Expiry policy - must be moved to extras. * {{filter}} - only one filter is ever passed - when we need to compare existing value. Lets pass the value instead! * Lots of flags - can be written as a single byte. Though, it's priority is not so high. * {{topVer}} - could easily be inlined to save allocations and network traffic. As a result of this investigation we must create a list of optimizations to be performed and prioritize them. Then we should implement them one by one, keeping them merged in a separate branch (not master!) until we are sure that we did everything we can. -- This message was sent by Atlassian JIRA (v6.3.4#6332)