[
https://issues.apache.org/jira/browse/DERBY-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas closed DERBY-2086.
--------------------------------
Resolution: Won't Fix
The interested engineer seems to have moved on, so I am closing this issue. It
can always be re-opened if someone wants to contribute more.
> Build a resource pooling subsystem to facilitate object reuse and concurrency
> -----------------------------------------------------------------------------
>
> Key: DERBY-2086
> URL: https://issues.apache.org/jira/browse/DERBY-2086
> Project: Derby
> Issue Type: Improvement
> Components: Services
> Reporter: Anders Morken
> Priority: Minor
>
> It could be useful to have a somewhat generic internal resource pooling
> service.
> The objective of this service would be to provide other services with the
> facility to:
> 1) Reuse objects that are expensive to create and/or garbage collect
> 2) Provide enough of the resource to permit multiple independent threads to
> work without waiting for a single shared resource.
> 3) Limit resource allocation to avoid excessive memory usage - perhaps
> responding to heap memory pressure and available resources.
> ...without having to reimplement all the logic and data structures needed to
> take care of sizing the pool, enable fast retrieval and freeing of resources.
> The motivation for logging this issue is a desire to manage the encryption
> buffers used by the RAFContainer4 implementation in DERBY-801. Currently it
> allocates a page-sized buffer for each write that requires encryption, uses
> it once and forgets it. It is a byte array, inexpensive to allocate and
> garbage collect, but but its size and frequent allocation could cause rapid
> exhaustion of the allocation areas causing more frequent garbage collection.
> The original idea for DERBY-801 was to use a pool of file descriptors on the
> same file to permit concurrent IO to one file, but this work stopped, lacking
> a good way to manage that pool.
> This leads me to believe that if we could make a reasonably lightweight,
> simple, efficient and sufficiently generic resource pool manager, it could be
> useful in more scenarios than just the store subsystem. However, good,
> lightweight, efficient, generic resource management is difficult...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.