ImpulseSync™ User Manual
HomePricingContact Us
  • Introduction
    • What is Impulse?
  • Crash Course of ImpulseSync
    • Overview Of ImpulseSync
    • Step 1: Endpoints
      • Endpoint Configuration
    • Step 2: Jobs
      • Job Configuration
      • Step 2a: Content manipulators
      • Step 2b: Content mapper
    • Step 3: Syncing
  • Getting Started
    • Core Concepts
    • Creating Endpoints
    • Creating Jobs
    • Starting a Transaction
    • Transaction Reports
    • Automating Jobs with Pipelines
    • Scripting Post Sync
    • Scheduling Jobs and Pipelines
    • Dashboard
    • Managing Jobs/Pipelines
    • Content Mapper
      • Aligning Mismatched Content
      • Connector Matrix
      • Locked Fields
      • Content Aligner
      • Aligning Content Challenges
  • Reports
    • Reports Screen
    • Debug Report
    • Messages
  • Connectors
    • Common Job Options
    • All Connectors List
    • Source Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • Drupal v7
      • Drupal v9
      • GitHub
      • GraphQL
      • MS Teams
      • SCP
      • Snapshot
      • Strapi v3
      • Strapi v4
    • Destination Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • SCP
      • Strapi v3
      • Strapi v4
  • Content Manipulators
    • Common Manipulator Options
    • Add Replace Field
    • AI(Artificial intelligence)
    • Change ID Manipulator
    • CSV Store Manipulator
    • Dynamic Job Store Manipulator
    • File to Text
    • Folder Manipulator
    • Get and Set Field
    • Language
    • Liquid Field
      • Liquid On the Quick
      • Basics
        • Impulse Values
        • Impulse Variables
        • Operators
        • Truthy and falsy
        • Types
        • Whitespace control
      • Tags
        • Control flow
        • Impulse Content Objects
        • Iteration
        • Utility
        • Variable
      • Filters
        • abs
        • append
        • capitalize
        • ceil
        • compact
        • concat
        • date
        • date_str
        • default
        • divided_by
        • downcase
        • escape
        • escape_once
        • first
        • floor
        • getStoredValue
        • htmlQuery
        • htmlReplace
        • idMap
        • join
        • jq
        • json
        • last
        • lstrip
        • map
        • minus
        • modulo
        • newline_to_br
        • plus
        • prepend
        • remove
        • remove_first
        • replace
        • replace_first
        • reverse
        • round
        • rstrip
        • section
        • sections
        • size
        • slice
        • sort
        • sort_natural
        • split
        • str_to_date
        • strip
        • strip_html
        • strip_newlines
        • times
        • truncate
        • truncatewords
        • type
        • uniq
        • upcase
        • utl_decode
        • url_encode
      • Liquid Playground
    • Markdown
    • Regex
    • Relationship
    • Store Field
    • Tidy
  • Time Machine
    • Snapshot
    • Viewing Snapshots
    • Delivery from Snapshots
  • Cookbook Recipes
    • Adding Fields
    • Aligning Content between Endpoints
    • Avoid overriding Fields
    • Avoid syncing Content Types
    • Combing Fields
    • Default Field Value
    • File (.doc) to Structured Content
    • File (.docx) to Structured Content - Expanded
    • HTML to Structured Content
    • Language (Locale) mismatch between endpoints
    • Paths/IDs Changed
    • Reference to Value
    • Single Content Type to Multiple
    • Splitting Content with Reference
    • Syncing Content with Languages
    • Text Select to Boolean
    • Text to Reference
    • Text to Reference - liquid
    • Two Sources to One Destination
    • Changing a folder path
    • Combining data between content types
    • Converting HTML Sections
    • JSON object to reference
    • Use CSV to convert values
    • Storing fields with Store field motator
  • Troubleshooting
    • What to do if I run into a Job Problem
    • Troubleshooting via UI
    • Submitting a ticket
  • Using Impulse Headlessly
    • Getting Started with cURL
      • Creating Endpoints
      • Creating Jobs
      • Starting a Transaction
      • Transaction Reports
      • Automating Jobs with Pipelines
      • Scheduling Jobs and Pipelines
      • Aligning Mismatched Content
      • Scripting Post Sync
  • Organization Tier Restrictions
  • Content Storage Options
Powered by GitBook
On this page
  • Contacting Support
  • Details to Send
  • Finding the Transaction ID
  • Getting Transaction Details
  • Getting Transaction Logs
  • Getting Logs for Time Range
  • Getting messages
  • Get Running Heartbeats
  • Get All Heartbeats
  • Get Content Diffuser Data
  1. Troubleshooting

What to do if I run into a Job Problem

As happens in software, you will run into a bug where a job doesn't work like it should (or you expect it to). When this happens, you can try steps listed in this section.

Some of the things to look for are:

  • Is the job config correct?

    • Make sure the correct endpoints are selected and the job options are correct.

  • Is the endpoint config correct?

    • Make sure the connection to the system is correct.

  • How long has the transaction been running?

    • Depending on the amount of content being synced, a long transaction might be expected.

  • Are there alerts or notifications?

    • Check if the job continually retrying (more than 3 times).

  • Are there error log messages?

    • Check if there a specific error that is causing the job to stop.

  • What is the last transaction detail run?

    • Check where in the process the transaction is.

  • Are there currently running heartbeats?

    • Check if any heartbeats are currently failing.

Contacting Support

Details to Send

  1. A detailed description of the problem

  2. Transaction ID for problematic transaction

  3. Last 5 unique transaction report detail types for problematic transaction

    1. including detail data for some of these records will be helpful as well.

  4. Messages for the date range as the transaction

    1. The last few messages may not be enough, especially if many jobs are running. It is best to send as many message as possible.

  5. Running heartbeats

  6. All heartbeats

Finding the Transaction ID

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/sync-manager/report?start={{startTime}}&end={{endTime}}&limit=100&detailLimit=100'

The response will show multiple transactions along with their status, related job, start time and end time, as well as their details. This can be used to find the problematic transaction.

Getting Transaction Details

Once you know the transaction ID, you can then find the details for the transaction.

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/sync-manager/transactions/{{transaction-id}}?details_limit=-1

This request will get all the details for the transaction. From this you can select the last few transaction details to send to support or send the entire list of details.

Getting Transaction Logs

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/logger/transactionLogs?start={{startTime}}&end={{endTime}}&transaction={{transactionId}}'

This will return a list of all the logs for a transaction ID. You can then save this list and search for "error" to find all the logs with "error" in it.

Getting Logs for Time Range

With the transaction details, you can get the time range of the transaction to get all logs for that time range. You can get the start time from the transaction's start time.

If the transaction is inactive the end time should be the time the transaction completed. However, if the transaction is still active, the end time should be at least 5 minutes after the latest transaction detail's time.

{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/logger/logs?start={{startTime}}&end={{endTime}}

This will return all the logs within the start and end time parameters used.

Getting messages

Messages will contain any details while running a transaction. This includes any errors, general messages, and warnings.

You can get messages from the transaction that is using sync-mangers call In order to do so you need the message transaction id which is located in the reports page for that job.

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/sync-manager/message/{{transactionId}}'

Get Running Heartbeats

Use time stamps to filter for all running heartbeats with a start time matching the transaction start time.

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/sync-manager/transactions/aee621f7-e68b-11ec-b2dd-0242ac190013/heartbeats/running?start={{transactionStartTime}}&limit=-1'

Get All Heartbeats

Use time stamps to filter for all heartbeats with a start time matching the transaction start time.

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/sync-manager/transactions/{{transactionId}}/heartbeats?start={{transactionStartTime}}&limit=-1'

Get Content Diffuser Data

In Impulse the Content Diffuser Process Tables data is what tells us what exactly is happening at the heart of any sync. We have provided several REST endpoints to expose data from these tables:

  1. delivery_status_by_endpoint: Status of each element that was sent to the Dropoff Taxi to Impulse Sync.

  2. content_file: Information of each element that Diffuser receives when Impulse Sync starts.

  3. content_status_by_endpoint: Processing Status of each Main Content by Endpoint.

  4. content_by_endpoint_in_progress: Status of each Main Content by Endpoint that are being processing in a specific time.

  5. content_by_processor: Processor that each element is in.

  6. total_content_files_by_endpoint: The amount of contents that each endpoint that are expecting. Useful to see how many are missing/waiting and could be cross reference with the data from content_file.

  7. motations_missing_by_endpoint: The Motations are each endpoint is expecting/waiting. In a successful Impulse Sync this records should be empty.

All the REST Endpoints should be accessed using the transactionId as filter.

PreviousTroubleshootingNextTroubleshooting via UI

Last updated 1 year ago

Before contacting support you should gather specific information. View the "" to see how to use the UI to troubleshoot and get the information.

Transaction IDs can be found in the UI by pressing the "" button for a report that is associated with a job that is not working.

The transaction ID can also be gotten from the sync-manager service by using the .

these details can be retrieved from the sync-manager service by using the .

You can get the logs by from the logger service by using the .

You can get all the logs for a time range by using the logger service's .

You can get the running heartbeats by using the sync-manager's .

To view the heartbeats of a transaction use sync-manager's .

Troubleshooting via UI
Show More Details
/report endpoint
/transaction/{{transaction-id}} endpoint
/transactionLogs endpoint
/logs endpoint
/transactions/{{transactionId}}/heartbeats/running endpoint
/transactions/{{transactionId}}/heartbeats endpoint
Link to Content Diffuser Rest Endpoints