{"action":"created","issue":{"url":"https://api.github.com/repos/hazelcast/hazelcast/issues/4417","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/4417/labels{/name}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/4417/comments","events_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/4417/events","html_url":"https://github.com/hazelcast/hazelcast/issues/4417","id":54391898,"number":4417,"title":"distributed query performed sequentually","user":{"login":"dsukhoroslov","id":5073945,"avatar_url":"https://avatars.githubusercontent.com/u/5073945?v=3","gravatar_id":"","url":"https://api.github.com/users/dsukhoroslov","html_url":"https://github.com/dsukhoroslov","followers_url":"https://api.github.com/users/dsukhoroslov/followers","following_url":"https://api.github.com/users/dsukhoroslov/following{/other_user}","gists_url":"https://api.github.com/users/dsukhoroslov/gists{/gist_id}","starred_url":"https://api.github.com/users/dsukhoroslov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsukhoroslov/subscriptions","organizations_url":"https://api.github.com/users/dsukhoroslov/orgs","repos_url":"https://api.github.com/users/dsukhoroslov/repos","events_url":"https://api.github.com/users/dsukhoroslov/events{/privacy}","received_events_url":"https://api.github.com/users/dsukhoroslov/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Team:%20Core","name":"Team: Core","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-01-14T23:22:41Z","updated_at":"2015-11-24T06:42:36Z","closed_at":null,"body":"Found in Hazelcast 3.3.3 and 3.3.4. \r\nI have a client and two cache servers, in test env all of them are started on the same machine. Client submits a task to one of the servers. On the server side, the task build a predicate and get keySet as\r\n\r\n\tPredicate pp = Predicates.equal(\"pathId\", xPath.getPathId());\r\n\tPredicate<XDMDataKey, XDMElements> f = Predicates.and(pp, new QueryPredicate(pex, value));\r\n\tSet<XDMDataKey> xdmKeys = xdmCache.keySet(f);\r\n\r\nI expected the query to be run in parallel on both cache nodes using partition threads (as it is stated in the reference manual: http://docs.hazelcast.org/docs/3.3/manual/html-single/hazelcast-documentation.html#distributed-query). But what I see is:\r\n\r\n- the predicate applied to all entries owned by server which run the task. It is applied in a loop from the thread running task;\r\n- when all local entries applied the predicate is serialized and sent to the second cache node;\r\n- on the second node predicate is deserialized and applied to all entries owned by this node, from one thread;\r\n- then the results sent back to the first node and returned as a keySet.\r\n\r\nIs it a bag or it is expected behaviour? Is it possible to run the query in parallel on cache nodes from partition threads?\r\n\r\nThanks, Denis.\r\n"},"comment":{"url":"https://api.github.com/repos/hazelcast/hazelcast/issues/comments/159170989","html_url":"https://github.com/hazelcast/hazelcast/issues/4417#issuecomment-159170989","issue_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/4417","id":159170989,"user":{"login":"dsukhoroslov","id":5073945,"avatar_url":"https://avatars.githubusercontent.com/u/5073945?v=3","gravatar_id":"","url":"https://api.github.com/users/dsukhoroslov","html_url":"https://github.com/dsukhoroslov","followers_url":"https://api.github.com/users/dsukhoroslov/followers","following_url":"https://api.github.com/users/dsukhoroslov/following{/other_user}","gists_url":"https://api.github.com/users/dsukhoroslov/gists{/gist_id}","starred_url":"https://api.github.com/users/dsukhoroslov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsukhoroslov/subscriptions","organizations_url":"https://api.github.com/users/dsukhoroslov/orgs","repos_url":"https://api.github.com/users/dsukhoroslov/repos","events_url":"https://api.github.com/users/dsukhoroslov/events{/privacy}","received_events_url":"https://api.github.com/users/dsukhoroslov/received_events","type":"User","site_admin":false},"created_at":"2015-11-24T06:42:36Z","updated_at":"2015-11-24T06:42:36Z","body":"it seemse to be fixed in HZ 3.5.x"}}