search cancel

NAC & SQLException Tracing

book

Article ID: 188173

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

If there are issues between the Nolio RA NAC (aka mgmt) server and the database then a variety of problems could be seen in Nolio RA. These can range from jobs becoming blocked to failed steps. 

 

Cause

This article isn't focused on a specific problem or cause. Instead, we will focus on what additional facilities are at our disposal to get more information from the jdbc driver. This is for the cases where default logging is not giving a clear enough picture. 

Environment

Release : 6.6

Component : CA Release Automation Release Operations Center

Resolution

The following can be used to capture additional information. 


  • Sometimes the following step may solve the problem all by itself. Trying this before going through all of the other tracing options is recommended. It the problems don't go away then the steps below are available to capture more data if necessary: Delete hibernate cache folder content (NolioRA_HOME/temp/*)
  • tcp dump: tcpdump -i  -s 0 -nn -vv host  and host  -w  -W 100 -C 50
    • Requirements:
      • must be replaced with the interface used by CARA
      • must be replaced by your mgmtServer's hostname
      • must be replaced by the sqlserver hostname used by CARA (as shown in distributed.properties)
    • Recommendations:
      • replace the value for the -w switch (/tmp/tcpdump.cap) to a file system (preferably not the same as CARA if possible) with plenty of disk space.
      • The -W 100 + -C 50 will create 100 50m files and consume a total of approximately 5gb of disk space. It's not clear how much data this will capture. Ideally it will capture at least the same amount of days/time captured by the nolio_dm_all.log (which I think is currently between 2-3 days).
  • JDBC logging.
    • We can do this with the RA_HOME/conf/logging.properties file (not webapps/datamanagement/WEB-INF/log4j.properties):
      • com.microsoft.sqlserver.jdbc.internals.SQLServerConnection.level=FINEST
      • com.microsoft.sqlserver.jdbc.internals.SQLServerDriver.level=FINEST
    • or, within the JMX console (java.util.logging:type=Logging -> setLogger -> classname in id0 field, loglevel in id1 field):
      • com.microsoft.sqlserver.jdbc.internals.SQLServerConnection - FINEST
      • com.microsoft.sqlserver.jdbc.internals.SQLServerDriver - FINEST
    • Note:
      The ability to enable tracing for the class below doesn't exist until an exception occurs. At that time you can enable the following via JMX:
      • com.microsoft.sqlserver.jdbc.internals.SQLServerException - FINEST
    • Note:
      The default for all of these is NONE. If it needs to be disabled then you can go in through JMX using the instructions above and replace FINEST with NONE.

Additional Information

More JDBC Tracing information/options for MSSQL Server can be found here: https://docs.microsoft.com/en-us/sql/connect/jdbc/tracing-driver-operation?view=sql-server-2017