Details
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.
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
Ted Goddard
created issue -
Ted Goddard
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | 1.8.2 [ 10190 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #19275 | Fri Sep 18 12:02:17 MDT 2009 | ted.goddard | increasing default reload interval ( |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/application/D2DViewHandler.java
|
Ted Goddard
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
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.