Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-963

UnsupportedOperationException when sending new topology header from Hot Rod server

XMLWordPrintable

    • Medium

      If a Hot Rod server attempts to send a new hash topology header back to client while rehashing is going on due to a view change, it will fail like this:

      java.lang.UnsupportedOperationException: Unsupported!
         at org.infinispan.distribution.ch.UnionConsistentHash.getHashId(UnionConsistentHash.java:53)
         at org.infinispan.server.hotrod.HotRodEncoder$$anonfun$writeHashTopologyHeader$4.apply(HotRodEncoder.scala:164)
         at org.infinispan.server.hotrod.HotRodEncoder$$anonfun$writeHashTopologyHeader$4.apply(HotRodEncoder.scala:160)
         at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
         at scala.collection.immutable.List.foreach(List.scala:45)
         at org.infinispan.server.hotrod.HotRodEncoder.writeHashTopologyHeader(HotRodEncoder.scala:160)
         at org.infinispan.server.hotrod.HotRodEncoder.writeHeader(HotRodEncoder.scala:117)
         at org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:32)

      A solution here might be to compute all hash ids before deciding whether to send a new topology back to the client. If any of the computations is missed, the encoder could maybe keep track of it and try again when sending response to next command.

      A full console log can be found in: http://hudson.qa.jboss.com/hudson/view/EDG/job/edg-51x-stress-client-size6-hotrod/1/console-perf01/consoleText

              rh-ee-galder Galder ZamarreƱo
              rh-ee-galder Galder ZamarreƱo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: