How to track a report that's failed in the DB from the logs?

Nick shared this question 4 years ago
Answered

Hi,

Are you able to assist in helping us tracking down a report from the DB based on what we are seeing the logs?

Here's an excerpt:

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Entering runReport()

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Finding ReportInstance record

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Checking Prompt Filters

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Checking Required Source Filters

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Loading Required Source Filters

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Checking for Composite View

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Checking Dynamic Filters

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Check if connection pool is saturated

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Initialise Source Connection

BMC:SR:2019-10-11 16:34:42:DEBUG (JDBCConnection:openConnection) - Connecting with: jdbc:arserver://clusterarvip1.cpadm001.corp.cathaypacific.com:7000;refreshCache=10;DateTimeFormat=MM/dd/yyyy hh:mm:ss a;DateFormat=yyyy-MM-dd;rowLimit=60000;mode=new;reportUser=IMTSKH;locale=en;timeZone=ASIA/HONG_KONG;

BMC:SR:2019-10-11 16:34:42:DEBUG (ReportRunner:runReport) - Checking Column Access

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering generateSqlQuery()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:C) - Entering SqlGenerateContext()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Determined that 10 views out of 10 are required

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Determined that 9 joins are required

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:B) - Entering generateFromClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:B) - Exiting generateFromClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - FILTER

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering convertToWhereClause()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Entering generateGroupBy()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Exiting generateGroupBy()

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - generateSqlQuery() completed

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Fetching data from database

BMC:SR:2019-10-11 16:34:42:DEBUG (MIReportGeneratorProcess:A) - Executing: SELECT DISTINCT

...

BMC:SR:2019-10-11 16:34:42:ERROR (DBAction:doSelect) - Error occured selecting data: java.sql.SQLException: ERROR (552): The SQL database operation failed.; The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.java.sql.SQLException: ERROR (552): The SQL database operation failed.; The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.

Is it possible to find which report this is based on the time frame and information that's currently available?

From what I've seen, we would have seen which report this is if the fetching of data was successful.

Thanks,

Nick

Replies (6)

photo
1

Hi Nick,

With 7.1 you might be a little limited as the Event table may not provide everything you need, but in later versions something like the following may help in trying to narrow this down. Obviously the gmtdatetime needs to be adjusted accordingly.

SELECT * FROM public.event WHERE gmtdatetime = '20191001021545';
The output will show something like the following (slight change to above query)

a8d7e20e16d421b5deeab495e0bd42e7

You can see the report number in the eventdata, which you can then either join this in the same query or directly query the reportheader table.

I hope this helps a little.

Regards,

Paul

photo
1

Awesome. Thanks Paul.

Cheers,

Nick

photo
1

Hi Nick,

No worries. Please let me know if you need anything else?

Cheers,

Paul

photo
1

Hey Nick,

Just seeing how are you going with this and if you have everything you need?

Thanks,

Paul

photo
1

Nope.

Thanks Paul.

photo
1

Hi Nick,

No worries. Marking this as Answered but if you need anything else please keep in touch.

Cheers,

Paul

Leave a Comment
 
Attach a file