Good catch Manik! I just copied the approach from ClusteredGetResponseFilter and I didn't think too much about performance issues.
Bela, the BitSet approach sounds a little better than a simple counter from a debugging perspective. But I think we're also missing some synchronization at the moment, and with the counter approach could be made thread-safe with minimal overhead by using an AtomicInteger. I assume using a counter only is safe (i.e. RspFilter.isAcceptable() will never be called twice for the same target). ClusteredGetResponseFilter could probably use the same treatment, except the targets list is quite small so we can search in the list directly instead of creating a HashSet with the same contents. Cheers Dan On Sat, Jan 14, 2012 at 4:06 PM, Bela Ban <b...@redhat.com> wrote: > Another implementation could take the current view, and create a BitSet > with the size being the length of the view, and every bit corresponds to > the position of a member in the view, e.g.: > V1={A,B,C,D,E,F}, bitset={0,0,1,0,1,1} means that responses have been > received from C, E and F. > > On 1/13/12 8:20 PM, Manik Surtani wrote: >> Looking at IgnoreExtraResponsesValidityFilter - this seems to be a >> scalability issue! It seems to copy a set of every address in the cluster >> and gradually remove entries as responses come in. Isn't this a scalability >> issue? Since - assuming a large cluster - for every prepare command, we >> create a collection, copy into it the entire list of addresses (think >> hundreds of nodes x hundreds of concurrent threads) only to "count down" on >> the responses. I'm almost certain there is a better way to do this! :) >> Maybe even maintain a shared list of members (updated whenever there is a >> view change) to test for responses from non-members, a counter, and assume >> that members don't respond to the same request more than once? >> >> Cheers >> Manik >> -- >> Manik Surtani >> ma...@jboss.org >> twitter.com/maniksurtani >> >> Lead, Infinispan >> http://www.infinispan.org > > -- > Bela Ban > Lead JGroups (http://www.jgroups.org) > JBoss / Red Hat > _______________________________________________ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev