From commits-return-6179-archive-asf-public=cust-asf.ponee.io@tamaya.incubator.apache.org Fri Jul 20 23:22:46 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 4E1B9180663 for ; Fri, 20 Jul 2018 23:22:46 +0200 (CEST) Received: (qmail 41546 invoked by uid 500); 20 Jul 2018 21:22:45 -0000 Mailing-List: contact commits-help@tamaya.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tamaya.incubator.apache.org Delivered-To: mailing list commits@tamaya.incubator.apache.org Received: (qmail 41536 invoked by uid 99); 20 Jul 2018 21:22:45 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Jul 2018 21:22:45 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id ED7F0C6D57 for ; Fri, 20 Jul 2018 21:22:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -11.701 X-Spam-Level: X-Spam-Status: No, score=-11.701 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id clMK5dneKCrm for ; Fri, 20 Jul 2018 21:22:44 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 0B00E5F300 for ; Fri, 20 Jul 2018 21:22:42 +0000 (UTC) Received: (qmail 41522 invoked by uid 99); 20 Jul 2018 21:22:42 -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; Fri, 20 Jul 2018 21:22:42 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D92A2DFA6D; Fri, 20 Jul 2018 21:22:41 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: pottlinger@apache.org To: commits@tamaya.incubator.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: incubator-tamaya-sandbox git commit: TAMAYA-273 Fix infinite recursion in metamodel Date: Fri, 20 Jul 2018 21:22:41 +0000 (UTC) Repository: incubator-tamaya-sandbox Updated Branches: refs/heads/master 96fc9d5cb -> 681cb1e56 TAMAYA-273 Fix infinite recursion in metamodel With the lazily loaded configuration in metamodel, the logic is susceptible to an infinite recursion if any part of the configuration setting does a getConfiguration in the middle. The spi delegation logic added getConfiguration logging to all static calls as part of 5a130523ab7d3a9d33091b13f62db90ddb8fba5c in incubator-tamaya, which caused this module to infinitely recurse and fail. This commit breaks the chain of possible recursion. Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/commit/681cb1e5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/681cb1e5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/681cb1e5 Branch: refs/heads/master Commit: 681cb1e5668b0a581528bf85e09d1ab6f54a30f9 Parents: 96fc9d5 Author: William Lieurance Authored: Wed Jul 11 02:37:21 2018 -0500 Committer: William Lieurance Committed: Wed Jul 11 03:45:27 2018 -0500 ---------------------------------------------------------------------- .../internal/DSLLoadingConfigurationProviderSpi.java | 3 --- .../org/apache/tamaya/metamodel/ext/IntegrationTest.java | 10 ++++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/681cb1e5/metamodel/src/main/java/org/apache/tamaya/metamodel/internal/DSLLoadingConfigurationProviderSpi.java ---------------------------------------------------------------------- diff --git a/metamodel/src/main/java/org/apache/tamaya/metamodel/internal/DSLLoadingConfigurationProviderSpi.java b/metamodel/src/main/java/org/apache/tamaya/metamodel/internal/DSLLoadingConfigurationProviderSpi.java index 1e2826c..05c68e3 100644 --- a/metamodel/src/main/java/org/apache/tamaya/metamodel/internal/DSLLoadingConfigurationProviderSpi.java +++ b/metamodel/src/main/java/org/apache/tamaya/metamodel/internal/DSLLoadingConfigurationProviderSpi.java @@ -90,9 +90,6 @@ public class DSLLoadingConfigurationProviderSpi implements ConfigurationProvider if(config==null){ synchronized (LOCK) { if(config==null){ - MetaConfiguration.configure(); - } - if(config==null){ // load defaults this.config = new DefaultConfiguration( new DefaultConfigurationContextBuilder() http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/681cb1e5/metamodel/src/test/java/org/apache/tamaya/metamodel/ext/IntegrationTest.java ---------------------------------------------------------------------- diff --git a/metamodel/src/test/java/org/apache/tamaya/metamodel/ext/IntegrationTest.java b/metamodel/src/test/java/org/apache/tamaya/metamodel/ext/IntegrationTest.java index edcaca5..874b82a 100644 --- a/metamodel/src/test/java/org/apache/tamaya/metamodel/ext/IntegrationTest.java +++ b/metamodel/src/test/java/org/apache/tamaya/metamodel/ext/IntegrationTest.java @@ -42,8 +42,14 @@ public class IntegrationTest { @Test public void checkSystemLoads(){ - assertThat(ConfigurationProvider.getConfiguration()).isNotNull(); - System.out.println(ConfigurationProvider.getConfiguration()); + Configuration defaultConfig = ConfigurationProvider.getConfiguration(); + assertThat(defaultConfig).isNotNull(); + + MetaConfiguration.configure(); + Configuration defaultMetaConfig = ConfigurationProvider.getConfiguration(); + assertThat(defaultMetaConfig).isNotNull(); + + assertThat(defaultConfig).isNotEqualTo(defaultMetaConfig); } @Test