Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0-M2
    • Fix Version/s: 3.0-M2, 3.0
    • Component/s: eclipse-plugin
    • Labels:
      None

      Description

      Some EBAs might be huge and contain many bundles. Right now whenever a bundle in a EBA is updated, the entire EBA is re-assembled and re-deployed to the server. That of course, can be expensive if the application is big. So it would be nice if only the updated bundle was re-deployed to the server.

      This feature will probably require changes to the server's deployer code or might need a new set of API for deploying & managing bundles within or outside of EBAs.

        Activity

        Hide
        Han Hong Fang added a comment -

        https://issues.apache.org/jira/browse/GERONIMO-5861 is created for necessary change at server side.

        Show
        Han Hong Fang added a comment - https://issues.apache.org/jira/browse/GERONIMO-5861 is created for necessary change at server side.
        Hide
        Han Hong Fang added a comment -

        The solution is to keep the updated bundle only in the geronimo server cache instead of geronimo server repository. So in following cases the updated bundle will be lost, and the original bundle included in EBA archive file comes back.

        1. Start geronimo server with --clean option
        2. Restart EBA application in Admin console -> Application EBAs

        BTW, the feature is not enabled by default. User can turn it on/off in server editor section named "Refresh OSGi bundle within OSGi application".

        Show
        Han Hong Fang added a comment - The solution is to keep the updated bundle only in the geronimo server cache instead of geronimo server repository. So in following cases the updated bundle will be lost, and the original bundle included in EBA archive file comes back. 1. Start geronimo server with --clean option 2. Restart EBA application in Admin console -> Application EBAs BTW, the feature is not enabled by default. User can turn it on/off in server editor section named "Refresh OSGi bundle within OSGi application".
        Hide
        Han Hong Fang added a comment -

        Commit the implementation at revision 1084873.

        Show
        Han Hong Fang added a comment - Commit the implementation at revision 1084873.
        Hide
        Jarek Gawor added a comment -

        In revision 1125219 I removed the warning message about the lost updates since the updates are persistent now. See GERONIMO-5861 for details.

        Show
        Jarek Gawor added a comment - In revision 1125219 I removed the warning message about the lost updates since the updates are persistent now. See GERONIMO-5861 for details.
        Hide
        Jarek Gawor added a comment -

        In revision 1134035 I simplified the EBA code that deals with deciding which module/bundle should be refreshed. I also changed the code not to cache the bundle ids since they change frequently and it's hard to keep GEP up-to-date with the latest ids.
        There is definitely a lot more opportunity here to optimize and clean up the bundle update code.

        Show
        Jarek Gawor added a comment - In revision 1134035 I simplified the EBA code that deals with deciding which module/bundle should be refreshed. I also changed the code not to cache the bundle ids since they change frequently and it's hard to keep GEP up-to-date with the latest ids. There is definitely a lot more opportunity here to optimize and clean up the bundle update code.
        Hide
        Jarek Gawor added a comment -

        In revision 1134924 I removed code & methods associated with caching bundle ids - since we are no longer using the cache.

        Show
        Jarek Gawor added a comment - In revision 1134924 I removed code & methods associated with caching bundle ids - since we are no longer using the cache.
        Hide
        Yi Xiao added a comment -

        Jarek, now, the server side has modified the OSGI bundles' deployment process, so, I need to do some bundle cache operations in the GEP side, could I just use the cache and the relative methods you removed?

        Show
        Yi Xiao added a comment - Jarek, now, the server side has modified the OSGI bundles' deployment process, so, I need to do some bundle cache operations in the GEP side, could I just use the cache and the relative methods you removed?

          People

          • Assignee:
            Han Hong Fang
            Reporter:
            Jarek Gawor
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development