FreeOpcUa / opcua-asyncio

OPC UA library for python >= 3.7
GNU Lesser General Public License v3.0
1.12k stars 361 forks source link

Should we switch returnBounds to default to False instead? #989

Open deeTEEcee opened 2 years ago

deeTEEcee commented 2 years ago

Is there a good reason DefaultBounds is set to True by default?

It seems more intuitive to set it to False. (or better yet, just make it a required argument) I don't see why people would stream a time range and expect data outside that range.

deeTEEcee commented 2 years ago

In my case, we run this to stream data from a factory and because we're missing monitoring systems for bad data, we missed this. We ended up ingesting a lot of duplicate data as a result of OPC-UA nodes that had no data and as a result would only return returnBounds data infinitely.

oroulet commented 2 years ago

What part of code are you writing about?

deeTEEcee commented 2 years ago

Is there a good reason DefaultBounds is set to True by default?

Code link in there. Talking about read_raw_history

schroeder- commented 2 years ago

Don't think we should change that. The problem you describe sounds like a no conforming server. See the specs: https://reference.opcfoundation.org/v104/Core/docs/Part11/4.4/

deeTEEcee commented 2 years ago

I'm saying in my opinion, I don't think the average client user cares about receiving data outside time bounds when running this method. It might surprise you but people don't always read the documentation.

It has nothing to do with a server not following expected behavior.