[ http://issues.apache.org/jira/browse/DERBY-443?page=all ]
Mike Matrigali updated DERBY-443:
---------------------------------
Component: Services
> Make Derby engine robust in case of OutOfMemoryError exceptions
> ---------------------------------------------------------------
>
> Key: DERBY-443
> URL: http://issues.apache.org/jira/browse/DERBY-443
> Project: Derby
> Type: Task
> Components: Services
> Reporter: Daniel John Debrunner
> Priority: Minor
>
> Derby currently treats an OutOfMemoryError as a virtual machine exception,
> terminal failure and shuts down.
> However in many cases Derby could (possibly) recover gracefully by just
> disallowing the requested operation.
> Examples are
> - reject a connection request
> - throw an exception on a new compilation (e.g. prepareStatement or
> executeQuery)
> - not increase the size of a cache
> - don't boot the database
> I think the only case where recovery is not possible is an exception during a
> rollback, in this case the database needs to be shutdown and recovery will
> correctly handle the situation.
> In addition a system wide facility could be added that is called upon low
> memory and tries to reduce memory usage by Derby, e.g. reduce the size of
> various caches. An initial version of this could be very simple, just calling
> System.gc().
> I was thinking this could be the high level task, and sub tasks could be
> added for individual pieces of work, e.g. connection handling, statement
> handling etc. as people wanted to address items.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira