Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.2-RC1
    • Fix Version/s: 1.8.2
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces

      Description

      "Too many open files" Exceptions may be thrown from various non-deterministic places in the code:

      java.io.FileNotFoundException: /opt/bea/weblogic_10.3.1.0/user_projects/domains/base_domain/edit.lok (Too many open files)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
      at weblogic.management.provider.internal.EditLockManager.persistLock(EditLockManager.java:493)
      at weblogic.management.provider.internal.EditLockManager.getEditLock(EditLockManager.java:244)
      at weblogic.management.provider.internal.EditAccessImpl.acquireLock(EditAccessImpl.java:257)
      at weblogic.management.provider.internal.EditAccessImpl.startEdit(EditAccessImpl.java:288)

      Once source of excessive file handles can be rapid checking of the last modified time of the JSPs, configured by:

          <context-param>
              <param-name>com.icesoft.faces.reloadInterval</param-name>
              <param-value>500</param-value>
          </context-param>

      The default is to check for modification every two seconds. With a large number of connected users, this check can exhaust the file handle limit before the file handles are automatically released.

        Activity

        Hide
        Ted Goddard added a comment -

        The default reload interval has been increased to 10 seconds, however, for production applications that are not subject to dynamic modification, it is recommended that reloadInterval be configured as above with a value of -1.

        It may be possible to implement a general fix for this by obtaining a file reference from the URL and working with (and closing) the file reference to obtain last modification time, however this will not be implemented at this time since changing the configuration is workable and is overall the most efficient (by disabling the filesystem access altogether).

        An interesting option would be to have different defaults for "production" and "development" project stages.

        Show
        Ted Goddard added a comment - The default reload interval has been increased to 10 seconds, however, for production applications that are not subject to dynamic modification, it is recommended that reloadInterval be configured as above with a value of -1. It may be possible to implement a general fix for this by obtaining a file reference from the URL and working with (and closing) the file reference to obtain last modification time, however this will not be implemented at this time since changing the configuration is workable and is overall the most efficient (by disabling the filesystem access altogether). An interesting option would be to have different defaults for "production" and "development" project stages.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: