'invalid byte sequence for encoding "UTF8": 0x00' occurred when inserting a record to PostgreSQL

Solution Verified - Updated -

Issue

  • When inserting a record, that get from Oracle DB, to PostgreSQL during MERGE INTO query, TEIID11013/TEIID11004 and PSQLException occurred with following stacktrace.
16:12:56,212 WARN  [org.teiid.CONNECTOR] (Worker4_QueryProcessorQueue619) Connector worker process failed for atomic-request=B/J+zy7KrOJ2.0.5.46: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11013:TEIID11004 Error executing statement(s): [Prepared Values: [1, '\00'] SQL: INSERT INTO "public"."pgtable" ("col1", "col2") VALUES (?, ?)]
    at org.teiid.translator.jdbc.JDBCUpdateExecution.executeTranslatedCommand(JDBCUpdateExecution.java:293) [translator-jdbc-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
    at org.teiid.translator.jdbc.JDBCUpdateExecution.execute(JDBCUpdateExecution.java:84) [translator-jdbc-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
    at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:399)
    at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:361)
    at sun.reflect.GeneratedMethodAccessor159.invoke(Unknown Source) [:1.8.0_131]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_131]
    at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_131]
    at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
    at com.sun.proxy.$Proxy79.execute(Unknown Source)
    at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
    at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:142)
    at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
    at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:281)
    at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
    at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
    at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
    at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69)
    at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70)
    at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84)
    at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:92)
    at org.teiid.query.processor.proc.ProcedurePlan.executePlan(ProcedurePlan.java:616)
    at org.teiid.query.processor.proc.CreateCursorResultSetInstruction.process(CreateCursorResultSetInstruction.java:69)
    at org.teiid.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:389)
    at org.teiid.query.processor.proc.ProcedurePlan.nextBatchDirect(ProcedurePlan.java:298)
    at org.teiid.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:270)
    at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
    at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
    at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
    at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
    at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
    at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
    at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
    at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
    at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
    at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
    at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_131]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_131]
    at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
Caused by: org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356)
    at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:168)
    at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:135)
    at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)
    at org.teiid.translator.jdbc.JDBCUpdateExecution.executeTranslatedCommand(JDBCUpdateExecution.java:263) [translator-jdbc-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
    ... 38 more

Environment

  • Red Hat JBoss Data Virtualization (DV) 6.4

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content