Git Integration for Jira Self-Managed (Data Center/Server) Documentation

Contact Support

SQLException Incorrect string value in merge requests

Problem

Pull/merge requests no longer show in the app after updating beyond Git Integration version 3.7.0+.

The following errors are encountered:

2020-09-28 15:12:01,087+0200 bigbrassband-gitplugin-AsyncProcessorImpl:thread - 0 ERROR      [c.b.j.g.services.async.BigReindexTask] Error retrieving merge/pull requests for repoId = 119
java.lang.reflect.UndeclaredThrowableException
    at com.sun.proxy.$Proxy5398.save(Unknown Source)
    at com.bigbrassband.jira.git.ao.dao.MergeRequestDao.update(MergeRequestDao.java:38)
    at com.bigbrassband.jira.git.services.indexer.pullrequests.MergeRequestRetrieverImpl.updateIfChanged(MergeRequestRetrieverImpl.java:185)
    at com.bigbrassband.jira.git.services.indexer.pullrequests.MergeRequestRetrieverImpl.lambda$updateMergeRequestsFull$2(MergeRequestRetrieverImpl.java:122)
    at com.bigbrassband.jira.git.ao.dao.MergeRequestDaoImpl.lambda$streamByQuery$1(MergeRequestDaoImpl.java:47)
    at net.java.ao.EntityManager.stream(EntityManager.java:825)
    at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.stream(EntityManagedActiveObjects.java:164)
    at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects.stream(TenantAwareActiveObjects.java:316)
    ... 2 filtered
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
    at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
    at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy2382.stream(Unknown Source)
    at com.bigbrassband.jira.git.ao.dao.MergeRequestDaoImpl.streamByQuery(MergeRequestDaoImpl.java:46)
    at com.bigbrassband.jira.git.ao.dao.MergeRequestDaoImpl.streamByRepoId(MergeRequestDaoImpl.java:37)
    at com.bigbrassband.jira.git.services.indexer.pullrequests.MergeRequestRetrieverImpl.updateMergeRequestsFull(MergeRequestRetrieverImpl.java:118)
    at com.bigbrassband.jira.git.services.indexer.pullrequests.MergeRequestRetrieverImpl.updateMergeRequests(MergeRequestRetrieverImpl.java:90)
    at com.bigbrassband.jira.git.services.async.BigReindexTask.reindexMergeRequests(BigReindexTask.java:245)
    at com.bigbrassband.jira.git.services.async.BigReindexTask.run(BigReindexTask.java:133)
    at com.bigbrassband.jira.git.services.async.AsyncProcessorImpl$1.doRun(AsyncProcessorImpl.java:86)
    at com.bigbrassband.jira.git.services.indexer.revisions.QueueEntry.run(QueueEntry.java:90)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8E\x84 C...' for column 'TITLE' at row 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
    at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
    at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)
    at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)
    at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
    at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
    at net.java.ao.EntityProxy.save(EntityProxy.java:579)
    at net.java.ao.EntityProxy.invoke(EntityProxy.java:115)
    ... 41 more

Diagnosis

The reason for these errors – some pull/merge requests may use 4-byte UTF-8 characters (like emojis) which not supported in MySQL database collation ‘utf8_bin’.

Some useful references for this issue:

Solution

Switch the character encoding in the MySQL Jira database to utf8mb4 and collation to utf8mb4_bin as described in the first article listed above.

Contact Us
If you still have a question – reach out to our Support Desk or email us at gijsupport@bigbrassband.com.

 

More articles about troubleshooting, workarounds and solutions

Why I am getting the error, “git-upload-pack not permitted”?

Avoid OutOfMemory exceptions by configuring or memory allocation with Jira to accommodate large repositories

Cannot auto-deploy some tracked repositories: Specified origin is incorrect or not supported

Connection Reset when Accessing the Database

"Dangerous use of multiple connections" error on local database

Duplicate entry 0 for key PRIMARY exceptions in log

Error while reindexing – Java heap space / Object too large, rejecting the pack

Gitolite integration: Why the Git integration app not see the master branch?

Health Check: Database Collation

Indexing error – Too many open files

Installation fails when installing manually

Jira index error: IndexNotFoundException: no segments* file found

Malformed input or input contains unmappable characters

Personal access token failing Azure DevOps integration with Not Authorized error

Problems with shared home on Azure Storage

Pull request index error: org.json.JSONException

Repositories missing from Azure DevOps integration

"Service proxy has been destroyed" exceptions in log

SQLException ‘Incorrect string value’ in merge requests (this page)

SSH key file format is invalid

TFS – Not authorized exception when Jira works thru proxy

Unexpected exception parsing XML document from URL error in log

Why don’t I see the Create Branch or Pull Request features?

Have feedback about this article? Did we miss something? Let us know!
On this page