Closed christopher-hartley closed 2 years ago
Hi @christopher-hartley,
I've had a look at your question and I have something for you to try. Firstly, we need to note that the actual exception is coming from the underlying haystack-java library written by SkyFoundry. nhaystack uses this library extensively of course but nhaystack isn't generating the error.
Where the exception is being thrown it is doing a check for a valid tag name according to the Haystack rules for tag names. The code that eventually does this check is here
If you follow this through it's checking to make sure that the first letter of the tag name is a lower case. In your case the tag name is not lower case. The rules for tag names are also documented here
The first thing I would like you to try is to change the tag names to be compliant with the tag naming rules. From there we can examine if there are further issues.
@ci-richard-mcelhinney following up on this issue, we had the integrators remove this tag for us from four different equips and four different points. Once removed, we were able to run a "haystackReadAll" from SkySpark without issue. I'd like to put forward a feature request that this error not be thrown (which prevents us from importing points into SkySpark) but either throws a warning and remove tags like this, or automatically force any uppercase tags to be haystack compliant (like the toTagName function in SkySpark). Let me know if you have more questions, and have a good week!
Hi @christopher-hartley , glad to hear we got to the bottom of the issue. As it is resolved I will close this ticket. In terms of your feature request it's noted, however this isn't something that is within the scope of nhaystack.
Firstly, we would need to change the tag naming rules as documented on Project Haystack and then we would need to get the underlying haystack-java library which is actually throwing the issue.
Yes, I could wrap the error and swallow it and still add your tag anyway, but then nhaystack would be violating the naming rules for tags and I don't think that's a good idea.
I suggest you post on the Project Haystack forum and gauge what others think about this issue. I've had no other feedback from the community that suggests this is an issue that is widely affecting the deployment of nhaystack.
We have installed nhaystack verison v3.2.0.4.10.1.36 on our 4.10.0.154 instance of Niagara, and querying this Niagara instance from a 3.1.3 version of SkySpark. A contractor added two tags that are causing issues when we try to use haystackReadAll to look for records in the instance of Niagara from SkySpark (see below).
I've tried to run
readLink(@p:CLIENT:r:29a96504-7dd2889d).haystackRead(point)
[works],readLink(@p:CLIENT:r:29a96504-7dd2889d).haystackReadAll(parseFilter(\\\"point and not ORHum\\\"))\")
[does not work], andreadLink(@p:CLIENT:r:29a96504-7dd2889d).haystackReadAll(equip)
[does not work], andreadLink(@p:CLIENT:r:29a96504-7dd2889d).haystackReadAll(parseFilter("point and fes!=ORHum and hs!=ORHum"))
. The returned error message is:My main questions are:
Thank you!