Hi,
I am a Solutions Architect with AWS.
I have been trying to evaluate Apache Ignite by configuring write behind
and read through to RDS Aurora(Mysql).
I tried setting this up, but everytime I perform a cache write, it is not
able to write to the underlying database.
[03:45:14,763][WARNING][flusher-0-#47%null%][GridCacheWriteBehindStore]
Unable to update underlying store:
o.a.i.cache.store.jdbc.CacheJdbcPojoStore@7d721f3
Attaching the ignite config xml I used(Obscured the sensitive fields).
Let me know if you need more information.
Any insights you could provide to help me solve this is highly appreciated.
Thank you!
{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170
{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww25400\viewh13540\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs22 \cf0 \CocoaLigature0 <?xml version="1.0" encoding="UTF-8"?>\
\
<!--\
Licensed to the Apache Software Foundation (ASF) under one or more\
contributor license agreements. See the NOTICE file distributed with\
this work for additional information regarding copyright ownership.\
The ASF licenses this file to You under the Apache License, Version 2.0\
(the "License"); you may not use this file except in compliance with\
the License. You may obtain a copy of the License at\
\
http://www.apache.org/licenses/LICENSE-2.0\
\
Unless required by applicable law or agreed to in writing, software\
distributed under the License is distributed on an "AS IS" BASIS,\
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\
See the License for the specific language governing permissions and\
limitations under the License.\
-->\
\
<beans xmlns="http://www.springframework.org/schema/beans"\
xmlns:util="http://www.springframework.org/schema/util"\
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\
xsi:schemaLocation="\
http://www.springframework.org/schema/beans\
http://www.springframework.org/schema/beans/spring-beans.xsd\
http://www.springframework.org/schema/util\
http://www.springframework.org/schema/util/spring-util.xsd">\
<!--\
Alter configuration below as needed.\
-->\
<bean id="mydataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">\
<property name="driverClassName" value="com.mysql.jdbc.Driver" />\
<property name="url" value="jdbc:mysql://<<>>:8193/<<>>\'94 />\
<property name="username" value=\'93<<>>\'94 />\
<property name="password" value=\'93<<>>\'94 />\
</bean>\
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">\
<property name="peerClassLoadingEnabled" value="true"/>\
<property name="cacheConfiguration">\
<list>\
<bean class="org.apache.ignite.configuration.CacheConfiguration">\
<property name="name" value="auroracache"/>\
<property name="cacheMode" value="PARTITIONED"/>\
<property name="atomicWriteOrderMode" value="PRIMARY"/>\
<property name="writeSynchronizationMode" value="FULL_SYNC"/>\
<property name="memoryMode" value="ONHEAP_TIERED" />\
<property name="offHeapMaxMemory" value="#\{4 * 1024L * 1024L * 1024L\}" />\
<property name="evictionPolicy">\
<bean class="org.apache.ignite.cache.eviction.lru.LruEvictionPolicy">\
<property name="maxSize" value="8000000"/>\
</bean>\
</property>\
<property name="rebalanceBatchSize" value="#\{2 * 1024 * 1024\}"/>\
<property name="rebalanceThrottle" value="100"/>\
<property name="atomicityMode" value="ATOMIC" />\
<property name="backups" value="1" />\
<property name="cacheStoreFactory">\
<bean class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">\
<property name="dataSourceBean" value="mydataSource"/>\
<property name="types">\
<list>\
<bean class="org.apache.ignite.cache.store.jdbc.JdbcType">\
<property name="cacheName" value="auroracache" />\
<property name="databaseSchema" value="test" />\
<property name="databaseTable" value="cachetest" />\
<property name="keyType" value="java.lang.Long" />\
<property name="keyFields">\
<list>\
<bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">\
<property name="databaseFieldType">\
<util:constant static-field="java.sql.Types.BIGINT"/>\
</property>\
<property name="databaseFieldName" value="ID" />\
<property name="javaFieldType" value="java.lang.Long" />\
<property name="javaFieldName" value="id" />\
</bean>\
</list>\
</property>\
<property name="valueType" value="org.apache.ignite.myproject.cachetest" />\
<property name="valueFields">\
<list>\
<bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">\
<property name="databaseFieldType">\
<util:constant static-field="java.sql.Types.VARCHAR"/>\
</property>\
<property name="databaseFieldName" value="NAME" />\
<property name="javaFieldType" value="java.lang.String" />\
<property name="javaFieldName" value="name" />\
</bean>\
<bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">\
<property name="databaseFieldType">\
<util:constant static-field="java.sql.Types.VARCHAR"/>\
</property>\
<property name="databaseFieldName" value="ADDRESS1" />\
<property name="javaFieldType" value="java.lang.String" />\
<property name="javaFieldName" value="address1" />\
</bean>\
<bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">\
<property name="databaseFieldType">\
<util:constant static-field="java.sql.Types.VARCHAR"/>\
</property>\
<property name="databaseFieldName" value="ADDRESS2" />\
<property name="javaFieldType" value="java.lang.String" />\
<property name="javaFieldName" value="address2" />\
</bean>\
<bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">\
<property name="databaseFieldType">\
<util:constant static-field="java.sql.Types.INTEGER"/>\
</property>\
<property name="databaseFieldName" value="PHONE" />\
<property name="javaFieldType" value="java.lang.Integer" />\
<property name="javaFieldName" value="phone" />\
</bean>\
</list>\
</property>\
</bean>\
</list>\
</property>\
</bean>\
</property>\
<property name="readThrough" value="true"/>\
<property name="writeThrough" value="true"/>\
<property name="writeBehindEnabled" value="true"/>\
</bean>\
</list>\
</property>\
<property name="discoverySpi">\
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">\
<property name="ipFinder">\
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.s3.TcpDiscoveryS3IpFinder">\
<property name="awsCredentials" ref="aws.creds"/>\
<property name="bucketName" value=\'93<<>>\'94/>\
</bean>\
</property>\
</bean>\
</property>\
<property name="communicationSpi">\
<bean class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">\
<property name="slowClientQueueLimit" value="1000"/>\
</bean>\
</property>\
</bean>\
<!-- AWS credentials. Provide your access key ID and secret access key. -->\
<bean id="aws.creds" class="com.amazonaws.auth.BasicAWSCredentials">\
<constructor-arg value=\'93<<>>\'93 />\
<constructor-arg value=\'93<<>>\'94 />\
</bean>\
</beans>}