Spectrum VNM.OUT SearchParser.cc ERRORs
search cancel

Spectrum VNM.OUT SearchParser.cc ERRORs

book

Article ID: 369407

calendar_today

Updated On:

Products

DX NetOps CA Spectrum

Issue/Introduction

We noticed some errors of a REST API search in VNM.OUT (see below).

As verified  a non existing attribute will produce such SearchParser.cc errors.
In the search  you also can see that the used attributes 0xfff00569 and 0xfff00550 (which do not exist) are missing a value to search for.

How can we debug this and find out the REST queries that produce the error without filling the logs too fast?


Errors from VNM.OUT:

Apr 14 20:41:04 ERROR TRACE at SearchParser.cc(1703): Unable to locate AttrDesc for attr, 0xfff00569 for Filtered Models, please fix
Apr 14 20:41:04 ERROR TRACE at SearchParser.cc(175): 
Parsing Failed near line 0, Error Message is:
""

Apr 14 20:41:04 ERROR TRACE at SearchParser.cc(183): XML was:
<?xml version="1.0" encoding="UTF-8"?><search-criteria xmlns="http://www.ca.com/spectrum/restful/schema/filter">
  <filtered-models>
    <and>
      <or>
        <equals>
          <model-class>14</model-class>
        </equals>
        <equals>
          <model-class>113</model-class>
        </equals>
      </or>
      <equals>
        <attribute id="0x10004">
          <value>1</value>
        </attribute>
      </equals>
      <does-not-equal>
        <attribute id="0x1000a">
          <value>4</value>
        </attribute>
      </does-not-equal>
      <or>
        <does-not-equal>
          <attribute id="0xfff00569">
            <value/>
          </attribute>
        </does-not-equal>
        <does-not-equal>
          <attribute id="0xfff00550">
            <value/>
          </attribute>
        </does-not-equal>
      </or>
    </and>
  </filtered-models>
</search-criteria>

Environment

Spectrum 22.x, 23.x

Cause

An incorrect REST API search query.

Resolution

We can enable the following debug:

OneClick Administration -> Debugging -> Web Server Debug Page (Runtime) page : RESTful Web Services

and see the output in the tomcat log file ($SPECROOT/tomcat/logs/stdoout.log for Windows or catalina.out file for Linux)

If this does not help may need to look for more details with for example tcpdump.

Additional Information

Reproduce the error like this:

  • Create a Global Collection that is searching for any attribute.
  • The query will be stored in the dynamicCriteriaXML attribute of the GC
  • Modify this attribute and change the attribute ID used to something that does not exist.
  • When you do than, run the GC; it will produce the Parser error.