<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Adding isp dev in the reply.<div>&nbsp;<br><div><div>On 3 Jun 2010, at 00:06, Romain Manni-Bucau wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi,<br><br>I would like to use infinispan (for data griding) with gridgain (for grid computing). My problem is to use the same "key" to run job where datas are located.<br><br>I read your article about affinity but i don't understand 2 things :<br>

<ol><li>how to use it when infinispan is configured with hibernate as L2 cache ?<br></li></ol></blockquote>Galder might help on this - what we need to know is how do we get a reference to the cache used as L2 in Hibernate.<br><blockquote type="cite"><ol start="2"><li>how to use it correctly : a) i create a key K (generated) to be sure to keep my date on a node, b) if i do : put(K, value),&nbsp; i have to keep a map with my own key (understandable) to use generated key so i have a second "cache"</li></ol></blockquote>Your scenario is a bit out of the scope of KeyAffinityService and will be implemented with <a href="https://jira.jboss.org/browse/ISPN-359">https://jira.jboss.org/browse/ISPN-359</a></div><div>An example use case for KAS is for web sessions: when you create a session id (you don't have to enforce a certain value on the session) you do want to create it so that it maps (distribution wise) on the local node. This way next calls from client (which uses session affinity) are local (at least as long as the cluster doesn't change its topology, but are optimists :) ).</div><div>Now returning to your example, &nbsp; you can use an replicated cache for keeping the mapping (myMap in your example). This would have the drawback of one additional remote call at creation time - but all subsequent gets will be local, so if the read/write ratio is high (many reads on the same key) this will pay off.</div><div>More, please be aware that a topology change will cause the existing collocated objects to be redistributed &nbsp;across nodes - even if you resurrect a &nbsp;failed node still applies.</div><div>HTH,</div><div>Mircea</div><div><blockquote type="cite"><ol>

</ol>ex : <br>K = service.getKeyForAddress(...);<br>myMap.put("myHumanKey", K);<br>cache.put(K, value);<br>readValue = cache.get(myMap.get("myHumanKey"));<br><br>BUT<br>i have to put myMap in the cache to be able to read it on all nodes ...<br>

<br>So as you can see i don't understand something so if you can help me. I can go on irc i you prefer, give me an hour (i'm in france).<br><br>Regards,<br><br clear="all">Romain Manni-Bucau<br>
</blockquote></div><br></div></body></html>