Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
-
Ubuntu 14.4 and MariaDB 10.1.11 MariaDB connector 1.3.4
Description
I'm new to MariaDB and testing with some applications. Yesterday I met a wired bug. When I'm using bulk insert with MariaDB connector 1.3.4, following errors occur. (Ubuntu 14.4 and MariaDB 10.1.11)
When I replace the connector driver with 'MySQL connector', It works fine. The reference Q&A was http://stackoverflow.com/questions/18693800/mariadb-jdbc-connection-fails-during-bulk-inserts
The reason that I call this bug is wired was, with same mariadb connector I haven't met bug in any other systems, Mac/Centos 6. Even more another ubuntu system MariaDB 10.1.10 with same driver, no error occurs.
works fine: Linux ubuntu 3.13.0-34-generic #60-Ubuntu SMP Wed Aug 13 15:45:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Error occurred system: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty Linux Yukino 3.16.0-57-generic #7714.04.1-Ubuntu SMP Thu Dec 17 23:20:00 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
Error message:
Suspicious part of error messages:
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not send query: Last stream not finished
Full message:
-------
java.lang.NullPointerException at java.lang.String.getBytes(String.java:917) at org.mariadb.jdbc.internal.stream.PacketOutputStream.sendStream(PacketOutputStream.java:178) at org.mariadb.jdbc.internal.packet.dao.parameters.ReaderParameter.writeBinary(ReaderParameter.java:134) at org.mariadb.jdbc.internal.packet.send.SendPrepareParameterPacket.send(SendPrepareParameterPacket.java:93) at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executePreparedQuery(AbstractQueryProtocol.java:568) at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeBatch(MariaDbServerPreparedStatement.java:230) at com.jolbox.bonecp.StatementHandle.executeBatch(StatementHandle.java:424) at org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:1005) at org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:989) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:673) at org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:989) at data.DefaultExchanger.batchUpdate(DefaultExchanger.java:319) at data.DefaultExchanger.importDataFromArray(DefaultExchanger.java:307) at data.DefaultExchanger.importData(DefaultExchanger.java:255) at data.DataService.importData(DataService.java:196) at controllers.SiteApp.importData(SiteApp.java:314) at Routes$$anonfun$routes$1$$anonfun$applyOrElse$54$$anonfun$apply$54.apply(routes_routing.scala:2058) at Routes$$anonfun$routes$1$$anonfun$applyOrElse$54$$anonfun$apply$54.apply(routes_routing.scala:2058) at play.core.Router$HandlerInvokerFactory$$anon$4.resultCall(Router.scala:264) at play.core.Router$HandlerInvokerFactory$JavaActionInvokerFactory$$anon$15$$anon$1.invocation(Router.scala:255) at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:55) at Global$1.call(Global.java:190) at actions.AnonymousCheckAction.call(AnonymousCheckAction.java:57) at utils.SiteManagerAuthAction.call(SiteManagerAuthAction.java:39) at play.core.j.JavaAction$$anonfun$11.apply(JavaAction.scala:82) at play.core.j.JavaAction$$anonfun$11.apply(JavaAction.scala:82) at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32) at scala.concurrent.impl.Future$.apply(Future.scala:31) at scala.concurrent.Future$.apply(Future.scala:485) at play.core.j.JavaAction$class.apply(JavaAction.scala:82) at play.core.Router$HandlerInvokerFactory$JavaActionInvokerFactory$$anon$15$$anon$1.apply(Router.scala:252) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) at play.utils.Threads$.withContextClassLoader(Threads.scala:21) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:128) at scala.Option.map(Option.scala:145) at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:128) at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:121) at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:483) at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:483) at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:519) at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:519) at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:496) at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:496) at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) org.springframework.transaction.TransactionSystemException: Could not roll back JDBC transaction; nested exception is java.sql.SQLNonTransientConnectionException: Could not send query: Last stream not finished at org.springframework.jdbc.datasource.DataSourceTransactionManager.doRollback(DataSourceTransactionManager.java:290) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:849) at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:826) at data.DefaultExchanger.importData(DefaultExchanger.java:266) at data.DataService.importData(DataService.java:196) at controllers.SiteApp.importData(SiteApp.java:314) at Routes$$anonfun$routes$1$$anonfun$applyOrElse$54$$anonfun$apply$54.apply(routes_routing.scala:2058) at Routes$$anonfun$routes$1$$anonfun$applyOrElse$54$$anonfun$apply$54.apply(routes_routing.scala:2058) at play.core.Router$HandlerInvokerFactory$$anon$4.resultCall(Router.scala:264) at play.core.Router$HandlerInvokerFactory$JavaActionInvokerFactory$$anon$15$$anon$1.invocation(Router.scala:255) at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:55) at Global$1.call(Global.java:190) at actions.AnonymousCheckAction.call(AnonymousCheckAction.java:57) at utils.SiteManagerAuthAction.call(SiteManagerAuthAction.java:39) at play.core.j.JavaAction$$anonfun$11.apply(JavaAction.scala:82) at play.core.j.JavaAction$$anonfun$11.apply(JavaAction.scala:82) at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32) at scala.concurrent.impl.Future$.apply(Future.scala:31) at scala.concurrent.Future$.apply(Future.scala:485) at play.core.j.JavaAction$class.apply(JavaAction.scala:82) at play.core.Router$HandlerInvokerFactory$JavaActionInvokerFactory$$anon$15$$anon$1.apply(Router.scala:252) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) at play.utils.Threads$.withContextClassLoader(Threads.scala:21) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129) at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:128) at scala.Option.map(Option.scala:145) at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:128) at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:121) at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:483) at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:483) at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:519) at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:519) at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:496) at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:496) at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: java.sql.SQLNonTransientConnectionException: Could not send query: Last stream not finished at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:123) at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69) at org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:261) at org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:290) at org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:344) at org.mariadb.jdbc.MariaDbConnection.rollback(MariaDbConnection.java:532) at com.jolbox.bonecp.ConnectionHandle.rollback(ConnectionHandle.java:1272) at org.springframework.jdbc.datasource.DataSourceTransactionManager.doRollback(DataSourceTransactionManager.java:287) ... 46 more Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not send query: Last stream not finished at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.sendQuery(AbstractQueryProtocol.java:390) at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:377) at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:334) at org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:280) ... 50 more Caused by: java.io.IOException: Last stream not finished at org.mariadb.jdbc.internal.stream.PacketOutputStream.startPacket(PacketOutputStream.java:65) at org.mariadb.jdbc.internal.stream.PacketOutputStream.startPacket(PacketOutputStream.java:78) at org.mariadb.jdbc.internal.packet.send.SendTextQueryPacket.send(SendTextQueryPacket.java:101) at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.sendQuery(AbstractQueryProtocol.java:383) ... 53 more
Attachments
Activity
Hi diego, (nice to meet u )
We're using utf8mb4 and insert data charset is 'utf8' from json file.
Here is result:
MariaDB [(none)]> SHOW variables like 'char%';
----------------------------------------------------+
Variable_name | Value |
----------------------------------------------------+
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8mb4 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | utf8mb4 |
character_set_system | utf8 |
character_sets_dir | /usr/share/mysql/charsets/ |
----------------------------------------------------+
8 rows in set (0.00 sec)
MariaDB [(none)]> SHOW CHARACTER SET;
--------------------------------------------------------------+
Charset | Description | Default collation | Maxlen |
--------------------------------------------------------------+
big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
dec8 | DEC West European | dec8_swedish_ci | 1 |
cp850 | DOS West European | cp850_general_ci | 1 |
hp8 | HP West European | hp8_english_ci | 1 |
koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
latin1 | cp1252 West European | latin1_swedish_ci | 1 |
latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
ascii | US ASCII | ascii_general_ci | 1 |
ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
tis620 | TIS620 Thai | tis620_thai_ci | 1 |
euckr | EUC-KR Korean | euckr_korean_ci | 2 |
koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
greek | ISO 8859-7 Greek | greek_general_ci | 1 |
cp1250 | Windows Central European | cp1250_general_ci | 1 |
gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
cp866 | DOS Russian | cp866_general_ci | 1 |
keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
macce | Mac Central European | macce_general_ci | 1 |
macroman | Mac West European | macroman_general_ci | 1 |
cp852 | DOS Central European | cp852_general_ci | 1 |
latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
utf16 | UTF-16 Unicode | utf16_general_ci | 4 |
utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
cp1256 | Windows Arabic | cp1256_general_ci | 1 |
cp1257 | Windows Baltic | cp1257_general_ci | 1 |
utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
binary | Binary pseudo charset | binary | 1 |
geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
--------------------------------------------------------------+
40 rows in set (0.01 sec)
MariaDB [(none)]> SHOW COLLATION;
---------------------------------------------------------------+
Collation | Charset | Id | Default | Compiled | Sortlen |
---------------------------------------------------------------+
big5_chinese_ci | big5 | 1 | Yes | Yes | 1 |
big5_bin | big5 | 84 | Yes | 1 | |
dec8_swedish_ci | dec8 | 3 | Yes | Yes | 1 |
dec8_bin | dec8 | 69 | Yes | 1 | |
cp850_general_ci | cp850 | 4 | Yes | Yes | 1 |
cp850_bin | cp850 | 80 | Yes | 1 | |
hp8_english_ci | hp8 | 6 | Yes | Yes | 1 |
hp8_bin | hp8 | 72 | Yes | 1 | |
koi8r_general_ci | koi8r | 7 | Yes | Yes | 1 |
koi8r_bin | koi8r | 74 | Yes | 1 | |
latin1_german1_ci | latin1 | 5 | Yes | 1 | |
latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 |
latin1_danish_ci | latin1 | 15 | Yes | 1 | |
latin1_german2_ci | latin1 | 31 | Yes | 2 | |
latin1_bin | latin1 | 47 | Yes | 1 | |
latin1_general_ci | latin1 | 48 | Yes | 1 | |
latin1_general_cs | latin1 | 49 | Yes | 1 | |
latin1_spanish_ci | latin1 | 94 | Yes | 1 | |
latin2_czech_cs | latin2 | 2 | Yes | 4 | |
latin2_general_ci | latin2 | 9 | Yes | Yes | 1 |
latin2_hungarian_ci | latin2 | 21 | Yes | 1 | |
latin2_croatian_ci | latin2 | 27 | Yes | 1 | |
latin2_bin | latin2 | 77 | Yes | 1 | |
swe7_swedish_ci | swe7 | 10 | Yes | Yes | 1 |
swe7_bin | swe7 | 82 | Yes | 1 | |
ascii_general_ci | ascii | 11 | Yes | Yes | 1 |
ascii_bin | ascii | 65 | Yes | 1 | |
ujis_japanese_ci | ujis | 12 | Yes | Yes | 1 |
ujis_bin | ujis | 91 | Yes | 1 | |
sjis_japanese_ci | sjis | 13 | Yes | Yes | 1 |
sjis_bin | sjis | 88 | Yes | 1 | |
hebrew_general_ci | hebrew | 16 | Yes | Yes | 1 |
hebrew_bin | hebrew | 71 | Yes | 1 | |
tis620_thai_ci | tis620 | 18 | Yes | Yes | 4 |
tis620_bin | tis620 | 89 | Yes | 1 | |
euckr_korean_ci | euckr | 19 | Yes | Yes | 1 |
euckr_bin | euckr | 85 | Yes | 1 | |
koi8u_general_ci | koi8u | 22 | Yes | Yes | 1 |
koi8u_bin | koi8u | 75 | Yes | 1 | |
gb2312_chinese_ci | gb2312 | 24 | Yes | Yes | 1 |
gb2312_bin | gb2312 | 86 | Yes | 1 | |
greek_general_ci | greek | 25 | Yes | Yes | 1 |
greek_bin | greek | 70 | Yes | 1 | |
cp1250_general_ci | cp1250 | 26 | Yes | Yes | 1 |
cp1250_czech_cs | cp1250 | 34 | Yes | 2 | |
cp1250_croatian_ci | cp1250 | 44 | Yes | 1 | |
cp1250_bin | cp1250 | 66 | Yes | 1 | |
cp1250_polish_ci | cp1250 | 99 | Yes | 1 | |
gbk_chinese_ci | gbk | 28 | Yes | Yes | 1 |
gbk_bin | gbk | 87 | Yes | 1 | |
latin5_turkish_ci | latin5 | 30 | Yes | Yes | 1 |
latin5_bin | latin5 | 78 | Yes | 1 | |
armscii8_general_ci | armscii8 | 32 | Yes | Yes | 1 |
armscii8_bin | armscii8 | 64 | Yes | 1 | |
utf8_general_ci | utf8 | 33 | Yes | Yes | 1 |
utf8_bin | utf8 | 83 | Yes | 1 | |
utf8_unicode_ci | utf8 | 192 | Yes | 8 | |
utf8_icelandic_ci | utf8 | 193 | Yes | 8 | |
utf8_latvian_ci | utf8 | 194 | Yes | 8 | |
utf8_romanian_ci | utf8 | 195 | Yes | 8 | |
utf8_slovenian_ci | utf8 | 196 | Yes | 8 | |
utf8_polish_ci | utf8 | 197 | Yes | 8 | |
utf8_estonian_ci | utf8 | 198 | Yes | 8 | |
utf8_spanish_ci | utf8 | 199 | Yes | 8 | |
utf8_swedish_ci | utf8 | 200 | Yes | 8 | |
utf8_turkish_ci | utf8 | 201 | Yes | 8 | |
utf8_czech_ci | utf8 | 202 | Yes | 8 | |
utf8_danish_ci | utf8 | 203 | Yes | 8 | |
utf8_lithuanian_ci | utf8 | 204 | Yes | 8 | |
utf8_slovak_ci | utf8 | 205 | Yes | 8 | |
utf8_spanish2_ci | utf8 | 206 | Yes | 8 | |
utf8_roman_ci | utf8 | 207 | Yes | 8 | |
utf8_persian_ci | utf8 | 208 | Yes | 8 | |
utf8_esperanto_ci | utf8 | 209 | Yes | 8 | |
utf8_hungarian_ci | utf8 | 210 | Yes | 8 | |
utf8_sinhala_ci | utf8 | 211 | Yes | 8 | |
utf8_german2_ci | utf8 | 212 | Yes | 8 | |
utf8_croatian_mysql561_ci | utf8 | 213 | Yes | 8 | |
utf8_unicode_520_ci | utf8 | 214 | Yes | 8 | |
utf8_vietnamese_ci | utf8 | 215 | Yes | 8 | |
utf8_general_mysql500_ci | utf8 | 223 | Yes | 1 | |
utf8_croatian_ci | utf8 | 576 | Yes | 8 | |
utf8_myanmar_ci | utf8 | 577 | Yes | 8 | |
ucs2_general_ci | ucs2 | 35 | Yes | Yes | 1 |
ucs2_bin | ucs2 | 90 | Yes | 1 | |
ucs2_unicode_ci | ucs2 | 128 | Yes | 8 | |
ucs2_icelandic_ci | ucs2 | 129 | Yes | 8 | |
ucs2_latvian_ci | ucs2 | 130 | Yes | 8 | |
ucs2_romanian_ci | ucs2 | 131 | Yes | 8 | |
ucs2_slovenian_ci | ucs2 | 132 | Yes | 8 | |
ucs2_polish_ci | ucs2 | 133 | Yes | 8 | |
ucs2_estonian_ci | ucs2 | 134 | Yes | 8 | |
ucs2_spanish_ci | ucs2 | 135 | Yes | 8 | |
ucs2_swedish_ci | ucs2 | 136 | Yes | 8 | |
ucs2_turkish_ci | ucs2 | 137 | Yes | 8 | |
ucs2_czech_ci | ucs2 | 138 | Yes | 8 | |
ucs2_danish_ci | ucs2 | 139 | Yes | 8 | |
ucs2_lithuanian_ci | ucs2 | 140 | Yes | 8 | |
ucs2_slovak_ci | ucs2 | 141 | Yes | 8 | |
ucs2_spanish2_ci | ucs2 | 142 | Yes | 8 | |
ucs2_roman_ci | ucs2 | 143 | Yes | 8 | |
ucs2_persian_ci | ucs2 | 144 | Yes | 8 | |
ucs2_esperanto_ci | ucs2 | 145 | Yes | 8 | |
ucs2_hungarian_ci | ucs2 | 146 | Yes | 8 | |
ucs2_sinhala_ci | ucs2 | 147 | Yes | 8 | |
ucs2_german2_ci | ucs2 | 148 | Yes | 8 | |
ucs2_croatian_mysql561_ci | ucs2 | 149 | Yes | 8 | |
ucs2_unicode_520_ci | ucs2 | 150 | Yes | 8 | |
ucs2_vietnamese_ci | ucs2 | 151 | Yes | 8 | |
ucs2_general_mysql500_ci | ucs2 | 159 | Yes | 1 | |
ucs2_croatian_ci | ucs2 | 640 | Yes | 8 | |
ucs2_myanmar_ci | ucs2 | 641 | Yes | 8 | |
cp866_general_ci | cp866 | 36 | Yes | Yes | 1 |
cp866_bin | cp866 | 68 | Yes | 1 | |
keybcs2_general_ci | keybcs2 | 37 | Yes | Yes | 1 |
keybcs2_bin | keybcs2 | 73 | Yes | 1 | |
macce_general_ci | macce | 38 | Yes | Yes | 1 |
macce_bin | macce | 43 | Yes | 1 | |
macroman_general_ci | macroman | 39 | Yes | Yes | 1 |
macroman_bin | macroman | 53 | Yes | 1 | |
cp852_general_ci | cp852 | 40 | Yes | Yes | 1 |
cp852_bin | cp852 | 81 | Yes | 1 | |
latin7_estonian_cs | latin7 | 20 | Yes | 1 | |
latin7_general_ci | latin7 | 41 | Yes | Yes | 1 |
latin7_general_cs | latin7 | 42 | Yes | 1 | |
latin7_bin | latin7 | 79 | Yes | 1 | |
utf8mb4_general_ci | utf8mb4 | 45 | Yes | Yes | 1 |
utf8mb4_bin | utf8mb4 | 46 | Yes | 1 | |
utf8mb4_unicode_ci | utf8mb4 | 224 | Yes | 8 | |
utf8mb4_icelandic_ci | utf8mb4 | 225 | Yes | 8 | |
utf8mb4_latvian_ci | utf8mb4 | 226 | Yes | 8 | |
utf8mb4_romanian_ci | utf8mb4 | 227 | Yes | 8 | |
utf8mb4_slovenian_ci | utf8mb4 | 228 | Yes | 8 | |
utf8mb4_polish_ci | utf8mb4 | 229 | Yes | 8 | |
utf8mb4_estonian_ci | utf8mb4 | 230 | Yes | 8 | |
utf8mb4_spanish_ci | utf8mb4 | 231 | Yes | 8 | |
utf8mb4_swedish_ci | utf8mb4 | 232 | Yes | 8 | |
utf8mb4_turkish_ci | utf8mb4 | 233 | Yes | 8 | |
utf8mb4_czech_ci | utf8mb4 | 234 | Yes | 8 | |
utf8mb4_danish_ci | utf8mb4 | 235 | Yes | 8 | |
utf8mb4_lithuanian_ci | utf8mb4 | 236 | Yes | 8 | |
utf8mb4_slovak_ci | utf8mb4 | 237 | Yes | 8 | |
utf8mb4_spanish2_ci | utf8mb4 | 238 | Yes | 8 | |
utf8mb4_roman_ci | utf8mb4 | 239 | Yes | 8 | |
utf8mb4_persian_ci | utf8mb4 | 240 | Yes | 8 | |
utf8mb4_esperanto_ci | utf8mb4 | 241 | Yes | 8 | |
utf8mb4_hungarian_ci | utf8mb4 | 242 | Yes | 8 | |
utf8mb4_sinhala_ci | utf8mb4 | 243 | Yes | 8 | |
utf8mb4_german2_ci | utf8mb4 | 244 | Yes | 8 | |
utf8mb4_croatian_mysql561_ci | utf8mb4 | 245 | Yes | 8 | |
utf8mb4_unicode_520_ci | utf8mb4 | 246 | Yes | 8 | |
utf8mb4_vietnamese_ci | utf8mb4 | 247 | Yes | 8 | |
utf8mb4_croatian_ci | utf8mb4 | 608 | Yes | 8 | |
utf8mb4_myanmar_ci | utf8mb4 | 609 | Yes | 8 | |
cp1251_bulgarian_ci | cp1251 | 14 | Yes | 1 | |
cp1251_ukrainian_ci | cp1251 | 23 | Yes | 1 | |
cp1251_bin | cp1251 | 50 | Yes | 1 | |
cp1251_general_ci | cp1251 | 51 | Yes | Yes | 1 |
cp1251_general_cs | cp1251 | 52 | Yes | 1 | |
utf16_general_ci | utf16 | 54 | Yes | Yes | 1 |
utf16_bin | utf16 | 55 | Yes | 1 | |
utf16_unicode_ci | utf16 | 101 | Yes | 8 | |
utf16_icelandic_ci | utf16 | 102 | Yes | 8 | |
utf16_latvian_ci | utf16 | 103 | Yes | 8 | |
utf16_romanian_ci | utf16 | 104 | Yes | 8 | |
utf16_slovenian_ci | utf16 | 105 | Yes | 8 | |
utf16_polish_ci | utf16 | 106 | Yes | 8 | |
utf16_estonian_ci | utf16 | 107 | Yes | 8 | |
utf16_spanish_ci | utf16 | 108 | Yes | 8 | |
utf16_swedish_ci | utf16 | 109 | Yes | 8 | |
utf16_turkish_ci | utf16 | 110 | Yes | 8 | |
utf16_czech_ci | utf16 | 111 | Yes | 8 | |
utf16_danish_ci | utf16 | 112 | Yes | 8 | |
utf16_lithuanian_ci | utf16 | 113 | Yes | 8 | |
utf16_slovak_ci | utf16 | 114 | Yes | 8 | |
utf16_spanish2_ci | utf16 | 115 | Yes | 8 | |
utf16_roman_ci | utf16 | 116 | Yes | 8 | |
utf16_persian_ci | utf16 | 117 | Yes | 8 | |
utf16_esperanto_ci | utf16 | 118 | Yes | 8 | |
utf16_hungarian_ci | utf16 | 119 | Yes | 8 | |
utf16_sinhala_ci | utf16 | 120 | Yes | 8 | |
utf16_german2_ci | utf16 | 121 | Yes | 8 | |
utf16_croatian_mysql561_ci | utf16 | 122 | Yes | 8 | |
utf16_unicode_520_ci | utf16 | 123 | Yes | 8 | |
utf16_vietnamese_ci | utf16 | 124 | Yes | 8 | |
utf16_croatian_ci | utf16 | 672 | Yes | 8 | |
utf16_myanmar_ci | utf16 | 673 | Yes | 8 | |
utf16le_general_ci | utf16le | 56 | Yes | Yes | 1 |
utf16le_bin | utf16le | 62 | Yes | 1 | |
cp1256_general_ci | cp1256 | 57 | Yes | Yes | 1 |
cp1256_bin | cp1256 | 67 | Yes | 1 | |
cp1257_lithuanian_ci | cp1257 | 29 | Yes | 1 | |
cp1257_bin | cp1257 | 58 | Yes | 1 | |
cp1257_general_ci | cp1257 | 59 | Yes | Yes | 1 |
utf32_general_ci | utf32 | 60 | Yes | Yes | 1 |
utf32_bin | utf32 | 61 | Yes | 1 | |
utf32_unicode_ci | utf32 | 160 | Yes | 8 | |
utf32_icelandic_ci | utf32 | 161 | Yes | 8 | |
utf32_latvian_ci | utf32 | 162 | Yes | 8 | |
utf32_romanian_ci | utf32 | 163 | Yes | 8 | |
utf32_slovenian_ci | utf32 | 164 | Yes | 8 | |
utf32_polish_ci | utf32 | 165 | Yes | 8 | |
utf32_estonian_ci | utf32 | 166 | Yes | 8 | |
utf32_spanish_ci | utf32 | 167 | Yes | 8 | |
utf32_swedish_ci | utf32 | 168 | Yes | 8 | |
utf32_turkish_ci | utf32 | 169 | Yes | 8 | |
utf32_czech_ci | utf32 | 170 | Yes | 8 | |
utf32_danish_ci | utf32 | 171 | Yes | 8 | |
utf32_lithuanian_ci | utf32 | 172 | Yes | 8 | |
utf32_slovak_ci | utf32 | 173 | Yes | 8 | |
utf32_spanish2_ci | utf32 | 174 | Yes | 8 | |
utf32_roman_ci | utf32 | 175 | Yes | 8 | |
utf32_persian_ci | utf32 | 176 | Yes | 8 | |
utf32_esperanto_ci | utf32 | 177 | Yes | 8 | |
utf32_hungarian_ci | utf32 | 178 | Yes | 8 | |
utf32_sinhala_ci | utf32 | 179 | Yes | 8 | |
utf32_german2_ci | utf32 | 180 | Yes | 8 | |
utf32_croatian_mysql561_ci | utf32 | 181 | Yes | 8 | |
utf32_unicode_520_ci | utf32 | 182 | Yes | 8 | |
utf32_vietnamese_ci | utf32 | 183 | Yes | 8 | |
utf32_croatian_ci | utf32 | 736 | Yes | 8 | |
utf32_myanmar_ci | utf32 | 737 | Yes | 8 | |
binary | binary | 63 | Yes | Yes | 1 |
geostd8_general_ci | geostd8 | 92 | Yes | Yes | 1 |
geostd8_bin | geostd8 | 93 | Yes | 1 | |
cp932_japanese_ci | cp932 | 95 | Yes | Yes | 1 |
cp932_bin | cp932 | 96 | Yes | 1 | |
eucjpms_japanese_ci | eucjpms | 97 | Yes | Yes | 1 |
eucjpms_bin | eucjpms | 98 | Yes | 1 |
---------------------------------------------------------------+
229 rows in set (0.00 sec)
That's strange,
When driver open a connection to server, server is sending some information like the server charset (that must be the "character_set_server" value, i have to check).
it's like server was sending a server charset not "utf8mb4" but binary.
I've forced the character set to binary to confirm, and i reproduce the exact exception you have.
binary is the only option without charset, because there is no conversion so. The mysql driver is using "ISO8859_1" for binary.
I will digg further, but just to be sure: when having this error you were using a MariaDB 10.1.11 server on ubuntu 14.4, right ?
Thanks diego dupin
We're using batchUpdate of SpringJdbcTemplate. There isn't nothing special.
Starting point is here.
int[] updateCounts = jdbcTemplate.batchUpdate(getInsertSql(), new BatchPreparedStatementSetter() {
and you can see the full exception logs.
By the way, Is there any recommendations about my.cnf and JDBC connection string when using utf8mb4?
I just ran into the same issue (or very similar), but from a different angle:
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
|
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
|
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
|
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
|
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1187)
|
at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:580)
|
at com.comhem.ingester.core.IngestController.registerAsset(IngestController.java:175)
|
Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement
|
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
|
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
|
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
|
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211)
|
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)
|
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)
|
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3032)
|
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3558)
|
at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:98)
|
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:492)
|
at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:197)
|
at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:181)
|
at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:216)
|
at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:334)
|
at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:289)
|
at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:195)
|
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)
|
at org.hibernate.jpa.event.internal.core.JpaPersistEventListener.saveWithGeneratedId(JpaPersistEventListener.java:84)
|
at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:206)
|
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:149)
|
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:75)
|
at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:811)
|
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:784)
|
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:789)
|
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1181)
|
... 164 more
|
Caused by: java.sql.SQLException: Error
|
at org.jboss.jca.adapters.jdbc.WrappedConnection.checkException(WrappedConnection.java:1942)
|
at org.jboss.jca.adapters.jdbc.WrappedStatement.checkException(WrappedStatement.java:1437)
|
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:541)
|
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)
|
... 185 more
|
Caused by: java.lang.NullPointerException
|
at java.lang.String.getBytes(String.java:917)
|
at org.mariadb.jdbc.internal.stream.PacketOutputStream.sendStream(PacketOutputStream.java:182)
|
at org.mariadb.jdbc.internal.packet.dao.parameters.ReaderParameter.writeBinary(ReaderParameter.java:134)
|
at org.mariadb.jdbc.internal.packet.send.SendPrepareParameterPacket.send(SendPrepareParameterPacket.java:93)
|
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executePreparedQuery(AbstractQueryProtocol.java:574)
|
at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:281)
|
at org.mariadb.jdbc.MariaDbServerPreparedStatement.execute(MariaDbServerPreparedStatement.java:371)
|
at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeUpdate(MariaDbServerPreparedStatement.java:349)
|
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:537)
|
... 186 more
|
My environment is MariaDB Connector 1.3.4 (tried to update to 1.3.5 but no difference), hibernate 4.3.10.FINAL, MariaDB server 10.1.9 and CentOS 7.2.1511.
This application has worked fine before with the same versions as above. The problem started to occur when I deployed a new version, but there has been no change to the object that is persisted when the error happens nor what I can see in any of the persistence nor database connections.
My output from the above queries:
MariaDB [(none)]> SHOW variables like 'char%';
----------------------------------------------------+
Variable_name | Value |
----------------------------------------------------+
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | utf8 |
character_set_system | utf8 |
character_sets_dir | /usr/share/mysql/charsets/ |
----------------------------------------------------+
8 rows in set (0.00 sec)
MariaDB [(none)]> SHOW CHARACTER SET;
--------------------------------------------------------------+
Charset | Description | Default collation | Maxlen |
--------------------------------------------------------------+
big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
dec8 | DEC West European | dec8_swedish_ci | 1 |
cp850 | DOS West European | cp850_general_ci | 1 |
hp8 | HP West European | hp8_english_ci | 1 |
koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
latin1 | cp1252 West European | latin1_swedish_ci | 1 |
latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
ascii | US ASCII | ascii_general_ci | 1 |
ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
tis620 | TIS620 Thai | tis620_thai_ci | 1 |
euckr | EUC-KR Korean | euckr_korean_ci | 2 |
koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
greek | ISO 8859-7 Greek | greek_general_ci | 1 |
cp1250 | Windows Central European | cp1250_general_ci | 1 |
gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
cp866 | DOS Russian | cp866_general_ci | 1 |
keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
macce | Mac Central European | macce_general_ci | 1 |
macroman | Mac West European | macroman_general_ci | 1 |
cp852 | DOS Central European | cp852_general_ci | 1 |
latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
utf16 | UTF-16 Unicode | utf16_general_ci | 4 |
utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
cp1256 | Windows Arabic | cp1256_general_ci | 1 |
cp1257 | Windows Baltic | cp1257_general_ci | 1 |
utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
binary | Binary pseudo charset | binary | 1 |
geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
--------------------------------------------------------------+
40 rows in set (0.00 sec)
MariaDB [(none)]> SHOW COLLATION;
---------------------------------------------------------------+
Collation | Charset | Id | Default | Compiled | Sortlen |
---------------------------------------------------------------+
big5_chinese_ci | big5 | 1 | Yes | Yes | 1 |
big5_bin | big5 | 84 | Yes | 1 | |
dec8_swedish_ci | dec8 | 3 | Yes | Yes | 1 |
dec8_bin | dec8 | 69 | Yes | 1 | |
cp850_general_ci | cp850 | 4 | Yes | Yes | 1 |
cp850_bin | cp850 | 80 | Yes | 1 | |
hp8_english_ci | hp8 | 6 | Yes | Yes | 1 |
hp8_bin | hp8 | 72 | Yes | 1 | |
koi8r_general_ci | koi8r | 7 | Yes | Yes | 1 |
koi8r_bin | koi8r | 74 | Yes | 1 | |
latin1_german1_ci | latin1 | 5 | Yes | 1 | |
latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 |
latin1_danish_ci | latin1 | 15 | Yes | 1 | |
latin1_german2_ci | latin1 | 31 | Yes | 2 | |
latin1_bin | latin1 | 47 | Yes | 1 | |
latin1_general_ci | latin1 | 48 | Yes | 1 | |
latin1_general_cs | latin1 | 49 | Yes | 1 | |
latin1_spanish_ci | latin1 | 94 | Yes | 1 | |
latin2_czech_cs | latin2 | 2 | Yes | 4 | |
latin2_general_ci | latin2 | 9 | Yes | Yes | 1 |
latin2_hungarian_ci | latin2 | 21 | Yes | 1 | |
latin2_croatian_ci | latin2 | 27 | Yes | 1 | |
latin2_bin | latin2 | 77 | Yes | 1 | |
swe7_swedish_ci | swe7 | 10 | Yes | Yes | 1 |
swe7_bin | swe7 | 82 | Yes | 1 | |
ascii_general_ci | ascii | 11 | Yes | Yes | 1 |
ascii_bin | ascii | 65 | Yes | 1 | |
ujis_japanese_ci | ujis | 12 | Yes | Yes | 1 |
ujis_bin | ujis | 91 | Yes | 1 | |
sjis_japanese_ci | sjis | 13 | Yes | Yes | 1 |
sjis_bin | sjis | 88 | Yes | 1 | |
hebrew_general_ci | hebrew | 16 | Yes | Yes | 1 |
hebrew_bin | hebrew | 71 | Yes | 1 | |
tis620_thai_ci | tis620 | 18 | Yes | Yes | 4 |
tis620_bin | tis620 | 89 | Yes | 1 | |
euckr_korean_ci | euckr | 19 | Yes | Yes | 1 |
euckr_bin | euckr | 85 | Yes | 1 | |
koi8u_general_ci | koi8u | 22 | Yes | Yes | 1 |
koi8u_bin | koi8u | 75 | Yes | 1 | |
gb2312_chinese_ci | gb2312 | 24 | Yes | Yes | 1 |
gb2312_bin | gb2312 | 86 | Yes | 1 | |
greek_general_ci | greek | 25 | Yes | Yes | 1 |
greek_bin | greek | 70 | Yes | 1 | |
cp1250_general_ci | cp1250 | 26 | Yes | Yes | 1 |
cp1250_czech_cs | cp1250 | 34 | Yes | 2 | |
cp1250_croatian_ci | cp1250 | 44 | Yes | 1 | |
cp1250_bin | cp1250 | 66 | Yes | 1 | |
cp1250_polish_ci | cp1250 | 99 | Yes | 1 | |
gbk_chinese_ci | gbk | 28 | Yes | Yes | 1 |
gbk_bin | gbk | 87 | Yes | 1 | |
latin5_turkish_ci | latin5 | 30 | Yes | Yes | 1 |
latin5_bin | latin5 | 78 | Yes | 1 | |
armscii8_general_ci | armscii8 | 32 | Yes | Yes | 1 |
armscii8_bin | armscii8 | 64 | Yes | 1 | |
utf8_general_ci | utf8 | 33 | Yes | Yes | 1 |
utf8_bin | utf8 | 83 | Yes | 1 | |
utf8_unicode_ci | utf8 | 192 | Yes | 8 | |
utf8_icelandic_ci | utf8 | 193 | Yes | 8 | |
utf8_latvian_ci | utf8 | 194 | Yes | 8 | |
utf8_romanian_ci | utf8 | 195 | Yes | 8 | |
utf8_slovenian_ci | utf8 | 196 | Yes | 8 | |
utf8_polish_ci | utf8 | 197 | Yes | 8 | |
utf8_estonian_ci | utf8 | 198 | Yes | 8 | |
utf8_spanish_ci | utf8 | 199 | Yes | 8 | |
utf8_swedish_ci | utf8 | 200 | Yes | 8 | |
utf8_turkish_ci | utf8 | 201 | Yes | 8 | |
utf8_czech_ci | utf8 | 202 | Yes | 8 | |
utf8_danish_ci | utf8 | 203 | Yes | 8 | |
utf8_lithuanian_ci | utf8 | 204 | Yes | 8 | |
utf8_slovak_ci | utf8 | 205 | Yes | 8 | |
utf8_spanish2_ci | utf8 | 206 | Yes | 8 | |
utf8_roman_ci | utf8 | 207 | Yes | 8 | |
utf8_persian_ci | utf8 | 208 | Yes | 8 | |
utf8_esperanto_ci | utf8 | 209 | Yes | 8 | |
utf8_hungarian_ci | utf8 | 210 | Yes | 8 | |
utf8_sinhala_ci | utf8 | 211 | Yes | 8 | |
utf8_german2_ci | utf8 | 212 | Yes | 8 | |
utf8_croatian_mysql561_ci | utf8 | 213 | Yes | 8 | |
utf8_unicode_520_ci | utf8 | 214 | Yes | 8 | |
utf8_vietnamese_ci | utf8 | 215 | Yes | 8 | |
utf8_general_mysql500_ci | utf8 | 223 | Yes | 1 | |
utf8_croatian_ci | utf8 | 576 | Yes | 8 | |
utf8_myanmar_ci | utf8 | 577 | Yes | 8 | |
ucs2_general_ci | ucs2 | 35 | Yes | Yes | 1 |
ucs2_bin | ucs2 | 90 | Yes | 1 | |
ucs2_unicode_ci | ucs2 | 128 | Yes | 8 | |
ucs2_icelandic_ci | ucs2 | 129 | Yes | 8 | |
ucs2_latvian_ci | ucs2 | 130 | Yes | 8 | |
ucs2_romanian_ci | ucs2 | 131 | Yes | 8 | |
ucs2_slovenian_ci | ucs2 | 132 | Yes | 8 | |
ucs2_polish_ci | ucs2 | 133 | Yes | 8 | |
ucs2_estonian_ci | ucs2 | 134 | Yes | 8 | |
ucs2_spanish_ci | ucs2 | 135 | Yes | 8 | |
ucs2_swedish_ci | ucs2 | 136 | Yes | 8 | |
ucs2_turkish_ci | ucs2 | 137 | Yes | 8 | |
ucs2_czech_ci | ucs2 | 138 | Yes | 8 | |
ucs2_danish_ci | ucs2 | 139 | Yes | 8 | |
ucs2_lithuanian_ci | ucs2 | 140 | Yes | 8 | |
ucs2_slovak_ci | ucs2 | 141 | Yes | 8 | |
ucs2_spanish2_ci | ucs2 | 142 | Yes | 8 | |
ucs2_roman_ci | ucs2 | 143 | Yes | 8 | |
ucs2_persian_ci | ucs2 | 144 | Yes | 8 | |
ucs2_esperanto_ci | ucs2 | 145 | Yes | 8 | |
ucs2_hungarian_ci | ucs2 | 146 | Yes | 8 | |
ucs2_sinhala_ci | ucs2 | 147 | Yes | 8 | |
ucs2_german2_ci | ucs2 | 148 | Yes | 8 | |
ucs2_croatian_mysql561_ci | ucs2 | 149 | Yes | 8 | |
ucs2_unicode_520_ci | ucs2 | 150 | Yes | 8 | |
ucs2_vietnamese_ci | ucs2 | 151 | Yes | 8 | |
ucs2_general_mysql500_ci | ucs2 | 159 | Yes | 1 | |
ucs2_croatian_ci | ucs2 | 640 | Yes | 8 | |
ucs2_myanmar_ci | ucs2 | 641 | Yes | 8 | |
cp866_general_ci | cp866 | 36 | Yes | Yes | 1 |
cp866_bin | cp866 | 68 | Yes | 1 | |
keybcs2_general_ci | keybcs2 | 37 | Yes | Yes | 1 |
keybcs2_bin | keybcs2 | 73 | Yes | 1 | |
macce_general_ci | macce | 38 | Yes | Yes | 1 |
macce_bin | macce | 43 | Yes | 1 | |
macroman_general_ci | macroman | 39 | Yes | Yes | 1 |
macroman_bin | macroman | 53 | Yes | 1 | |
cp852_general_ci | cp852 | 40 | Yes | Yes | 1 |
cp852_bin | cp852 | 81 | Yes | 1 | |
latin7_estonian_cs | latin7 | 20 | Yes | 1 | |
latin7_general_ci | latin7 | 41 | Yes | Yes | 1 |
latin7_general_cs | latin7 | 42 | Yes | 1 | |
latin7_bin | latin7 | 79 | Yes | 1 | |
utf8mb4_general_ci | utf8mb4 | 45 | Yes | Yes | 1 |
utf8mb4_bin | utf8mb4 | 46 | Yes | 1 | |
utf8mb4_unicode_ci | utf8mb4 | 224 | Yes | 8 | |
utf8mb4_icelandic_ci | utf8mb4 | 225 | Yes | 8 | |
utf8mb4_latvian_ci | utf8mb4 | 226 | Yes | 8 | |
utf8mb4_romanian_ci | utf8mb4 | 227 | Yes | 8 | |
utf8mb4_slovenian_ci | utf8mb4 | 228 | Yes | 8 | |
utf8mb4_polish_ci | utf8mb4 | 229 | Yes | 8 | |
utf8mb4_estonian_ci | utf8mb4 | 230 | Yes | 8 | |
utf8mb4_spanish_ci | utf8mb4 | 231 | Yes | 8 | |
utf8mb4_swedish_ci | utf8mb4 | 232 | Yes | 8 | |
utf8mb4_turkish_ci | utf8mb4 | 233 | Yes | 8 | |
utf8mb4_czech_ci | utf8mb4 | 234 | Yes | 8 | |
utf8mb4_danish_ci | utf8mb4 | 235 | Yes | 8 | |
utf8mb4_lithuanian_ci | utf8mb4 | 236 | Yes | 8 | |
utf8mb4_slovak_ci | utf8mb4 | 237 | Yes | 8 | |
utf8mb4_spanish2_ci | utf8mb4 | 238 | Yes | 8 | |
utf8mb4_roman_ci | utf8mb4 | 239 | Yes | 8 | |
utf8mb4_persian_ci | utf8mb4 | 240 | Yes | 8 | |
utf8mb4_esperanto_ci | utf8mb4 | 241 | Yes | 8 | |
utf8mb4_hungarian_ci | utf8mb4 | 242 | Yes | 8 | |
utf8mb4_sinhala_ci | utf8mb4 | 243 | Yes | 8 | |
utf8mb4_german2_ci | utf8mb4 | 244 | Yes | 8 | |
utf8mb4_croatian_mysql561_ci | utf8mb4 | 245 | Yes | 8 | |
utf8mb4_unicode_520_ci | utf8mb4 | 246 | Yes | 8 | |
utf8mb4_vietnamese_ci | utf8mb4 | 247 | Yes | 8 | |
utf8mb4_croatian_ci | utf8mb4 | 608 | Yes | 8 | |
utf8mb4_myanmar_ci | utf8mb4 | 609 | Yes | 8 | |
cp1251_bulgarian_ci | cp1251 | 14 | Yes | 1 | |
cp1251_ukrainian_ci | cp1251 | 23 | Yes | 1 | |
cp1251_bin | cp1251 | 50 | Yes | 1 | |
cp1251_general_ci | cp1251 | 51 | Yes | Yes | 1 |
cp1251_general_cs | cp1251 | 52 | Yes | 1 | |
utf16_general_ci | utf16 | 54 | Yes | Yes | 1 |
utf16_bin | utf16 | 55 | Yes | 1 | |
utf16_unicode_ci | utf16 | 101 | Yes | 8 | |
utf16_icelandic_ci | utf16 | 102 | Yes | 8 | |
utf16_latvian_ci | utf16 | 103 | Yes | 8 | |
utf16_romanian_ci | utf16 | 104 | Yes | 8 | |
utf16_slovenian_ci | utf16 | 105 | Yes | 8 | |
utf16_polish_ci | utf16 | 106 | Yes | 8 | |
utf16_estonian_ci | utf16 | 107 | Yes | 8 | |
utf16_spanish_ci | utf16 | 108 | Yes | 8 | |
utf16_swedish_ci | utf16 | 109 | Yes | 8 | |
utf16_turkish_ci | utf16 | 110 | Yes | 8 | |
utf16_czech_ci | utf16 | 111 | Yes | 8 | |
utf16_danish_ci | utf16 | 112 | Yes | 8 | |
utf16_lithuanian_ci | utf16 | 113 | Yes | 8 | |
utf16_slovak_ci | utf16 | 114 | Yes | 8 | |
utf16_spanish2_ci | utf16 | 115 | Yes | 8 | |
utf16_roman_ci | utf16 | 116 | Yes | 8 | |
utf16_persian_ci | utf16 | 117 | Yes | 8 | |
utf16_esperanto_ci | utf16 | 118 | Yes | 8 | |
utf16_hungarian_ci | utf16 | 119 | Yes | 8 | |
utf16_sinhala_ci | utf16 | 120 | Yes | 8 | |
utf16_german2_ci | utf16 | 121 | Yes | 8 | |
utf16_croatian_mysql561_ci | utf16 | 122 | Yes | 8 | |
utf16_unicode_520_ci | utf16 | 123 | Yes | 8 | |
utf16_vietnamese_ci | utf16 | 124 | Yes | 8 | |
utf16_croatian_ci | utf16 | 672 | Yes | 8 | |
utf16_myanmar_ci | utf16 | 673 | Yes | 8 | |
utf16le_general_ci | utf16le | 56 | Yes | Yes | 1 |
utf16le_bin | utf16le | 62 | Yes | 1 | |
cp1256_general_ci | cp1256 | 57 | Yes | Yes | 1 |
cp1256_bin | cp1256 | 67 | Yes | 1 | |
cp1257_lithuanian_ci | cp1257 | 29 | Yes | 1 | |
cp1257_bin | cp1257 | 58 | Yes | 1 | |
cp1257_general_ci | cp1257 | 59 | Yes | Yes | 1 |
utf32_general_ci | utf32 | 60 | Yes | Yes | 1 |
utf32_bin | utf32 | 61 | Yes | 1 | |
utf32_unicode_ci | utf32 | 160 | Yes | 8 | |
utf32_icelandic_ci | utf32 | 161 | Yes | 8 | |
utf32_latvian_ci | utf32 | 162 | Yes | 8 | |
utf32_romanian_ci | utf32 | 163 | Yes | 8 | |
utf32_slovenian_ci | utf32 | 164 | Yes | 8 | |
utf32_polish_ci | utf32 | 165 | Yes | 8 | |
utf32_estonian_ci | utf32 | 166 | Yes | 8 | |
utf32_spanish_ci | utf32 | 167 | Yes | 8 | |
utf32_swedish_ci | utf32 | 168 | Yes | 8 | |
utf32_turkish_ci | utf32 | 169 | Yes | 8 | |
utf32_czech_ci | utf32 | 170 | Yes | 8 | |
utf32_danish_ci | utf32 | 171 | Yes | 8 | |
utf32_lithuanian_ci | utf32 | 172 | Yes | 8 | |
utf32_slovak_ci | utf32 | 173 | Yes | 8 | |
utf32_spanish2_ci | utf32 | 174 | Yes | 8 | |
utf32_roman_ci | utf32 | 175 | Yes | 8 | |
utf32_persian_ci | utf32 | 176 | Yes | 8 | |
utf32_esperanto_ci | utf32 | 177 | Yes | 8 | |
utf32_hungarian_ci | utf32 | 178 | Yes | 8 | |
utf32_sinhala_ci | utf32 | 179 | Yes | 8 | |
utf32_german2_ci | utf32 | 180 | Yes | 8 | |
utf32_croatian_mysql561_ci | utf32 | 181 | Yes | 8 | |
utf32_unicode_520_ci | utf32 | 182 | Yes | 8 | |
utf32_vietnamese_ci | utf32 | 183 | Yes | 8 | |
utf32_croatian_ci | utf32 | 736 | Yes | 8 | |
utf32_myanmar_ci | utf32 | 737 | Yes | 8 | |
binary | binary | 63 | Yes | Yes | 1 |
geostd8_general_ci | geostd8 | 92 | Yes | Yes | 1 |
geostd8_bin | geostd8 | 93 | Yes | 1 | |
cp932_japanese_ci | cp932 | 95 | Yes | Yes | 1 |
cp932_bin | cp932 | 96 | Yes | 1 | |
eucjpms_japanese_ci | eucjpms | 97 | Yes | Yes | 1 |
eucjpms_bin | eucjpms | 98 | Yes | 1 |
---------------------------------------------------------------+
229 rows in set (0.00 sec)
Correction done in next version 1.3.6 (release in a few days).
Now all client / DB exchanges use UTF-8 datas. This permit to avoid the specific charset implementation for Statement.setCharacterStream() and setClob ( and permitting to avoid this npe possibility)
commit : https://github.com/MariaDB/mariadb-connector-j/commit/012b8c3645e78c92652318f6588a27d7f51ef5db
Hi,
The error seems to be related to charset :
All exchanges with server are done in UTF-8. The only exception are stream data that are send in server charset.
it is possible you send the result of this query :
SHOW variables like 'char%';
SHOW CHARACTER SET;
SHOW COLLATION;
To be sure to reproduced the error, You have this when using the client and server on Ubuntu 14.4 with MariaDB 10.1.11