Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process BI Analytics Job Timeout - V15 #5572

Closed
1 task
SteveSwaringen opened this issue Sep 5, 2023 · 2 comments
Closed
1 task

Process BI Analytics Job Timeout - V15 #5572

SteveSwaringen opened this issue Sep 5, 2023 · 2 comments

Comments

@SteveSwaringen
Copy link
Contributor

Please go through all the tasks below

  • Check this box only after you have successfully completed both the above tasks

Please provide a brief description of the problem. Please do not forget to attach the relevant screenshots from your side.

The Process BI Analytics Job consistently fails after 30 seconds (regardless of the setting of Command Timeout) after updating to V15 (V15.1).

Expected Behavior

Job should run to completion.

Actual Behavior

Job consistently fails with a timeout error.

Steps to Reproduce

Run the Process BI Analytics job on a large database with Process Person BI Analytics enabled.

Rock Version

15.1

Client Culture Setting

en-US

@SteveSwaringen
Copy link
Contributor Author

SteveSwaringen commented Sep 5, 2023

I believe this issue was introduced by this commit 6cbc5b2, though the commit itself is not at fault. In an effort to break this complex task into sections for more efficient execution, it added the need for a preliminary step of counting the number of rows that might need to be updated. This counting operation uses a different method on DbService (ExecuteScalar(), vs. ExecuteCommand()) and that method doesn't take a timeout parameter to allow more than the default 30 seconds for the command to complete. (It currently takes almost two minutes in our database.)

I think I have a fix for this that I'm planning to test tonight. If that goes well, I'll submit a pull request tomorrow. The change will involve changing the signature of ExecuteScalar() to follow the design pattern of ExecuteCommand() by adding an optional commandTimeout parameter and then modifying the ProcessBIAnalytics.cs job to pass _commandTimeout to the ExecuteScalar() call.

@JimMichael
Copy link
Collaborator

I’ll add that I saw the same after upgrading from v14.3 through 15.0/15.1 and finally to 16.0 alpha.

What was odd is that the BI job failed almost immediately for exactly 7 days and then magically started working again without any changes, and has run successfully (2 weeks now) ever since.

Note this is on a test instance which is a copy of production.

@sparkdevnetwork-service sparkdevnetwork-service added the Status: In Dev Queue This issue is being worked on, and has someone assigned. label Sep 11, 2023
@sparkdevnetwork-service sparkdevnetwork-service removed the Status: In Dev Queue This issue is being worked on, and has someone assigned. label Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants