I'm currently trying to run an infinispan cluster (5.1.4.FINAL) with two machines using invalidation. Right now I'm trying to run two processes on the same machine that should send invalidation messages to each other but I cant get them to see each other and properly send messages through.

As soon as the second process starts up they start sending messages but both of them drop messages with the error that the sender is not in table. I tried the McastSenderTest/McastReceiverTest which seems to work. When having a McastReceiverTest running I seem to get the updates from the infinispan nodes as well although it looks a bit strange. Anyone know what I'm doing wrong here?

10:07:18,805 WARN [UDP] send buffer of socket java.net.DatagramSocket@359ba2ce was set to 640KB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max send buffer in the OS correctly (e.g. net.core.wmem_max on Linux)

10:07:18,805 WARN [UDP] receive buffer of socket java.net.DatagramSocket@359ba2ce was set to 20MB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max receive buffer in the OS correctly (e.g. net.core.rmem_max on Linux)

10:07:18,805 WARN [UDP] send buffer of socket java.net.MulticastSocket@7cdd9de0 was set to 640KB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max send buffer in the OS correctly (e.g. net.core.wmem_max on Linux)

10:07:18,805 WARN [UDP] receive buffer of socket java.net.MulticastSocket@7cdd9de0 was set to 25MB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max receive buffer in the OS correctly (e.g. net.core.rmem_max on Linux)

10:18:28,461 WARN [UDP] send buffer of socket java.net.DatagramSocket@7cdd9de0 was set to 640KB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max send buffer in the OS correctly (e.g. net.core.wmem_max on Linux)

10:18:28,461 WARN [UDP] receive buffer of socket java.net.DatagramSocket@7cdd9de0 was set to 20MB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max receive buffer in the OS correctly (e.g. net.core.rmem_max on Linux)

10:18:28,462 WARN [UDP] send buffer of socket java.net.MulticastSocket@4c130f9f was set to 640KB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max send buffer in the OS correctly (e.g. net.core.wmem_max on Linux)

10:18:28,462 WARN [UDP] receive buffer of socket java.net.MulticastSocket@4c130f9f was set to 25MB, but the OS only allocated 131.07KB. This might lead to performance problems. Please set your max receive buffer in the OS correctly (e.g. net.core.rmem_max on Linux)

I actually have another question about Invalidation mode. Do I get it right that after cached object is updated on one of the cluster nodes then the other nodes should eventually retrieve the updated data from the store? Can the object be replicated from the node where it was modified? I'm trying to avoid expensive DB queries for complex objects and reuse updated cache object on other nodes when it's requested. Something similar to replicated mode, but only "on demand". Can it be achieved?

And one more. Are the objects on other nodes invalidated automatically or I should use @CacheEntryInvalidated listener to do it from the client?

I'm using the out of the box jgroups-udp.xml configuration file. I'm not sure what you mean by send buffer being wrong. Anyone else got an idea why they are not able to find each other but are able to send messages to each other (resulting in a drop though).