Switch to background thread for reloading files

Description

Some complaints have been raised with the "pauses" to the runtime when a large reloadable file is fetched during the lock operation. Switching to a background thread should resolve this by reducing the contention window to a "swap" under a write lock.

Using a single background thread and having each instance of ReloadableXMLFile "register" with it would be better than spawning a thread per object. Each object could register a callback that would be responsible for the work that's currently in the load method.

Environment

None

Activity

Show:

Scott Cantor December 17, 2010 at 2:39 PM

Closing after release.

Scott Cantor March 29, 2010 at 10:15 PM

http://svn.middleware.georgetown.edu/view/cpp-xmltooling?view=rev&revision=725

Abandoned a single background thread due to concerns about object deletion, so each class instance spawns its own thread.

Compatible with existing plugins, but reloading occurs under a write lock, which leaves performance degraded in most cases. Upgraded plugins override a different method and manage their own locking during reloads to reduce contention window to a pointer swap.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Created December 29, 2009 at 11:11 PM
Updated December 17, 2010 at 2:39 PM
Resolved March 29, 2010 at 10:15 PM