Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E5DF5200C86 for ; Wed, 31 May 2017 18:57:02 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id E4080160BCB; Wed, 31 May 2017 16:57:02 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5CAFC160BC2 for ; Wed, 31 May 2017 18:57:02 +0200 (CEST) Received: (qmail 15910 invoked by uid 500); 31 May 2017 16:57:01 -0000 Mailing-List: contact dev-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list dev@ignite.apache.org Received: (qmail 15898 invoked by uid 99); 31 May 2017 16:57:01 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 May 2017 16:57:01 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id B1523E109B; Wed, 31 May 2017 16:57:00 +0000 (UTC) From: mcherkasov To: dev@ignite.apache.org Reply-To: dev@ignite.apache.org Message-ID: Subject: [GitHub] ignite pull request #2053: IGNITE-5364 Remove contention on DataStructure cr... Content-Type: text/plain Date: Wed, 31 May 2017 16:57:00 +0000 (UTC) archived-at: Wed, 31 May 2017 16:57:03 -0000 GitHub user mcherkasov opened a pull request: https://github.com/apache/ignite/pull/2053 IGNITE-5364 Remove contention on DataStructure creation or removing All DSs are stored in one Map which itself is stored in utilityCache, this makes high contention on DS creation or removing, it requires lock on the key and manipulation with the Map under the lock. So all threads in cluster should wait for this lock to create or remove DS. I don't see any reason to store all DS in one map, we already have utilityCache and can save DSs directly in utilityCache, to distinguish DS with other objects in utilityCache I use composite key, the first part of which is DATA_STRUCTURES_KEY, second one is DS's name, also DS type can be added, this will allow us to create different DS with the same name. You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-5364 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2053.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2053 ---- commit 1d2c6b9c97584cf7603aa08ee07e71940037f92f Author: mcherkasov Date: 2017-05-31T16:17:52Z Removed a Map with DataStructures. DataStructures are added directly to utilityCache. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---