java.lang.NoSuchMethodError: oracle.streams.XStreamUtility.convertSCNToPosition(Loracle/sql/NUMBER;I

150 views
Skip to first unread message

Ehasnul Khan

unread,
May 30, 2019, 1:13:23 PM5/30/19
to debezium
Hello,

I am getting this error message. Not sure if I need to change to configuration. Here is my error detail and config file info. 


java.lang.RuntimeException: java.lang.NoSuchMethodError: oracle.streams.XStreamUtility.convertSCNToPosition(Loracle/sql/NUMBER;I)[B

at io.debezium.connector.oracle.OracleStreamingChangeEventSource.execute(OracleStreamingChangeEventSource.java:74)

at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:86)

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.lang.NoSuchMethodError: oracle.streams.XStreamUtility.convertSCNToPosition(Loracle/sql/NUMBER;I)[B

at io.debezium.connector.oracle.OracleStreamingChangeEventSource.convertScnToPosition(OracleStreamingChangeEventSource.java:111)

at io.debezium.connector.oracle.OracleStreamingChangeEventSource.execute(OracleStreamingChangeEventSource.java:63)

... 6 more


My config file:


curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" localhost:8083/connectors/ -d '{ "name": "oracle-source-connector", "config": { "connector.class" : "io.debezium.connector.oracle.OracleConnector", "tasks.max" : "1", "database.server.name" : "E1Local", "database.hostname" : "VAIO", "database.port" : "1521", "database.user" : "system", "database.password" : "password", "database.dbname" : "E1Local", "table.whitelist" : "XSTRMADMIN.customers",  "database.out.server.name" : "dbzxout", "database.history.kafka.bootstrap.servers" : "localhost:9092", "database.history.kafka.topic": "schema-changes.customer" } }'



Thanks!  -Ehsan

Ehasnul Khan

unread,
May 30, 2019, 1:31:33 PM5/30/19
to debezium
I missed the top part of the error:

ERROR Producer failure (io.debezium.pipeline.ErrorHandler:36)

java.lang.RuntimeException: java.lang.NoSuchMethodError: oracle.streams.XStreamUtility.convertSCNToPosition(Loracle/sql/NUMBER;I)[B



Chris Cranford

unread,
May 30, 2019, 2:06:39 PM5/30/19
to debezium
Are you using the 12.1.0.2 version of the xstreams library or did you use the 12.2.x.y releases?

Ehasnul Khan

unread,
May 30, 2019, 2:08:35 PM5/30/19
to debezium
Yes, I am using Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production.

Thanks for your response.

-Ehsan

Ehasnul Khan

unread,
May 30, 2019, 2:18:43 PM5/30/19
to debezium
Just to clarify further- my database is 12.1.0.2. So my guess is that I am using whatever is comes with this database. I am using the instruction in provided @Debezium (https://debezium.io/docs/connectors/oracle/).

Wondering if I need to modify my configuration to fix the error.

Thanks!

-Ehsan

Chris Cranford

unread,
May 30, 2019, 2:53:57 PM5/30/19
to debezium
Ehsan -

I checked the method signature in the xstreams.jar for 12.1.0.2 and 12.2.0.1 and I found that the 12.1 (RC1) version expects a single argument to be passed where-as the 12.2 (RC2) version expects two arguments.  Ironically our code current attempts to pass two arguments, which would lead to this exception if you were using the 12.1.0.2 versions of the libraries.  This at least appears like a compatibility issue but since I haven't worked directly on the Oracle Connector, I'm going to defer to Gunnar or Jiri on this.  It would appears that using the ojdbc8.jar and xstreams.jar from 12.2.0.1 resolves the issue; however I'm not sure if those are necessarily compatible with your Oracle 12.1.0.2 (RC1) installation.

Ehasnul Khan

unread,
May 30, 2019, 3:17:21 PM5/30/19
to debezium
Thanks, Chris for your input.

I checked and yes, I am using ojdbc8.jar and xstreams.jar. 

Would be great if Jiri or Gunnar can provide their two cents on this.

Thanks again.

-Ehsan

Gunnar Morling

unread,
May 31, 2019, 4:01:57 AM5/31/19
to debezium
Hi,

I suppose it'd make sense to build the Debezium connector against the latest XStream JAR there is (19 something?), assuming that this works with earlier database versions, too. Unfortunately we cannot ship the driver, so there's also potential for this kind of mismatch if the driver evolves in a non-backwards compatible way.

Ehsan, could you log a JIRA issue for doing this update and perhaps also create a PR to implement the required code change? Thanks!

--Gunnar

Ehasnul Khan

unread,
Jun 1, 2019, 1:34:50 AM6/1/19
to debezium
Thanks Gunnar,

I have logged a JIRA (DBZ-1313, didn't assign it to anyone though).

Regarding your suggestion to create PR, would that be in Git or still a JIRA (Feature Request) ticket? Sorry, I am new in this space. Additionally, the required code changes would be delivered as part of a new .JAR file?


-Ehsan

Ehsanul Khan

unread,
Jun 2, 2019, 2:41:15 AM6/2/19
to debe...@googlegroups.com
Thanks, Gunnar,

Logged the issue in JIRA-1313.

By PR if you meant pull request in Git, then I have entered one (#903) under 9.0 as I could not see 9.4 which is the version I used (plz forgive my limited knowledge in this space).

Thanks!

-Ehsanul

--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To post to this group, send email to debe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/7f73b99d-0d8e-4e53-b4d5-f2eee756acd6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--

Ehasnul Khan

unread,
Dec 6, 2019, 1:24:30 AM12/6/19
to debezium
Hello,

Sorry I have been away for a while from Debezium. But I have switched to Oracle DB 12.2.0.1. But still getting the same issue. Can someone please take a look at my log file? Also attached is my installation.

I thought switching to 12cr2 would take care of the issue. please advise what I can do as a next step.

Thanks!

-Ehsan
Screen Shot 2019-12-05 at 10.22.13 PM.png
Terminal Saved Output

Ehsanul Khan

unread,
Dec 6, 2019, 1:54:22 AM12/6/19
to debe...@googlegroups.com
I have both InstantClient_12_2 and 12_1 present on the same machine. Could that be the reason that I am getting the above error even after installing Oracle DB 12cR2?

Thanks!

-Ehsan

--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.

Jiri Pechanec

unread,
Dec 9, 2019, 2:33:23 AM12/9/19
to debezium
Hi,

you either have wron version of xstreams.jar in the connector directory or there must be multiple xtsreams.jar in the Connect directories.

J.


On Friday, December 6, 2019 at 7:54:22 AM UTC+1, Ehsanul Khan wrote:
I have both InstantClient_12_2 and 12_1 present on the same machine. Could that be the reason that I am getting the above error even after installing Oracle DB 12cR2?

Thanks!

-Ehsan

To unsubscribe from this group and stop receiving emails from it, send an email to debe...@googlegroups.com.


--

Ehsanul Khan

unread,
Dec 9, 2019, 2:46:27 AM12/9/19
to debe...@googlegroups.com
Hi Jiri,

Thanks for your reply! I will look into this as soon as possible and report back. 

Thanks!

-Ehsan

To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/debezium/6c43da50-f2b5-4be5-a168-c454ef0f990f%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages