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

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

Data loss in infotable

dbologna
11-Garnet

Data loss in infotable

Good evening to All,
I have a set of Thing in which there are 2 properties, the first 'A' is a property whose valor are updated by kepware, while the second property 'B' is an infotable that must contain all the variations of property 'A'. In particular 'A' must contain the last 500 variations of property 'B'. Whenever the value of property 'B' changes the value is saved in infotable 'B', if the number of rows in the infotable exceeds the number of 500 then the first element is deleted. It often happens that out of 160 different values of 'A' in the infotable 'B' a number of values between 113 and 16590 (but never 160) are saved. In the ScriptLog all values entered in infotable 'B' are tracked, but in the infotable some values are missing.
No errors are reported but some data are always missing.
The 160 different values arrive from kepware within 2 minutes.
For the following tasks I need the infotable 'B' to contain all the variations of property 'A'.
I have Thingworx 8.5.18 and kepware 6.2.
How can I avoid data loss, also I cannot use ValueStream (too slow for the process).
Thanks

Dimitri

1 ACCEPTED SOLUTION

Accepted Solutions

Thanks for the feedback I had already opened a case to PTC before asking the community. The infotable property in the thing is persistent (so I run the clone , modify the content of the clone ie reassign it to the infotable of the Thing). For the concurrency problem I used the ConcurremcyExtension.zipper extension which solved my infotable update problems.
Thank you and have a nice day

Dimitri

View solution in original post

3 REPLIES 3
nmutter
14-Alexandrite
(To:dbologna)

I am not quite following but one common issue with infotable properties is how you modify them. There is this article: https://www.ptc.com/en/support/article/CS227531#:~:text=Avoid%20manipulating%20Thing%20properties%20directly%20as%20this%20can%20result%20in%20persistent%20synchronization%20issues stating you should clone it, change content and assign it back to the property (if it is a persisted property).

But from what I understand you may also get a lot of property updates in a short timeframe, which most likely will cause an issue when multiple DataChange events are running at the same time trying to update the same property.

 

Not sure if I undestand the situation right?

Hi @dbologna,

 

For this type of Scenario, I will suggest you to open the Case with PTC support. If you allow me I can open the case on your behalf. 

 

Waiting for your kind reply. 

 

Regards,

Surbhi Patel

Thanks for the feedback I had already opened a case to PTC before asking the community. The infotable property in the thing is persistent (so I run the clone , modify the content of the clone ie reassign it to the infotable of the Thing). For the concurrency problem I used the ConcurremcyExtension.zipper extension which solved my infotable update problems.
Thank you and have a nice day

Dimitri

Top Tags