The key data structure underlying the outrigger implementation needs
significant changes to make it fully reliable with the 1.5 memory model.
Do we need to keep a version around that works on 1.5, or is support
for JavaSpaces on 1.5 and later sufficient?
The current implementation uses double checked locking and related
techniques that were thought to work with the 1.4 memory model, and do
work most of the time on most 1.4 systems, but have some holes depending
on optimizer and hardware. If it has to run on 1.4, it would probably
need some work, and be a different data structure from 1.5 and later.
For 1.5, I am thinking of finding or writing a list-like data structure
with the following characteristics:
1. Preserves order of arrival, so that it is possible to obtain the
oldest entry, or all entries older than a specified entry, or scan in
age order.
2. Removal from anywhere in the list.
3. Very fast parallel scans.
This data structure would replace FastList in outrigger. It might also
be useful for TaskManager.
Any suggestions for an existing Java 1.5 compatible data structure that
can be used in River and meets these requirements?
Patricia