Page History
Below are some common issues you may come across while using DataSync for ServiceNow.
If you haven't already, check out our pages for Best Practices and Helpful Tips.
Contact support@perspectium.com if your issue is not listed below or you have any other questions.
UI Expand | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
| ||||||||||||||||||
UI Expand | ||||||||||||||||||
|
Divbox | ||
---|---|---|
| ||
One possible solution is to verify that the queue you are trying to send the messages to is valid. Go to Perspectium > DataSync > Shared Queues. See if the target queue that the bulk share or dynamic share is using is still active. If it is not active, even though it was previously active, see the Status field. If the message states that the queue has been deactivated due to HTTP POST failing, then the queue has invalid credentials (401 error). Thus, enter the right credentials in the Queue user field and Queue user password field. Click Get Queue Status again to check if connection is successful. If connection is successful, check Active to start using the queue. If connection is still not successful, contact support@perspectium.com. |
| |||||||||||||||
|
UI Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
UI Expand | ||||||
| ||||||
| ||||||
UI Expand | ||||||
| ||||||
|
UI Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
UI Expand | ||||||||
| ||||||||
|
UI Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
UI Expand | ||||||
| ||||||
This is generally due to recursive Business Rules calls. If there is a Business Rule which calls current.update(), then the Business Rules will recursively: update itself, trigger the Business Rules, update itself, trigger the business rules, update itself - until ServiceNow's recursive handling will kill it. Since our dynamic share is triggered on the Business Rules it will work for the true correct Business Rule call, but, it will fail on the recursive calls. So you will see errors of the failed run, however, the correct call would correctly replicate the data. This occurs because on the Business Rule condition, we check for the current.operation().toString() to help validate you have the share configurations correctly set up and we aren't replicating erroneously. Within a normal Business Rule call current.operation() returns the operation as expected (insert/update/delete). On a recursive Business Rule call current.operation() is null resulting in this error. There are two ways you can narrow down on this problem:
| ||||||
UI Expand | ||||||
|
Divbox | ||||
---|---|---|---|---|
| ||||
Sometimes after installing the newest Perspectium update set, the ServiceNow instance may still be using the old version of the included Perspectium scripts. To fix this you can add “/cache.do” to the end of your Instance URL like so: You should be taken to a page that looks like this: This will clear the instance cache so that it will use the newest versions of the included scripts. Then just use the back-arrow in your browser to return to your instance. |
title | How do I end long running Perspectium background jobs? |
---|
Sometimes, the Perspectium scheduled job running in the background (such as the bulk share job to bulk share records) will get stuck running. In these cases, you will want to kill the job so it doesn't affect your instance's performance.
There are two different factors that can be at play if you are encountering this situation. The first is relates to messages being consumed but not acted on. When you create a subscribe configuration you will check the actions that you want to accept (Create, Update, Delete). If a message is pushed to your queue for a table that you do not have a Configuration set or the message is an action that you are not accepting you will still consume the message from the queue but you will not act on it. This can be seen in the Inbound messages tab, where the message will read “Skipped” in the state. The second is that you are Subscribed to a table and its parent table. For example, you have created a Subscribe for the table Incident and another Subscribe for Task (Incident extends Task). ServiceNow handles this hierarchy like Java hierarchies, i.e. an Incident is also a Task but a Task isn't necessarily an Incident. ServiceNow will also have a copy of the record in both tables, they will have the same fields, sys_id, and everything. Then at some point you set the Incident Subscribe to “inactive” but leave the Task Subscribe as “active”. There are several cases where if someone pushes a Task record update, and that record happens to be an Incident you will consume and act on that message. To avoid this second matter you could either remove the blanket Subscribe for the parent table or specifically set the parent Subscribe to ignore certain classes within the Filter portion. This condition within the Task Subscribe will make it so you will ignore updates to Problem and Incident. |
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
UI Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
UI Expand | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
If the above steps doesn't work, please contact ServiceNow support to have them kill the job. |
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
You should see your messages begin to be sent out. If you are still seeing this error after these steps, please contact Perspectium Support for further assistance. |
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
UI Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
|
UI Expand | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
UI Expand | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
UI Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
| |||||||
UI Steps | |||||||
|
UI Step |
---|
Go to User Administration > All Active Transactions and see if the Perspectium job is there. If so, delete it. |
UI Step |
---|
Go to System Scheduler > Scheduled Jobs > Scheduled Jobs and see if the Perspectium job is there. If so, delete it. For a bulk share scheduled job, this will be a Run Once trigger type scheduled job. |
UI Step |
---|
Go to the sys_cluster_state table and look to see if a node has this job running. You can find the node that has this job running by filtering on the stats field, searching for where the field contains the job name. For example, using the above “Perspectium Replicator Bulk Share incide” job, you can filter on “Bulk” in the stats field: |
If you find a node that has this job, click on the node to view its details in form view and then click on the “Run script” UI action at the bottom:
In the Run script dialog that appears, enter the following script to run:
Code Block |
---|
Packages.com.glide.sys.WorkerThreadManager.get().shutdown();
Packages.com.glide.util.GlidePropertiesDB.set("glide.worker.startup", "com.glide.schedule.GlideScheduler");
Packages.com.glide.sys.WorkerThreadManager.get().init(); |
If the above steps doesn't work, please contact ServiceNow support to have them kill the job.
title | Perspectium Tables Being Cloned |
---|
Divbox | ||
---|---|---|
| ||
When requesting a clone of a ServiceNow instance, you will need to select the “Exclude audit and log data” option to not clone Perspectium tables and their data: Though the Perspectium tables are listed in Exclude Tables list, per the Exclude audit and log data option's description, this option also needs to be selected for this list to be honored. |
title | Error Processing Shared Queue java.net.SocketException: Broken Pipe |
---|
style | background:white; |
---|
If you are seeing this error in your Perspectium Logs the issue is caused by improper naming of the endpoint url of the shared queue that you are using for bulk or dynamic shares. To verify this is the case and resolve the issue you can use these steps:
size | small |
---|
UI Step |
---|
The message should have the name of the queue that is generating the error. Ex: Error processing shared queue psp.out.yourQueue on http://yourEnpoint/: java.net.SocketException: Broken pipe (Write failed) |
UI Step |
---|
Access the configuration of this queue by searching for Shared Queues in the ServiceNow Searchbar and click the shared queues link that appears. |
UI Step |
---|
Now click on the shared queue that was named in the java.net.SocketException error. |
UI Step |
---|
Once in verify that the endpoint URL contains http. This is the cause of this error. |
UI Step |
---|
Change the http to https and update your shared queue. |
Once this is done you should see your outbound messages being sent out. If you don not see their state changing from “ready” to “sent” you can manually start the Multioutput Processing job by:
size | small |
---|
UI Step |
---|
Search for the All Scheduled Jobs link under the Perspectium app in the ServiceNow menu and click on that link |
UI Step |
---|
Click on the Perspectium Multioutput Processing job |
UI Step |
---|
Click the Execute Now button. |
You should see your messages begin to be sent out. If you are still seeing this error after these steps, please contact Perspectium Support for further assistance.
title | I am having issues with the Subscribe performance |
---|
Divbox | ||
---|---|---|
| ||
For issues, with subscribe performance in your ServiceNow instance, review the following: Check the Slow Query Logs to see if any of the subscribed tables or Perspectium tables are listed and what queries are being run. |