From commits-return-35583-archive-asf-public=cust-asf.ponee.io@karaf.apache.org Fri Jan 18 12:53:19 2019 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 56C5F180647 for ; Fri, 18 Jan 2019 12:53:19 +0100 (CET) Received: (qmail 97850 invoked by uid 500); 18 Jan 2019 11:53:18 -0000 Mailing-List: contact commits-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list commits@karaf.apache.org Received: (qmail 97841 invoked by uid 99); 18 Jan 2019 11:53:18 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2019 11:53:18 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id A2E9F87628; Fri, 18 Jan 2019 11:53:17 +0000 (UTC) Date: Fri, 18 Jan 2019 11:53:17 +0000 To: "commits@karaf.apache.org" Subject: [karaf] branch master updated: [KARAF-6089] Prevent deadlock on bundle lock between FelixStartLevel and features threads MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <154781239732.19405.17643504961759194103@gitbox.apache.org> From: ggrzybek@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: karaf X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: e681b8a3b8015b368f72bcc33e3e1ef9493df238 X-Git-Newrev: 1e678373a99d2635493f74fa940b757ce2138f70 X-Git-Rev: 1e678373a99d2635493f74fa940b757ce2138f70 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. ggrzybek pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/karaf.git The following commit(s) were added to refs/heads/master by this push: new 1e67837 [KARAF-6089] Prevent deadlock on bundle lock between FelixStartLevel and features threads new cbf9755 Merge pull request #729 from grgrzybek/KARAF-6089 1e67837 is described below commit 1e678373a99d2635493f74fa940b757ce2138f70 Author: Grzegorz Grzybek AuthorDate: Fri Jan 18 11:23:15 2019 +0100 [KARAF-6089] Prevent deadlock on bundle lock between FelixStartLevel and features threads --- .../internal/service/FeaturesServiceImpl.java | 32 ++++++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java index dcd15d8..066f721 100644 --- a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java +++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java @@ -45,6 +45,7 @@ import java.util.TreeSet; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.function.Function; import java.util.function.Predicate; @@ -916,7 +917,7 @@ public class FeaturesServiceImpl implements FeaturesService, Deployer.DeployCall saveState(); stateCopy = state.copy(); } - doProvisionInThread(requirements, emptyMap(), stateCopy, getFeaturesById(), options); + doProvisionInThread(requirements, emptyMap(), stateCopy, getFeaturesById(), options, false); } @Override @@ -964,13 +965,38 @@ public class FeaturesServiceImpl implements FeaturesService, Deployer.DeployCall final State state, final Map featureById, final EnumSet