Hi everyone,
I discovered that my write behind updates are executed within same thread
which i perform put operation. I can see that i happens under load, but
could anyone tell me which parameters should i optimize. I dont want to
run writebehind operation in my threads.
<bean class="org.apache.ignite.configuration.CacheConfiguration"
name="DEFAULT">
<property name="rebalanceThrottle" value="100"/>
<property name="rebalanceBatchSize" value="#{2 * 1024 * 1024}"/>
<property name="rebalanceMode" value="SYNC"/>
<property name="atomicityMode" value="ATOMIC" />
<property name="cacheMode" value="PARTITIONED" />
<property name="memoryMode" value="OFFHEAP_TIERED" />
<property name="backups" value="1" />
<property name="affinity">
<bean
class="org.apache.ignite.cache.affinity.fair.FairAffinityFunction">
<constructor-arg index="0" type="int" value="128"/>
</bean>
</property>
<property name="offHeapMaxMemory" value="0" />
<property name="writeThrough" value="true" />
<property name="writeBehindEnabled" value="true" />
<property name="eagerTtl" value="false"/>
<property name="writeBehindFlushFrequency" value="#{10 * 1000}" />
<property name="writeBehindBatchSize" value="100000" />
<property name="writeBehindFlushThreadCount" value="2" />
<property name="writeBehindFlushSize" value="100000" />
<property name="startSize" value="250000" />
<property name="statisticsEnabled" value="true" />
</bean>
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.postgresql.core.VisibleBufferedInputStream.readMore(
VisibleBufferedInputStream.java:143)
at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(
VisibleBufferedInputStream.java:112)
at org.postgresql.core.VisibleBufferedInputStream.read(
VisibleBufferedInputStream.java:70)
at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:283)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(
QueryExecutorImpl.java:1818)
at org.postgresql.core.v3.QueryExecutorImpl.execute(
QueryExecutorImpl.java:377)
- locked <0x0000000795dc0038> (a org.postgresql.core.v3.QueryExecutorImpl)
at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:1026)
at org.postgresql.jdbc.PgPreparedStatement.executeBatch(
PgPreparedStatement.java:1661)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(
NewProxyPreparedStatement.java:2544)
at com.intellica.evam.engine.db.store.ScenarioRecordStore.writeAll(
ScenarioRecordStore.java:114)
at
org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore.updateStore(
GridCacheWriteBehindStore.java:685)
at
org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore.applyBatch(
GridCacheWriteBehindStore.java:618)
at
org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore.flushSingleValue(
GridCacheWriteBehindStore.java:580)
at
org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore.updateCache(
GridCacheWriteBehindStore.java:538)
at
org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore.write(
GridCacheWriteBehindStore.java:454)
at
org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.put(
GridCacheStoreManagerAdapter.java:575)
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(
GridCacheMapEntry.java:2436)
- locked <0x000000078f8c1460> (a
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicOffHeapCacheEntry)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(
GridDhtAtomicCache.java:2478)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(
GridDhtAtomicCache.java:1880)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(
GridDhtAtomicCache.java:1720)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.mapSingle(
GridNearAtomicAbstractUpdateFuture.java:259)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(
GridNearAtomicSingleUpdateFuture.java:508)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(
GridNearAtomicSingleUpdateFuture.java:438)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(
GridNearAtomicAbstractUpdateFuture.java:208)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(
GridDhtAtomicCache.java:1238)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(
GridDhtAtomicCache.java:674)
at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(
GridCacheAdapter.java:2243)
at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(
GridCacheAdapter.java:2220)
at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(
IgniteCacheProxy.java:1376)
at com.intellica.project.helper.ee.ConfigManagerHelperEE.setState(
ConfigManagerHelperEE.java:92)
Thanks.
--
*Tolga KAVUKÇU*