|Version 6 (modified by simonp, 2 years ago)|
Handling Startup Errors and Showing Database Stats
|Status||draft, being discussed - initial work complete|
|Assigned to release||2.7.0|
Many users report problems because an exception has been raised in the servlet initialization. This is often due to database connection problems but can be due to other things such as port already in use. Asking users to look at the log files is not terribly satisfactory because:
- although the problems often need changes to config files, the log files are not always accessible to the user
- often the first exception will cause a shower of other exceptions and this is confusing
Jeeves is designed to display exceptions that occur after servlet initialization. So the changes in this proposal will:
- detect and collect any exception information from the servlet initialization (as well as continuing to log it) in jeeves/server/JeevesEngine.java
- if an exception occurs then this info will be shown to any user that makes a request after the servlet has finished initialization by directing all requests (because we can't assume the user will come to the page through a particular service and what use is the webapp when the initialization has failed?) to a GeoNetwork error service (main.error), configured in web/geonetwork/WEB-INF/config.xml
Finally, related to this problem is the need to display database status (at least: has the connection been successful, jdbc url, number of active connections in pool, number of available (idle) connections in pool, maximum number of active connections). This info can be obtained from the Apache Commons Database Connection Pool ResourceProvider that replaces the old Jeeves DbmsPool and can be displayed in Francois' new System Information screen in the Administration menu.
- Type: Jeeves Change, GeoNetwork config change
- App: GeoNetwork
- Module: Jeeves (mainly)
- Developer list discussions:
- Not proposed for voting as its probably only a minor change.
- Make info about exceptions during initialization available through the web interface.
- Let the user see status and stats about current database connections in the web interface
Backwards Compatibility Issues
New libraries added
- screenshort-initialization-exception.png (2.6 MB) - added by simonp 2 years ago.
- screenshot-system-information-with-database-section.png (100.6 KB) - added by simonp 2 years ago.
- screenshot-initialization-exception-roledoesntexist.png (197.1 KB) - added by simonp 2 years ago.