Service Operations Insight

 View Only
  • 1.  Newbie to Capacity Manager

    Posted Aug 18, 2016 12:53 PM

    Has anyone experienced the following error shown below.

     

    Error Text

    Missing Operand in the expression.

     

    Error Class

    class com.hyperformix..DataIntf.DBWriter.DatabaseWriter

     

    Message details

    com.hyperformix.DataGatherEngine.DataIntf.Transformations.TransformException: Missing Operand in the expression.

     

    Method Name

    executeBatch

     

     

    Thank You!



  • 2.  Re: Newbie to Capacity Manager

    Posted Aug 18, 2016 12:59 PM

    Hi,

    Where are you seeing that error and under what function?

    Thanks

    Matt



  • 3.  Re: Newbie to Capacity Manager

    Posted Aug 18, 2016 01:10 PM

    Technical error messages are the last thing we need to help you...

     

    • First we must understand the Context of what action caused this error.
    • Second we must have the first indication of the error, how did you know you had this error?
    • Third a screen shot is helpful.
    • Finally, the error you provided is likely the TOP of a stack of errors...we would need more than just that one line.

    Please provide that error stack and those above and below it.

     

    Thanks,

    David



  • 4.  Re: Newbie to Capacity Manager

    Posted Aug 18, 2016 01:25 PM

    Here is the full error I exported from the DB "JOB_ACTIVITY_ERROR_ID" "LOG_ID" "TRANSACTION_ID" "MIGRATE_COMPLETED" "TYPE_OF_ERROR" "ERROR_LOGGED_DATE" "DELETED_FLAG" "ERROR_TEXT" "ERROR_CLASS" "LOG_ID_1" "SEVERITY" "MESSAGE" "MESSAGE_DETAIL" "CLASS_NAME" "METHOD_NAME" "LOGGING_TIME" "TRANSACTION_ID_1" "USER_ID" "CATEGORY_ID" 26395117 30481234 8260 "" 1 18-AUG-16 0 "Missing Operand in the expression." "class com.hyperformix.DataGatherEngine.DataIntf.DBWriter.DatabaseWriter" 30481234 "4 " "Missing Operand in the expression." "com.hyperformix.DataGatherEngine.DataIntf.Transformations.TransformException: Missing Operand in the expression. at com.hyperformix.DataGatherEngine.DataIntf.Transformations.ExpressionEvaluator.getTop(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Transformations.ExpressionEvaluator.binaryOp(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Transformations.ExpressionEvaluator.processToken(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Transformations.ExpressionEvaluator.getValue(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Transformations.expressionTransformation.ExecuteMathExpression(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Transformations.expressionTransformation.Execute(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.DBWriter.DatabaseWriter.transformValue(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.DBWriter.DatabaseWriter.HandleInsert(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.DBWriter.DatabaseWriter.writeToDatabase(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.writeToDatabase(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.processData(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.getServerMetric(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.getDataForATable(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.getDataForTimeBucket(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.getDataForHosts(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.ExecuteEngine(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Engine.VMWare_API_Engine.runEngine(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Main.DataGatheringEngine.runETLEngine(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Main.DGEThread.runGenericETL(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Main.DGEThread.run(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Main.DGEThread.start(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Main.DGEMain.loaddata(Unknown Source) at com.hyperformix.DataGatherEngine.DataIntf.Main.DGEMain.loadData(Unknown Source) at com.hyperformix.athens.scheduler.DGEJob.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)



  • 5.  Re: Newbie to Capacity Manager

    Posted Aug 18, 2016 01:36 PM

    I am monitoring for errors using a Solarwinds SQL user experience monitor.  SQL code shown below for your reference.

     

    My apologies for not posting additional information.  This is my first post.  I normally do not support capacity manager.  The person who support capacity manager moved on.   Please forgive for my lack of knowledge I am sure I will pick up very quickly if I continue receiving errors

     

    SELECT *

    FROM job_activity_error INNER JOIN logging_info_config ON job_activity_error.log_id = logging_info_config.log_id

    WHERE

      error_text != 'Duplicate data found during data load. Some data may be lost.'

      AND error_text != 'Error writing to database due to insufficient information in the input data row to create mandatory entries in the database.'

      AND error_text != 'A database error occurred while writing data to the database.'

      --AND error_text != ''

      AND job_activity_error.error_logged_date > ( SYSDATE - 1 ) AND ROWNUM <=10

      ORDER BY job_activity_error.transaction_id ASC

     

    Not sure where to being looking for screen shots via Capacity Command Center/Data Manager.  I will browse around and post what I think is valuable.  If you know of any particular location for me to grab screen shots let me know.

     

    Thank You!

     

     



  • 6.  Re: Newbie to Capacity Manager

    Posted Aug 18, 2016 02:36 PM

    Can you check your VCenter to see if this known problem applies?

     

    Performance charts are empty and displays the error: Request processing is restricted by administrator (2107096)

    Details

    • When you select a cluster and view the performance charts, you see the error
           Request processing is restricted by administrator.

      This message is displayed when you attempt to view performance charts for clusters, resource pools, or other objects. You may see this message for overview charts and for advanced performance charts.
    • In vSphere 5.5 Update 2d and later and vSphere 6.0, a limit is set to the number of entities that are included in a database query. The limit protects the vCenter Server database from receiving large queries

     

    If your vCenter is 5.5 update 2d or later this this fix may be required to vCenter so that the VMWARE API will work.

    URL:

    https://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&externalId=2107096&sliceId=1&docTypeID=DT_KB_1_1&dialogID=174646880&stateId=0
    0 195409709



  • 7.  Re: Newbie to Capacity Manager

    Posted Aug 18, 2016 02:43 PM

    Solution from the URL is below...just in case you cannot follow the URL:

     

    Solution

    1. To change the limitation for performance charts you must perform two tasks:
      •Edit the config.vpxd.stats.maxQueryMetrics key in the advanced settings of vCenter Server, or vCenter Server Appliance.
      •Edit the web.xml file.

    Change the config.vpxd.stats.maxQueryMetrics Key
         1.In a Web browser, log in to vSphere Web Client.
         2.Navigate to a vCenter Server and click the Manage tab.
         3.On the Settings tab click Advanced Settings.
         4.On the Advanced vCenter Server Setting page, click Edit.
         5.Navigate to the config.vpxd.stats.maxQueryMetrics key and change the value.

         Note: If this is the first time you edit the key, you cannot see it in the list of advanced vCenter Server settings. You must first add the vpxd.stats.maxQueryMetrics key. After you add the key it appears as config.vpxd.stats.maxQueryMetrics. If you added the key incorrectly, you can delete it from C:\ProgramData\VMware\VMware VirtualCenter\vpxd.cfg.

         6.Enter the name of the key and its value, and then click Add.
              The default value is 64. To disable the limit, set a value to -1.

              Edit the web.xml File for vCenter Server and vCenter Server Appliance

              1.Navigate to the web.xml file:

                   For vCenter Server Appliance 6.0.x, open /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF
                   For vCenter Server Appliance 5.5.x , open /usr/lib/vmware-vpx/tomcat/webapps/statsreport/WEB-INF/web.xml
                   For vCenter Server 6.0.x, open C:\ProgramData\VMware\vCenterServer\data\perfcharts\tc-                    instance\webapps\statsreport\WEB-INF
                   For vCenter Server 5.5.x, open C:\Program Files\VMware\Infrastructure\Tomcat\webapps\statsreport\WEB-INF

              2.Open the web.xml file using an text editor.
              3.Find the maxQuerySize parameter and change the value in the <param-value> tag. To disable the limit, set a value 0:

                   <context-param>
                   <description>Specify the maximum query size (number of metrics)for a single report. Non-positive values are                ignored.</description>
                   <param-name>maxQuerySize</param-name>
                   <param-value>64</param-value>
                   </context-param>

              4.Save and close the web.xml file.
              5.In the vSphere Web Client, restart the VMware Performance Chart Service.

     

    For more information, see Start, Stop and Restart Services in the VMware vSphere 6.0 Documentation Center.

     

    Selecting maxQuerySize Value

              Caution: If you increase the value of the config.vpxd.stats.maxQueryMetrics setting, or if you disable its limit, you might send larger queries to the vCenter Server database. This might cause the following problems:
              •Deterioration in the general responsiveness of the vCenter Server
              •Increased response time to display some of the charts

     

    When you see the Request processing is restricted by the administrator message, if you are in doubt about the value you should set the maxQuerySize parameter, you can start with a value that is above the largest number of virtual machines or hosts in the cluster.

     

    In addition, you can open the vpxd log file and look for the message that displays the number of metrics that exceed the limit.
    To see the exact value that exceeds the limit, search the the vpxd.log file for a message similar to the following:
    The query size of 65 metrics exceeded the vpxd.stats.maxQueryMetrics limit of 64 metrics. Dropping.
    To see data in the performance charts, set the maxQuerySize value to a number greater than 65.



  • 8.  Re: Newbie to Capacity Manager

    Broadcom Employee
    Posted Aug 23, 2016 10:20 AM

    Hi

     

    The error Missing Operand in the expression during the staging of the data is most times caused by

    a conflict in the regional settings . which are causing a invalid sql statement during staging .

     

    To find out the exact cause i suggest you open a support case so we can work with you to resolve this.

    We would need to have all the details on the enviroment to see what is a happening

     

    Regards

    Dirk



  • 9.  Re: Newbie to Capacity Manager

    Posted Aug 24, 2016 11:21 AM

    This is a known error message as documented in CCC documentation.

     

    See DE42162 in CCC Release Notes Click the link below.

    Known Issues: Capacity Command Center - CA Capacity Management - 2.9.3 - CA Technologies Documentation

     

    Text from the link:

     

    Description

     

     

    When using the VMware Data Adapters, the staging error: "Missing Operand in the expression"

     

    may appear intermittently in the staging Error log. This is a message that can be ignored.

     

    This occurs if vCenter does not provide all metrics for a specific span of time.

     

    This missing metrics for a specific span of time....can be caused by vCenter API Limiter that VMWARE added to the product.

     

    We have a fix for it, but the fix is on the VCenter side.

     

    David

     



  • 10.  Re: Newbie to Capacity Manager

    Posted Sep 01, 2016 11:07 AM

    Hello,

    Have we answered your question?

    Matt