Return-Path: X-Original-To: apmail-usergrid-commits-archive@minotaur.apache.org Delivered-To: apmail-usergrid-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0F20117B0D for ; Mon, 9 Mar 2015 15:14:20 +0000 (UTC) Received: (qmail 1640 invoked by uid 500); 9 Mar 2015 15:14:20 -0000 Delivered-To: apmail-usergrid-commits-archive@usergrid.apache.org Received: (qmail 1593 invoked by uid 500); 9 Mar 2015 15:14:20 -0000 Mailing-List: contact commits-help@usergrid.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@usergrid.incubator.apache.org Delivered-To: mailing list commits@usergrid.incubator.apache.org Received: (qmail 958 invoked by uid 99); 9 Mar 2015 15:14:19 -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; Mon, 09 Mar 2015 15:14:19 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 186B2E181E; Mon, 9 Mar 2015 15:14:19 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sfeldman@apache.org To: commits@usergrid.apache.org Date: Mon, 09 Mar 2015 15:14:35 -0000 Message-Id: <81a0a7be61194862a4bde16e7e08baa6@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [18/30] incubator-usergrid git commit: Fixes lookup cache bug Fixes lookup cache bug Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/ecc1ddee Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/ecc1ddee Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/ecc1ddee Branch: refs/heads/two-dot-o Commit: ecc1ddeed2f2e54a66c2b5a56eed689593380820 Parents: 4c8727c Author: Todd Nine Authored: Fri Mar 6 16:10:33 2015 -0700 Committer: Todd Nine Committed: Fri Mar 6 16:10:33 2015 -0700 ---------------------------------------------------------------------- .../corepersistence/CpEntityManagerFactory.java | 31 ++++++++++---------- 1 file changed, 16 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ecc1ddee/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java ---------------------------------------------------------------------- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java index 16de53e..e0029c1 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java @@ -241,10 +241,10 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application getSetup().setupApplicationKeyspace( applicationId, appName ); - final Optional cachedValue = orgApplicationCache.getOrganizationId( name ); + final Optional cachedValue = orgApplicationCache.getOrganizationId( organizationName ); - final UUID orgUuid; + UUID orgUuid; if ( !cachedValue.isPresent() ) { @@ -252,22 +252,22 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application // create new org because the specified one does not exist final String orgName = organizationName; - final Entity orgInfo; + try { - orgInfo = em.create( "organization", new HashMap() {{ + final Entity orgInfo = em.create( "organization", new HashMap() {{ put( PROPERTY_NAME, orgName ); }} ); + orgUuid = orgInfo.getUuid(); + //evit so it's re-loaded later + orgApplicationCache.evictOrgId( name ); } catch ( DuplicateUniquePropertyExistsException e ) { - throw new OrganizationAlreadyExistsException( orgName ); + //swallow, if it exists, just get it + orgApplicationCache.evictOrgId( organizationName ); + orgUuid = orgApplicationCache.getOrganizationId( organizationName ).get(); } - em.refreshIndex(); - orgUuid = orgInfo.getUuid(); - - //evit so it's re-loaded later - orgApplicationCache.evictOrgId( name ); } else{ orgUuid = cachedValue.get(); } @@ -281,11 +281,12 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application put( "organizationUuid", orgId ); }}; - try{ - em.create( "appinfo", appInfoMap ); - }catch(DuplicateUniquePropertyExistsException e){ - throw new ApplicationAlreadyExistsException( appName ); - } + try { + em.create( "appinfo", appInfoMap ); + } + catch ( DuplicateUniquePropertyExistsException e ) { + throw new ApplicationAlreadyExistsException( appName ); + } em.refreshIndex(); // create application entity