[jira] Created: (FELIX-1534) Improve fragment merging

View: New views
5 Messages — Rating Filter:   Alert me  

[jira] Created: (FELIX-1534) Improve fragment merging

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Improve fragment merging
------------------------

                 Key: FELIX-1534
                 URL: https://issues.apache.org/jira/browse/FELIX-1534
             Project: Felix
          Issue Type: Improvement
          Components: Framework
    Affects Versions: felix-2.0.0
            Reporter: Richard S. Hall
             Fix For: felix-2.2.0


Currently, the framework attempts to merge fragments each time it is going to resolve bundles. There are some drawbacks to this approach.

First, it is not good from a performance perspective. The framework keeps re-merging all fragments on each resolve whether they are needed or not. Second, since resolves happen in different places (e.g., when resolving a bundle and when resolving a dynamic import) we have to remember to do the merging in multiple places. This also creates a performance issue around dynamic imports, which required a hack to avoid merging if not needed when dynamically importing (see FELIX-1435).

The current approach doesn't actually clean up the merged fragments either, which can lead to some issues too. However, we could potentially turn this into a feature. Instead of the current approach, we could merge fragments as bundles are installed. This would help with performance issues as well as consistency issues (see again FELIX-1435).

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-1534) Improve fragment merging

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/FELIX-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall updated FELIX-1534:
-----------------------------------

    Fix Version/s:     (was: felix-2.0.1)
                   felix-2.2.0

> Improve fragment merging
> ------------------------
>
>                 Key: FELIX-1534
>                 URL: https://issues.apache.org/jira/browse/FELIX-1534
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-2.0.0
>            Reporter: Richard S. Hall
>             Fix For: felix-2.2.0
>
>
> Currently, the framework attempts to merge fragments each time it is going to resolve bundles. There are some drawbacks to this approach.
> First, it is not good from a performance perspective. The framework keeps re-merging all fragments on each resolve whether they are needed or not. Second, since resolves happen in different places (e.g., when resolving a bundle and when resolving a dynamic import) we have to remember to do the merging in multiple places. This also creates a performance issue around dynamic imports, which required a hack to avoid merging if not needed when dynamically importing (see FELIX-1435).
> The current approach doesn't actually clean up the merged fragments either, which can lead to some issues too. However, we could potentially turn this into a feature. Instead of the current approach, we could merge fragments as bundles are installed. This would help with performance issues as well as consistency issues (see again FELIX-1435).

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1534) Improve fragment merging

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/FELIX-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12766668#action_12766668 ]

Richard S. Hall commented on FELIX-1534:
----------------------------------------

Reminder to myself, once this change it made, then we should be able to eliminate acquiring the global lock to check if a dynamic import is allowed. This is an issue in FelixResolver.resolveDynamicImport() and Resolver.resolveDynamicImport().

> Improve fragment merging
> ------------------------
>
>                 Key: FELIX-1534
>                 URL: https://issues.apache.org/jira/browse/FELIX-1534
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-2.0.0
>            Reporter: Richard S. Hall
>             Fix For: felix-2.2.0
>
>
> Currently, the framework attempts to merge fragments each time it is going to resolve bundles. There are some drawbacks to this approach.
> First, it is not good from a performance perspective. The framework keeps re-merging all fragments on each resolve whether they are needed or not. Second, since resolves happen in different places (e.g., when resolving a bundle and when resolving a dynamic import) we have to remember to do the merging in multiple places. This also creates a performance issue around dynamic imports, which required a hack to avoid merging if not needed when dynamically importing (see FELIX-1435).
> The current approach doesn't actually clean up the merged fragments either, which can lead to some issues too. However, we could potentially turn this into a feature. Instead of the current approach, we could merge fragments as bundles are installed. This would help with performance issues as well as consistency issues (see again FELIX-1435).

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-1534) Improve fragment merging

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/FELIX-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall updated FELIX-1534:
-----------------------------------

    Fix Version/s:     (was: felix-2.2.0)
                   felix-2.0.2
         Assignee: Richard S. Hall

> Improve fragment merging
> ------------------------
>
>                 Key: FELIX-1534
>                 URL: https://issues.apache.org/jira/browse/FELIX-1534
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-2.0.0
>            Reporter: Richard S. Hall
>            Assignee: Richard S. Hall
>             Fix For: felix-2.0.2
>
>
> Currently, the framework attempts to merge fragments each time it is going to resolve bundles. There are some drawbacks to this approach.
> First, it is not good from a performance perspective. The framework keeps re-merging all fragments on each resolve whether they are needed or not. Second, since resolves happen in different places (e.g., when resolving a bundle and when resolving a dynamic import) we have to remember to do the merging in multiple places. This also creates a performance issue around dynamic imports, which required a hack to avoid merging if not needed when dynamically importing (see FELIX-1435).
> The current approach doesn't actually clean up the merged fragments either, which can lead to some issues too. However, we could potentially turn this into a feature. Instead of the current approach, we could merge fragments as bundles are installed. This would help with performance issues as well as consistency issues (see again FELIX-1435).

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (FELIX-1534) Improve fragment merging

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/FELIX-1534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall closed FELIX-1534.
----------------------------------

    Resolution: Fixed

Fragment merging now happens at install time, not resolve time. No longer acquire global lock to check dynamic imports.

> Improve fragment merging
> ------------------------
>
>                 Key: FELIX-1534
>                 URL: https://issues.apache.org/jira/browse/FELIX-1534
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-2.0.0
>            Reporter: Richard S. Hall
>            Assignee: Richard S. Hall
>             Fix For: felix-2.0.2
>
>
> Currently, the framework attempts to merge fragments each time it is going to resolve bundles. There are some drawbacks to this approach.
> First, it is not good from a performance perspective. The framework keeps re-merging all fragments on each resolve whether they are needed or not. Second, since resolves happen in different places (e.g., when resolving a bundle and when resolving a dynamic import) we have to remember to do the merging in multiple places. This also creates a performance issue around dynamic imports, which required a hack to avoid merging if not needed when dynamically importing (see FELIX-1435).
> The current approach doesn't actually clean up the merged fragments either, which can lead to some issues too. However, we could potentially turn this into a feature. Instead of the current approach, we could merge fragments as bundles are installed. This would help with performance issues as well as consistency issues (see again FELIX-1435).

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.