[
https://issues.jboss.org/browse/ISPN-7209?page=com.atlassian.jira.plugin....
]
Ryan Emerson updated ISPN-7209:
-------------------------------
Workaround Description:
There are two options:
Use the MySQL JDBC driver instead of the official MariaDB one.
Explicitly set the collation and character set of either the database, table involved, or
the table column used to store the string key before infinispan starts interacting with
the DB. I believe different collation and character combos can be combined, however
forcing utf8 seems to cause the least amount of problems:
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Workaround: Workaround Exists
Collation not set properly when data stored via Hot Rod when
JdbcStringBasedStore is used with MariaDB
------------------------------------------------------------------------------------------------------
Key: ISPN-7209
URL:
https://issues.jboss.org/browse/ISPN-7209
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 9.0.0.Alpha4
Reporter: Jiří Holuša
Assignee: Ryan Emerson
Given following scenario:
1) store entry to ISPN server via Hot Rod (e.g. with RemoteCache)
2) have the server configured to use JdbcStringBasedStore
3) used database is MariaDB 10
Following exception is thrown:
{code}
ERROR [org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore]
(HotRodServerHandler-3-2) ISPN008024: Error while storing string key to database; key:
'9A09AJAAAAAAAAA==': java.sql.BatchUpdateException: Illegal mix of collations
(latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
{code}
Note that his doesn't happen when stored via, for example, Memcached client. Also
this issue doesn't appear in library mode, doesn't appear in any with any other
database (including MySQL, which is very similar to MariaDB).
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)