If you missed the pre-registration for NetApp MS Azure AD B2C, the new login prompt will offer the option to register. Please note that access to your NetApp data may take up to 1 hour.
To learn more, read the FAQ and watch the video.
Need assistance? Complete this form and select “Registration Issue” as the Feedback Category.

Active IQ Unified Manager Discussions

Balance throws SQL error when collecting array data


I have a customer running a Balance POC that has hit a problem with Balance collecting data. Below is his explanation.

My first guess is that the "@" sign in the lun and qtree names is causing a problem, but I'm looking for anyone who may have encountered this before. Any ideas?


We finally managed  to get the OnCommand Balance appliance installed.

We don’t seem to be able to get very far with the product however.

We have been using Syncsorts backup product since the beginning of this year and it likes to create some … verbose(?) LUN and QTREE names.

Here are a couple of examples:

Syncsort created LUN path:


Syncsort created Qtree:


These names seem to be giving the OnCommand Balance SQL a bit of a hard time and Balance does not seem to be able to ignore or get around the issue, so it cannot collect any data from the NetApp Storage arrays.

OnCommand Balance Collection Error:

Storage System Summary: sef-netapp01   

Open console  Refresh       Edit 

Storage System Nickname: 


       FQDN/IP Address:

Storage System Type: NetApp FAS    Partners IP Address:

Credentials:  NETAPP-cred-   Statistics Collection:     Enabled

Using SSL:    true        

Discovery:    Error:Unknown Collection Error

Last Success:

Last Attempt: Today @ 4:34pm

Collection Service failed to process discovery collection. PreparedStatementCallback; bad SQL grammar select * from Element where elementTypeId=? and elementRelationshipKey regexp ^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$|^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$|^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$|^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$|^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$|^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$|^*:/VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}$ and elementOpStatus <> 5 ; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Got error invalid repetition count(s) from regexp

Statistics:   OK

Last Success: Today @ 4:46pm

Last Attempt: Today @ 4:46pm



You appear to have whitespace in your mountpoint names which would confuse mysql into interpreting a mountpoint as several tokens instead of a single token.  Can you confirm that this is indeed the case?

In any event if you can open a support case then we can look at the logs and raw data and go from there.


There is no whitespace in the qtree paths. The whitespace you see exists only within the OnCommand Balance generated error.

The actual path on the controller is: /vol/dcp01sql_bu/[dpx_dcp01sql]SRV-DCP01SQL03@{96E2F5D7}

The path as shown in the Balance error message: /VOL/DCP01SQL_BU/ DPX_DCP01SQL SRV-DCP01SQL03@{96E2F5D7}

The Balance error output has replaced the square brackets with spaces.


I see the problem then.  The '[' and ']' characters are being treated as part of a regular expression pattern match, instead of literal characters.  I'll go ahead and put in code to escape these special characters if they appear in the path, that should take care of this problem.

Code freeze for the patch release is COB tomorrow (Sept 4th), and we plan to release around Sept 19th at which point you can download from the NOW site.


PS: I created BURT 751191 (http://burtweb-prd.eng.netapp.com/burt/burt-bin/start?burt-id=751191) with Phil Bachman as the submitter and myself as the owner.  I'll use this BURT to check the fix in.


That is great news! Thank You!

We are eager to see what the Balance product can provide as we have a VM environment of around 500 machines.


It's a good thing you provided the qtree path name, the curly braces also needed to be escaped.


Yes, I did try to provide as much as I could. Syncsort seems to create those names with too many ‘questionable’ characters for my liking.

I also wondered about the “@” symbol for SQL. Isn’t that for SQL variable expansion?


Yes it is, although in the example above it isn't treated as a session variable in the context given.  Still it can't hurt to be safe so I've gone ahead and escape the '@' symbol as well.  I ran a test SQL query escaping all five of these characters against the example you provided and it works, so we'll go with that.



Thank you Mike!



That does not look pretty at all.

There are no obvious known issues. Rather than speculate, a customer support case may yield the truth.


Case #2004507327 opened.

NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.