glassfish
  1. glassfish
  2. GLASSFISH-14310

Restart required icon/text does not show up after installing an add-on

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1
    • Fix Version/s: 3.1_dev
    • Component/s: docs
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

      Description

      build: glassfish-3.1-b26-10_26_2010.zip

      Go to Update Tool and install an add-on, e.g. ant. After the installation a
      message is displayed that it was successful and that server needs to be
      restarted. However, restart required text and icon are not displayed at the top
      of the Admin Console. Also, just out of curiosity, why is is restart required
      for ant?

        Activity

        Hide
        Anissa Lam added a comment -

        I am transferring this to admin since i need their input, and they may need to fix the backend code.

        In 3.0.1, GUI were told to always tell user to restart after installing any additional package. Hence
        the message. If this is not needed anymore, GUI can remove that.

        GUI display the restart required icon depending what the backend tells us. If it doesn't indicate that
        restart is required, it won't be show.
        So, backend will need to fix this restart required status, in that case, the icon will show up.

        Transfer to Jerome for his input.

        Show
        Anissa Lam added a comment - I am transferring this to admin since i need their input, and they may need to fix the backend code. In 3.0.1, GUI were told to always tell user to restart after installing any additional package. Hence the message. If this is not needed anymore, GUI can remove that. GUI display the restart required icon depending what the backend tells us. If it doesn't indicate that restart is required, it won't be show. So, backend will need to fix this restart required status, in that case, the icon will show up. Transfer to Jerome for his input.
        Hide
        dochez added a comment -

        I am reassigning to Tom for a final decision but this is my input :

        1. when a module is installed/removed in/from the glassfish/modules directory, the application server
        must be restarted for that change to be effective.

        2. there is no configuration operation happening on the domain.xm when folks add or remove bundles
        (including through the update center) so the normal restart-required mechanism does not apply here.

        One suggestion would be to watch for directory/file changes in glassfish/modules directory (there is a
        @Service for that, called FileMonitoring IIRC) and when a change happens, it should explicitly set the
        restart required flag.

        Show
        dochez added a comment - I am reassigning to Tom for a final decision but this is my input : 1. when a module is installed/removed in/from the glassfish/modules directory, the application server must be restarted for that change to be effective. 2. there is no configuration operation happening on the domain.xm when folks add or remove bundles (including through the update center) so the normal restart-required mechanism does not apply here. One suggestion would be to watch for directory/file changes in glassfish/modules directory (there is a @Service for that, called FileMonitoring IIRC) and when a change happens, it should explicitly set the restart required flag.
        Hide
        Tom Mueller added a comment -

        Anissa, what interface do you use to the backend for getting the restart
        required status?

        The Image Package System has the capability to indicate that a restart is
        required when an action is updated through the use of the reboot-needed actuator
        on an action. However, there are a few problems with this:

        a) GlassFish packages do not tag JAR files with reboot-needed
        b) One interpretation of reboot-needed is that this is for the operating system,
        i.e., it means that an OS reboot is needed. Therefore, it doesn't apply to
        GlassFish. To deal with this, the concept of user-level actuators has been
        defined.
        c) User-level actuators are not implemented in the version of IPS being used
        by GlassFish.
        d) The Java API for IPS doesn't support accessing the actuator information on
        actions even if it was there.

        Then intent with UC 2.4 was that user-level actuators were going to be
        implemented to do this. But since UC 2.4 is not being implemented, this
        capability is missing.

        So the bottom line is that the packaging system at this time does not support
        the accurate reporting of whether a server restarted is needed.

        As Anissa stated, any reporting of a restart needed by the GUI is message that
        is output for every package installation. Maybe the message could be rewritten
        to be more vague, such as saying that a restart may be needed to use the
        functionality provided by the package. This would also eliminate the need for
        the restart required indicator to be turned on, because a restart is not really
        required; it is only required if one wants to use the functionality that was
        just installed. Since the only package operation that is available from the
        console is to add a package, a restart really is never required after this. It
        is only needed if one wants to use the functionality.

        Reassigning back to admin_gui because eventually something there has to be
        fixed. If there is some new functionality related to the backend that is needed
        for this, please file a new issue. However, at this point, I would suggest just
        changing the message slightly to remove the implication that a restart is
        required.

        Show
        Tom Mueller added a comment - Anissa, what interface do you use to the backend for getting the restart required status? The Image Package System has the capability to indicate that a restart is required when an action is updated through the use of the reboot-needed actuator on an action. However, there are a few problems with this: a) GlassFish packages do not tag JAR files with reboot-needed b) One interpretation of reboot-needed is that this is for the operating system, i.e., it means that an OS reboot is needed. Therefore, it doesn't apply to GlassFish. To deal with this, the concept of user-level actuators has been defined. c) User-level actuators are not implemented in the version of IPS being used by GlassFish. d) The Java API for IPS doesn't support accessing the actuator information on actions even if it was there. Then intent with UC 2.4 was that user-level actuators were going to be implemented to do this. But since UC 2.4 is not being implemented, this capability is missing. So the bottom line is that the packaging system at this time does not support the accurate reporting of whether a server restarted is needed. As Anissa stated, any reporting of a restart needed by the GUI is message that is output for every package installation. Maybe the message could be rewritten to be more vague, such as saying that a restart may be needed to use the functionality provided by the package. This would also eliminate the need for the restart required indicator to be turned on, because a restart is not really required; it is only required if one wants to use the functionality that was just installed. Since the only package operation that is available from the console is to add a package, a restart really is never required after this. It is only needed if one wants to use the functionality. Reassigning back to admin_gui because eventually something there has to be fixed. If there is some new functionality related to the backend that is needed for this, please file a new issue. However, at this point, I would suggest just changing the message slightly to remove the implication that a restart is required.
        Hide
        Anissa Lam added a comment -

        Tom, GUI calls the "_get-restart-required" command to check if restart is required, which also
        gives the reason of why restart is required.

        I think the message to user is very clear already. But i do as you suggest and transferring to doc
        for a better message to present to user.
        Currently, it says:
        "selected package(s) successfully installed. Server must be restarted before the module(s) are
        available."

        However, I don't completely agree with the sentence :
        "Since the only package operation that is available from the console is to add a package, a restart
        really is never required after this. It is only needed if one wants to use the functionality."

        Basically you are saying, "restart is required ONLY if user wants to use the functionality', so 'restart-
        required' status isn't really necessary. Isn't this true for everything ? If i set debug enable to
        true, I don't need to restart the server unless i want to debug. Then, why the server has the
        'restart-required' status for config changes ?
        I don't see how this is different than adding additional components. So, I think backend should be
        fixed to indicate 'restart-required' after user adds/remove components, maybe as what Jerome
        suggested.

        Show
        Anissa Lam added a comment - Tom, GUI calls the "_get-restart-required" command to check if restart is required, which also gives the reason of why restart is required. I think the message to user is very clear already. But i do as you suggest and transferring to doc for a better message to present to user. Currently, it says: "selected package(s) successfully installed. Server must be restarted before the module(s) are available." However, I don't completely agree with the sentence : "Since the only package operation that is available from the console is to add a package, a restart really is never required after this. It is only needed if one wants to use the functionality." Basically you are saying, "restart is required ONLY if user wants to use the functionality', so 'restart- required' status isn't really necessary. Isn't this true for everything ? If i set debug enable to true, I don't need to restart the server unless i want to debug. Then, why the server has the 'restart-required' status for config changes ? I don't see how this is different than adding additional components. So, I think backend should be fixed to indicate 'restart-required' after user adds/remove components, maybe as what Jerome suggested.
        Hide
        Mike Fitch added a comment -

        Here's a message that gets rid of the word "must" to avoid confusion between
        "must in order to use the new capabilities" and "must in order to continue
        successful operation". Additionally, it collapses "package" and "module" to the
        single term "component", which is what users add via the Update Tool.


        The selected components were successfully installed. To make the components
        available, restart the server.

        Show
        Mike Fitch added a comment - Here's a message that gets rid of the word "must" to avoid confusion between "must in order to use the new capabilities" and "must in order to continue successful operation". Additionally, it collapses "package" and "module" to the single term "component", which is what users add via the Update Tool. — The selected components were successfully installed. To make the components available, restart the server. —
        Hide
        Mike Fitch added a comment -

        Message updated to "The selected components were successfully installed. To make the components available, restart the server."

        v3 svn commit rev 43777; included in v3 build 33 (MS7)

        Show
        Mike Fitch added a comment - Message updated to "The selected components were successfully installed. To make the components available, restart the server." v3 svn commit rev 43777; included in v3 build 33 (MS7)
        Hide
        lidiam added a comment -

        Verified in build b43.

        Show
        lidiam added a comment - Verified in build b43.

          People

          • Assignee:
            Mike Fitch
            Reporter:
            lidiam
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: