Yakov Zhdanov created IGNITE-957:
------------------------------------

             Summary: Rest handlers seems to do excessive submissions of the 
handling logic to parallel threads
                 Key: IGNITE-957
                 URL: https://issues.apache.org/jira/browse/IGNITE-957
             Project: Ignite
          Issue Type: Bug
          Components: newbie
            Reporter: Yakov Zhdanov


Lets trace execution of cache PUT command:
# request read by HTTP or TCP server
# then flow gets to 
org.apache.ignite.internal.processors.rest.GridRestProcessor#handleAsync0
# logic is submitted to REST pool - 
{{org/apache/ignite/internal/processors/rest/GridRestProcessor.java:139}} - 
which is correct since we need to free io (nio) worker thread.
# (THIS CAN BE REMOVED) then one more submission - system pool submission - see 
{{ctx.closure().callAsync()}} at 
{{org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler#executeCommand(java.util.UUID,
 java.util.UUID, java.lang.String, boolean, java.lang.Object, 
org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.CacheProjectionCommand)}}

So, the points are:
# Flow of each command has to be traced and excessive submissions has to be 
removed
# Changes should be tested for all protocols: HTTP and MEMCACHED. TCP is less 
prio since it will be dropped once client communication is ready.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to