jbosscache-dev-bounces(a)lists.jboss.org wrote:
Manik Surtani wrote:
> Yeah, I may do a CR1 tomorrow anyway, and get JBCACHE-315 and JGroups
> 2.4.1 in CR2 now. There are enough changes from fixing
> JBCACHE-871 and JBCACHE-875 to warrant a CR, as these are pretty big
> changes.
It's not a big deal if JBCACHE-874 doesn't go in 1.4.1.CR1,
but it would be nice to get it in so it's out in the wild
longer before the GA.
This is a switch from LinkedList to LinkedHashSet as the data
structure in TransactionEntry; there's a forum post linked to
the JIRA that explains why.
I can probably do this today, but wanted to point out a
couple things and get feedback:
1) A bunch of the LinkedList fields in TransactionEntry are protected.
Changing them to LinkedHashSet therefore technically changes the API.
This is an internal class, so I don't think that's an issue.
Any objections?
2) A number of TransactionEntry methods return List and
currently hand out a ref to the internal data structure. The
caller of these methods logically expects a List so I think
the API should remain the same. So, that implies the methods
would do something like "return new ArrayList(internalSet);"
If there are any concerns about this, it doesn't need to get
done today or go in CR1.
Replying to myself :(
Had a look at some of the uses of the TransactionEntry methods that
return List and at least some are frequently used and don't need List
semantics (e.g. CacheLoaderInterceptor.wasRemovedInTx().) So copying off
the Set to a List to satisfy these calls is unnecessary overhead. I
think JBCACHE-874 needs a bit more thought, so I'm not going to try to
rush it in one day.