I saw at https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+3.0+Wishlist that custom affinity functions are on the potential wishlist for removal. The way we're using it's very critical that we be able to control the placement of data quite precisely - as part of that we specify explicitly the partition we want in the key, and then our affinity function uses that (else delegating to default rendezvous). We don't need all the abilities there, although I think that often others do.
This seems to me to be a case that the benefit of removing this is minimal and could cause quite a lot of disruption to users. Thanks!