Apache Ignite кэш длительная транзакция - PullRequest
0 голосов
/ 10 сентября 2018

Иногда, не всегда, когда меняется топология моего кластера, случается, что мое приложение зависает до 1 минуты или более. В журнале я вижу следующее предупреждение Ignite. Я думаю, это причина, по которой мое приложение зависает при операции кэширования.

Что вызывает длинную транзакцию? Я ожидаю, что это или проблемы с сетью или GC?

Мне не удалось выяснить, какая операция кэширования в моем коде вызывает эту длинную транзакцию. Помогает ли предупреждение узнать, что это за операция?

22:00:30.456 [grid-timeout-worker-#63][101] WARN  org.apache.ignite.internal.diagnostic-[warning] Found long running transaction [startTime=21:58:57.176, curTime=22:00:30.456, tx=GridNearTxLocal [mappings=IgniteTxMappingsImpl [], nearLocallyMapped=false, colocatedLocallyMapped=false, needCheckBackup=null, hasRemoteLocks=false, trackTimeout=false, lb=null, thread=<failed to find active thread 1498>, mappings=IgniteTxMappingsImpl [], super=GridDhtTxLocalAdapter [nearOnOriginatingNode=false, nearNodes=[], dhtNodes=[], explicitLock=false, super=IgniteTxLocalAdapter [completedBase=null, sndTransformedVals=false, depEnabled=false, txState=IgniteTxStateImpl [activeCacheIds=[], recovery=null, txMap=[]], super=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=147994093, order=1536523104974, nodeOrder=74], writeVer=null, implicit=false, loc=true, threadId=1498, startTime=1536523137176, nodeId=e8153238-1d5a-4149-8db8-83a9fc820750, startVer=GridCacheVersion [topVer=147994093, order=1536523104974, nodeOrder=74], endVer=null, isolation=REPEATABLE_READ, concurrency=PESSIMISTIC, timeout=0, sysInvalidate=false, sys=false, plc=2, commitVer=null, finalizing=NONE, invalidParts=null, state=ACTIVE, timedOut=false, topVer=AffinityTopologyVersion [topVer=-1, minorTopVer=0], duration=93280ms, onePhaseCommit=false], size=0]]]]

Мои кэши созданы так:

<bean class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="MFDB_JobList" />
    <property name="cacheMode" value="PARTITIONED" />
    <property name="backups" value="0" />
    <property name="atomicityMode" value="TRANSACTIONAL"/> 
    <property name="writeSynchronizationMode" value="FULL_SYNC"/>
    <property name="indexedTypes">
        <list>
            <value>java.util.UUID</value>
            <value>CacheJobQueueEntry</value>
        </list>
    </property>
</bean>

Соответствующая конфигурация зажигания выглядит следующим образом:

<property name="networkTimeout" value="60000" />
<property name="networkSendRetryCount" value="10" />
<property name="failureDetectionTimeout" value="100000" />
<property name="clientFailureDetectionTimeout" value="100000" />

1 Ответ

0 голосов
/ 10 сентября 2018

перейдите по ссылке ниже: -

https://issues.apache.org/jira/browse/IGNITE-6980

А также попробуйте

<property name="atomicityMode" value="ATOMIC"/> 

с операцией асинхронного кэша. Это может помочь минимизировать вышеуказанную проблему.

...