cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X

DSE Persistence Not Working

ahamad
6-Contributor

DSE Persistence Not Working

Hi,

 

  • I have installed Thingworx (Postgres version) 8.3.0 on 1 machine, Postgresql on 1 machine, and DSE on 1 machine.
  • I have imported the dse persister provider package and created a Persistence Provider for that package and created a Value Stream based on ValueStream template.
  • I created a new template with some properties, and assigned the value stream created above, then created a thing based on that template. The created properties are of type "NUMBER" and "Logged" is checked
  • I'm using Administrator account
  • If I try to change the value of a property from Composer or using Postman (REST APIs) I get the similar error
    • Postman: 500, Internal Server Error, com/thingworx/common/utils/SerializationOptions
    • Composer: Unexpected error occurred on server
      • Application Log shows -- [context: com.thingworx.webservices.context.HttpExecutionContext@5daf065d][message: com/thingworx/common/utils/SerializationOptions]
      • Browser console shows -- No key tw.response.com/thingworx/common/utils/SerializationOptions found!
  • If I hit the refresh button in Composer I can see the value changes to the new value set, however when I try to execute the service QueryPropertyHistory I get an empty result. I verified using DSE CQLSH to query tables and they are all empty

More Findings

  • The error disappears if I uncheck "Logged" on the property. This means it is an issue with DSE persistence package or the configuration
  • Clicking Import > Manage Extensions shows that the imported DSE extension is for Thingworx 8.2.9 and I have Thingworx 8.3.0. Would that be the issue?  If so, where would I find the proper DSE extension for 8.3.0? The package that was imported is named MED-61150-CD-083_F000_DSE-Persistence-Provider-Extension.zip. (It was downloaded from under Release 8.3 and the name indicates 083)
  • I'm using DSE 5.0.15. Is that ok?
3 REPLIES 3
posipova
20-Turquoise
(To:ahamad)

When you created and configured your new DSE persistence provider, were there any errors? Once you name a tablespace, it should get created and be seen on the DSE side.

Currently the only versions supported and tested are 4.6.3 through 5.0.0.

ahamad
6-Contributor
(To:posipova)

Hello,

 

When I create the DSE Persistence Provider there are no errors. It returns a success message and I can see the schema and all the tables created on DSE (cqlsh > describe thingworxnd;)

I was using DSE 5.0.15 and I downgraded to DSE 4.8.16 and still having the exact same issue,

ahamad
6-Contributor
(To:ahamad)

Any help on this? Still facing the issue.

I'm getting the following stack trace in catalina.out if I try to use the Academic Simulator to simulate data

Exception in thread "WSExecutionProcessor-57" java.lang.NoClassDefFoundError: com/thingworx/common/utils/SerializationOptions
	at com.thingworx.persistence.cassandra.dao.CassandraValueStreamDao.prepareBatchStatement(CassandraValueStreamDao.java:349)
	at com.thingworx.persistence.cassandra.dao.CassandraValueStreamDao.saveValueStreamEntry(CassandraValueStreamDao.java:321)
	at com.thingworx.persistence.cassandra.dataprovider.CassandraValueStreamDataProvider.addEntry(CassandraValueStreamDataProvider.java:90)
	at com.thingworx.persistence.cassandra.dataprovider.CassandraValueStreamDataProvider.addEntry(CassandraValueStreamDataProvider.java:44)
	at com.thingworx.persistence.common.ValueStreamEngine.lambda$queueEntry$5(ValueStreamEngine.java:167)
	at com.thingworx.persistence.TransactionFactory.createDataTransaction(TransactionFactory.java:136)
	at com.thingworx.persistence.common.BaseEngine.createTransaction(BaseEngine.java:180)
	at com.thingworx.persistence.common.ValueStreamEngine.queueEntry(ValueStreamEngine.java:165)
	at com.thingworx.persistence.common.ValueStreamEngine.queueEntry(ValueStreamEngine.java:35)
	at com.thingworx.valuestreams.ValueStreamThing.addStreamEntry(ValueStreamThing.java:246)
	at com.thingworx.valuestreams.ValueStreamThing.addStreamEntry(ValueStreamThing.java:250)
	at com.thingworx.things.Thing.rawSetPropertyVTQ(Thing.java:4048)
	at com.thingworx.things.Thing.rawSetPropertyVTQ(Thing.java:3913)
	at com.thingworx.things.Thing.handleSetPropertyWithoutUpdate(Thing.java:4159)
	at com.thingworx.things.Thing.internalSetPropertyVTQ(Thing.java:4150)
	at com.thingworx.things.Thing.setPropertyVTQ(Thing.java:4270)
	at com.thingworx.things.Thing.forcePropertiesVTQ(Thing.java:4174)
	at com.thingworx.webservices.processors.APIProcessor.writeProperties(APIProcessor.java:236)
	at com.thingworx.webservices.processors.APIProcessor.dispatchRequest(APIProcessor.java:66)
	at com.thingworx.system.subsystems.wsexecution.processor.WSExecutionInstance.run(WSExecutionInstance.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)
Top Tags