glassfish
  1. glassfish
  2. GLASSFISH-17025

Optimize startup by avoiding modules change detection logic

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.1.1
    • Fix Version/s: future release
    • Component/s: admin
    • Labels:
      None

      Description

      Currently we spend anywhere between 100 to 150 ms (3-4%) to detect if any module in modules/ has changed or not. In a real(production) environment, this may not be necessary, since in such an environment, a change in the installation is done via an admin tool like pkg or admin console. If admin module can enhance their tool to notify glassfish launcher about any change made in the system, then we should be able to avoid this logic in production environment. Prioritize as you see fit. Close if this can't be done.

        Activity

        Hide
        Tom Mueller added a comment -

        Whenever IPS updates a file in GlassFish, the "modules" directory itself is modified. So one possible optimization might be to check the modification time of the "modules" directory, and if it isn't newer than the cache (which is the typical case) then skip checking the individual files.

        The problem with this is that this doesn't work for the typical developer case in which a developer just use "cp" to copy in a new version of the JAR file. If the developer would remove the old version and then copy in the new version it would work.

        Maybe there could be a "production" configuration option which would only work when IPS is being used to update the files.

        Show
        Tom Mueller added a comment - Whenever IPS updates a file in GlassFish, the "modules" directory itself is modified. So one possible optimization might be to check the modification time of the "modules" directory, and if it isn't newer than the cache (which is the typical case) then skip checking the individual files. The problem with this is that this doesn't work for the typical developer case in which a developer just use "cp" to copy in a new version of the JAR file. If the developer would remove the old version and then copy in the new version it would work. Maybe there could be a "production" configuration option which would only work when IPS is being used to update the files.

          People

          • Assignee:
            kumara
            Reporter:
            Sanjeeb Sahoo
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: