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

ServerFailureRetrySingleOwnerTest doesn't actually test client retry

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 7.0.0.CR2
    • Server, Test Suite
    • None

    Description

      With useSynchronization = true (the default, before ISPN-4166 is integrated), the SuspectException thrown by the listener is swallowed by the transaction manager and the client doesn't retry. The test doesn't pick that up because the exception is thrown after the entry was updated in the data container (a regular SuspectException would be thrown before).

      I changed the configuration to useSynchronization = false, but it didn't work because the SuspectException is wrapped in a CacheListenerException, so the client throws an exception instead of retrying. I also changed the test to use an interceptor instead of a listener, but then I got a ClassCastException:

      Caused by: java.lang.ClassCastException: [B cannot be cast to org.infinispan.container.entries.CacheEntry
      	at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:424)
      	at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:429)
      	at org.infinispan.server.hotrod.Decoder2x$.customReadKey(Decoder2x.scala:285)
      	at org.infinispan.server.hotrod.HotRodDecoder.customDecodeKey(HotRodDecoder.scala:156)
      	at org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeKey(AbstractProtocolDecoder.scala:176)
      	at org.infinispan.server.core.AbstractProtocolDecoder.decodeDispatch(AbstractProtocolDecoder.scala:71)	... 14 more
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            dberinde@redhat.com Dan Berindei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: