[jboss-jira] [JBoss JIRA] Created: (JBCACHE-744) Expand CacheLoader API to support streaming state transfer
Vladimir Blagojevic (JIRA)
jira-events at jboss.com
Mon Aug 21 14:11:40 EDT 2006
Expand CacheLoader API to support streaming state transfer
----------------------------------------------------------
Key: JBCACHE-744
URL: http://jira.jboss.com/jira/browse/JBCACHE-744
Project: JBoss Cache
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Cache loaders
Affects Versions: 1.4.0, 1.3.0, 1.2
Reporter: Vladimir Blagojevic
Assigned To: Vladimir Blagojevic
Fix For: 2.0.0
CacheLoader API prior to 2.0 does not support streaming state transfer feature implemented in Jgroups 2.4. In order to transfer application state to a receiving cache node we currently have to load entire state into memory and send it to a receiving cache node. Major limitation of this approach is that the state transfer that is very large (>total memory allocated by JVM) would result in OutOfMemoryException.
For example, if a cacheloader is pointing to a huge DOM tree, whose aggregate size is 2GB (and which has partly been passivated to disk), then the state provider cacheloader node can simply iterate over the DOM tree (activating the parts which have been passivated out to disk), and write it to the OutputStream as it traverses the tree. The receiving cacheloader will simply read from the InputStream and reconstruct the tree on its side, possibly again passivating parts to disk. Rather than having to provide a 2GB byte[] buffer (besides the state, so the needed memory is ca 4GB temporarily), streaming state transfer transfers the state in chunks of N bytes (user configurable).
In order to accomodate this feature CacheLoader API will be expanded to include the following methods:
void storeEntireState(InputStream s);
void storeState(Fqn subtree,InputStream s);
void loadEntireState(OutputStream s);
void loadState(Fqn subtree,OutputStream s);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list