Infinispan 9.1: неподдерживаемый режим асинхронного кэша 'REPL_ASYNC' для транзакционных кешей

Я перевожу проект на Infinispan 9.1.0.Final из 8.2.4.Final и получил следующее исключение:

org.infinispan.commons.CacheConfigurationException: ISPN000441: неподдерживаемый режим асинхронного кэша 'REPL_ASYNC' для транзакционных кэшей

Связанный код:

new ConfigurationBuilder()
            .jmxStatistics()
            .enabled(false)
            .available(false)
            .clustering()
            .cacheMode(CacheMode.REPL_ASYNC)
            .stateTransfer().awaitInitialTransfer(false)
            .transaction()
            .transactionManagerLookup(new DummyTransactionManagerLookup())
            .transactionMode(TransactionMode.TRANSACTIONAL)
            .lockingMode(LockingMode.PESSIMISTIC)
            .recovery()
            .enabled(false)
            .invocationBatching()
            .enable(false)
            .indexing()
            .index(Index.ALL)
            .addProperty("default.indexmanager", "near-real-time")
            .addProperty("default.directory_provider", "ram")
            .addProperty("default.worker.execution", "sync")
            .addProperty("default.exclusive_index_use", "true")
            .addProperty("default.reader.strategy", "shared")
            .build();

И комбинация проблем здесь, но в 8.2.4. Окончательная версия это работает хорошо.

.cacheMode(CacheMode.REPL_ASYNC)
.transactionMode(TransactionMode.TRANSACTIONAL) // Maybe is there another way to lock put operations?

Как мне перенастроить кеш, чтобы сохранить его характеристики?

1 ответ

Асинхронный режим для транзакционных кешей был небезопасным, поскольку он не ожидал фиксации транзакции на каждом узле кластера, прежде чем сообщать об этом TransactionManager, Это может сделать ваши данные непоследовательными, если вам не повезло.

Чтобы избежать каких-либо проблем, он был удален. Пожалуйста, обновите вашу конфигурацию, чтобы использовать REPL_SYNC вместо.

Так же DummyTransactionManagerLookup устарела и должна быть заменена EmbeddedTransactionManagerLookup,

Существуют другие изменения, связанные с транзакциями, между 8.x и 9.x. Пожалуйста, ознакомьтесь с руководством по обновлению ( http://infinispan.org/docs/stable/upgrading/upgrading.html) для получения более подробной информации.

Другие вопросы по тегам