Overview
This article will detail potential causes for Service Fabric install errors.
- Terminology
- Troubleshooting Techniques
- Errors During Install
- Errors Post Install
- Redeploy Service Fabric
Since Service Fabric issues can be quite complex, if this article does not resolve your issue, please submit a support ticket.
Terminology
Before going into detail about troubleshooting Service Fabric install issues, it is important to understand the install process and some terminology. The Service Fabric application you are installing is a combination of two installers
- Part 1 of the install process is to install Microsoft's standard Service Fabric installer, referred to as "the cluster".
- Part 2 of the install process is to install Solver, Inc's applications that sit on top (installed) of the cluster.
In this article, the acronym SF is used to refer to Service Fabric.
Troubleshooting Techniques
The following are useful in troubleshooting SF. These are accessible only from the Service Fabric server
Feature | Description | Comment |
Service Fabric Explorer | View the state of your SF install | http://localhost:19080 |
Connection Info | View the connection info provided during install of SF | http://localhost:19081/SolverFabricConnection/DatabaseConnectionService/connectionStrings/jobsscheduler |
How to verify if there is more than one SF server
Check the registry key in the following registry location that the key is pointing to the correct Repository database. You should only see one of the following keys depending on the bitness of the machine.
HKEY_LOCAL_MACHINE\SOFTWARE\OneStop Reporting\Settings\RepositoryConnection
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\OneStop Reporting\Settings\RepositoryConnection
Then verify the IP/server name referenced in the below keys in dbo.MasterSettings in the Repository db are referencing the correct Service Fabric server.
- Solver.ServiceFabricSchedule
- Solver.ServiceFabricSignalR
Error During Install
The following are common errors during install
Symptom | Cause | Solution |
Installer fails during the install of the Cluster and rolls back |
This can happen for multiple reasons
|
|
Installer successfully installs the Cluster but fails to install the applications |
In this case, if you are following the progress window, you will see that the cluster has successfully been installed, but it fails during the install of the application. The causes here are similar to the above, but are typically more related to computer performance than anything else. |
|
Installer fails with an error referencing AdaptiveServer and rolls back |
There are typically two causes for this error
|
|
Databases moved to new SQL server |
This causes SF connection to fail and jobs and events would error out. |
Need to re-install PrepareSF and installation again for SF pointing to new SQL server. |
Errors Post Install
Description | Cause | Resolution |
Jobs, Rules and/or Integrations page Page does not load | There is something wrong with the service fabric install, either it is not running or an application is not working |
|
Connector Marketplace does not load | The marketplace is internet resource that is being blocked by the organization's firewall |
|
Redeploy Service Fabric Application:
Steps:
- In troubleshooting a Private Host issue, you find that an SF application is not healthy, and rebooting the SF server has not resolved the issue.
- You need to restart/redeploy/reinstall an SF application
Restarting the Service Fabric Host Service via the Windows Service menu does not a “restart” in the Service Fabric application.
- Navigate to the service fabric explorer. Localhost:19080 on the customer's service fabric server
- Expand on Cluster > application> Solver…. > fabric:/SolverFabric.JobDispatcher
- Remember the name “SolverFabric.JobDispatcher”. We will need this later.
- Click the down arrow and choose Delete Application
- You will be prompted to confirm this action
Provide the requested text, which is just the name of the application, and click Delete Application.
- The delete process will take 5-10 seconds, and you will notice the UI updated.
- If it errors out on this step. Consider restarting the SF server and trying again
- Refreshing the navigation menu on the left-hand side, there are no applications listed under SolverFabric.JobDispatcherType
- Select SolverFabricJobDispatcherType. In the main grid make sure you select Application Type Versions > All and click
- In the popup that appears, remove the text “Type” from the end of the text that appears in the textbox
Initial
Final
This is the same name as documented in step 3.
- Click Create Application. Similar to the above, this process should take 5-10 seconds to complete. The interface will update with the Application once complete.
You have successfully redeployed an application. Repeat these steps for each app, where necessary.
Job Email Being Received Twice
Overview
When a job is run, you receive an email that the job is already running even if the job succeeded. You will get more than one if you are under the success and failure notification.
Cause
This occurs because the Solver Application treats the email template as the distinct but non-differentiated values on the SQL server. So, it sends the email twice. This is NOT due to a job being run twice.
Resolution:
Run the following script on the Solver Database. Note that you may have to change this to BI360W:
use SolverDW
delete from email.template where TemplateName = 'JobAlreadyRunning'
INSERT INTO
email.Template (TemplateName, TemplateContent, Culture, [Version])
VALUES
('xJobAlreadyRunning', '<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<style>
html {
padding: 10%;
padding-top: 20px;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
h1 {
font-weight: 600;
color: #333;
padding: 20px;
}
p {
background: orange;
border-radius: 5px;
color: green;
margin: 20px;
padding: 20px;
width: 582px;
}
.job-details {
margin: 20px;
}
td {
background: #eee;
padding: 5px;
}
.header {
background: #2196f3;
color: #fff;
font-weight: bold;
}
.subheader {
color: #063b66;
font-weight: bold;
}
</style>
</head>
<body>
<h1>Hi there,</h1>
<p>The job, "<strong>{{jobname}}</strong>" will not run because an instance from earlier hour is still running.</p>
<br />
<table class="job-details">
<tr>
<td class="header">Job Name</td>
<td>{{jobname}}</td>
</tr>
<tr>
<td class="header">Original Start Time</td>
<td>{{starttime}}</td>
</tr>
<tr>
<td class="header">Trigger Type</td>
<td>{{triggertype}}</td>
</tr>
<tr>
<td class="header">Next Running Schedule</td>
<td>{{nextruntime}} (if current running one finishes)</td>
</tr>
</table>
</body>
</html>', 'en-US', '34a1b3c8-2ca0-41b3-9dd9-072c421fde73')
This script disables the email template from being used.