Uhm, I'm almost sure I put some mechanism to avoid sticking without any free buffer... maybe it was into the eviction section, probably clearing one buffer when too many nulls are returned
On Sun, Jan 1, 2012 at 4:09 PM, Benoit Perroud (Created) (JIRA) < [email protected]> wrote: > MemoryMamagerService buffers allocation policy > ---------------------------------------------- > > Key: DIRECTMEMORY-53 > URL: https://issues.apache.org/jira/browse/DIRECTMEMORY-53 > Project: Apache DirectMemory > Issue Type: Improvement > Reporter: Benoit Perroud > Priority: Minor > > > MemoryMamagerService with multiple buffers has a really simple, even buggy > allocation policy : once a allocation fail (return null), we try the next > buffer. If the allocation fails a second time, we return a failure (a null > Pointer) to the caller. > If all the previous buffer were full at one point, we stick to the last > buffer, without any chance to try to allocate into a previous different > buffer (which could have again free space due to expiration or pointer > freeing). > > My idea here is to first correct this behavior, but then enhance the > fonctionality by providing configurable buffer allocation policy. For > example : > - round robin allocation, with a certain amount of retries (this would > also relax some concurrency contention) > - allocate into the buffer with the more free space > - allocate into the less fragmented buffer > - random > - ... > > -- > This message is automatically generated by JIRA. > If you think it was sent incorrectly, please contact your JIRA > administrators: > https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa > For more information on JIRA, see: http://www.atlassian.com/software/jira > > >
