Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5E77211D4B for ; Thu, 24 Apr 2014 20:37:26 +0000 (UTC) Received: (qmail 98318 invoked by uid 500); 24 Apr 2014 20:37:21 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 98079 invoked by uid 500); 24 Apr 2014 20:37:19 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 98032 invoked by uid 99); 24 Apr 2014 20:37:18 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Apr 2014 20:37:18 +0000 Date: Thu, 24 Apr 2014 20:37:18 +0000 (UTC) From: "Thomas Watson (JIRA)" To: dev@felix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (FELIX-4497) Invalid wirings may result from substitutable exports MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FELIX-4497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Watson updated FELIX-4497: --------------------------------- Attachment: org.apache.felix.resolver.patch This patch takes an approach that uses two steps: 1) During the prepare phase (end of populate phase) establish a table of Capability->Requirement that maps each capability to the requirement that potentially could be used to substitute the capability 2) For each permutation: check for substitutes. If substitutes are found then A) create a new permutation that selects the next candidate for the substitution requirement and B) for the existing permutation remove the substituted capability as the candidate > Invalid wirings may result from substitutable exports > ----------------------------------------------------- > > Key: FELIX-4497 > URL: https://issues.apache.org/jira/browse/FELIX-4497 > Project: Felix > Issue Type: Bug > Reporter: Thomas Watson > Attachments: org.apache.felix.resolver.patch > > > FELIX-737 is a framework issue but the same issue also exists in the standalone resolver implementation. I am opening a separate bug to specifically address the issue in the standalone resolver implementation. > The felix framework resolve has a known issue with substitutable exports FELIX-737. The scenario is pretty complex. It involves bundles multiple bundles that export and import the same package X at different versions and an importer that imports the package with a range that requires a specific package. If that specific package gets substituted there are cases where the resolver will return wires to the substituted export. > The ideal solution would do something smart with selection of substituted exports so that different combinations or selections can be made if the first substitution did not provide good results. This potentially will explode the permutations. For now we should at least change the current permutation to drop the substituted exports so that invalid wires do not get created. That could drop some good valid combinations, but that is better than the current state where completely invalid wires get created. -- This message was sent by Atlassian JIRA (v6.2#6252)