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

IllegalArgumentException when doing Rolling Upgrades on transactional caches

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 11.0.10.Final, 12.1.0.Final
    • 11.0.9.Final, 12.0.0.Final
    • Core
    • None

      Caused by: java.lang.IllegalArgumentException: Cannot create a transactional context without a valid Transaction instance.
          at org.infinispan.context.impl.TransactionalInvocationContextFactory.createInvocationContext(TransactionalInvocationContextFactory.java:63)
      [...]
          at org.infinispan.cache.impl.DecoratedCache.putIfAbsent(DecoratedCache.java:688)
          at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.putIfAbsent(AbstractDelegatingAdvancedCache.java:328)
          at org.infinispan.cache.impl.EncoderCache.putIfAbsent(EncoderCache.java:450)
          at org.infinispan.persistence.remote.upgrade.MigrationTask.lambda$migrateEntriesWithMetadata$0(MigrationTask.java:128)
          at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1771)
      

      The migration component that obtains data from the remote cache does not use transactions to write to the destination cache, and since it runs on a separate thread, it cannot see any ongoing transaction and thus fail to write to the cache.

              gfernand@redhat.com Gustavo Fernandes (Inactive)
              gfernand@redhat.com Gustavo Fernandes (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: