Dual Write - Troubleshooting - 001 - Overview
Dual Write - Troubleshooting - 001 - Overview
Contents
1. Overview................................................................................................................................ 2
2. Prerequisites .......................................................................................................................... 2
3. Lab steps ................................................................................................................................ 2
3.1. Collect a network trace (HAR file) .................................................................................. 2
3.1.1. Important topics in the Network trace for analysis ................................................... 4
3.2. Enable Plug-in trace in Dataverse .................................................................................. 5
3.3. Get the Plugin trace log generated ................................................................................ 6
3.4. Enable IsDebug mode .................................................................................................... 7
3.4.1. DualWriteErrorLog table ............................................................................................ 9
3.5. Disable performance enhancement .............................................................................. 9
3.6. Collect an Ax trace ....................................................................................................... 10
3.7. Import the collected Ax trace for analysis ................................................................... 13
4. TSG and references.............................................................................................................. 13
1. Overview
This topic provides general troubleshooting information for dual-write integration between
Finance and Operations apps and Dataverse, most specifically on traces and information to
collect.
During troubleshooting of a Dual write case, we will collect different traces and perform
different checks depending on your scenario and the action the customer is taking.
- Mapping configuration and mapping action (run, stop) in Dual write UI: Network trace
(HAR file): https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-
itpro/data-entities/dual-write/dual-write-troubleshooting#how-to-enable-and-save-
network-trace-so-that-traces-can-be-attached-to-support-tickets
- Initial sync: As overall It will require DIXF troubleshooting from FinOps point of view
and Dataverse telemetry if it fails in Dataverse side.
o Important is to collect Request Activity Id from activity tab and DWM project.
- Live sync: We’ll always collect:
o Network trace
o AX trace
o CE plugin trace (if the direction is Dataverse to FinOps)
o IsDebug mode and DualWriteErrorLog (if the direction is Finops to Dataverse)
o DualWriteProjectConfiguration, DualWriteProjectFieldConfiguration,
BusinessEventsDefinition tables exported to Excel.
2. Prerequisites
Lab prerequisites are: Dual Write installed and environments linked.
-Finance and Operations app environment with Power Platform link enabled.
-HOL_Dual write installation and setup: Dual write needs to be configured and Solutions
applied in Dual write UI.
-HOL_Initial sync
-HOL_Live sync
3. Lab steps
3.1. Collect a network trace (HAR file)
For some scenarios you will have to ask the customer for a Network trace to perform
additional troubleshooting and telemetry review.
In this exercise we’ll collect a Network trace using Chrome when refreshing a table map,
however it can be collected in any browser screen. In your case, connect to Finance and
Operations > Data management workspace > Dual write > All Products
(msdyn_globalproducts) and proceed with the following steps:
1. In the opened tab, press F12 or choose Developer tools to open the developer tools.
Red dot means the trace is collecting, if you click on it and changes to grey, the network will
stop collecting.
3. Run your scenario and observe the requests being logged. In our case, click on Update
tables button for the mapping
4. Right-click on the entries and select Save all as a HAR with content or click on the
arrow looking down to export.
For analysis you can import your Network trace using Import Har from same developer tools
(arrow looking up).
For analysis you may go one by one checking each Headers, Preview and Response tab.
You will find out x-ms-correlation-id (x-ms-correlation-id: 5b87db07-418b-4bc5-b67e-
2cfd14b3ee69) that will be the correlation id to review the Data integration telemetry (Island
cluster) in the next Hand on lab.
In some scenarios the Network trace gives us the direct error message, other times with the
correlation Id we can go and get more information from the telemetry for additional insights.
Copy your correlation Id and save it to use it later in the next Hand on lab.
1. Sign into Dynamics 365 (Dataverse), open the Settings page, Advanced settings.
As having the setting enabled Dataverse will create extra error logs in Dataverse side, we
should recommend customer to enable it, perform troubleshooting (repro the issue and traces
collection) and then disable it to avoid performance issue.
Sign into Dynamics 365 (Dataverse), open the Settings page, Advanced settings. Expand menu
> Customization > Plug-in Trace log.
The most important trace log to collect is named PreCommitLog. The interesting section to
pick for analysis is Message Block.
Dual-write errors that originate in Dataverse can appear in the Finance and Operations app. In
some cases, the full text of the error message isn't available because the message is too long
or contains personally identifying information (PII). You can turn on verbose logging for errors
by following these steps.
An easy way to open the table is to turn on Design mode in the Excel add-in and then add
DualWriteProjectConfigurationEntity to the worksheet. For more information, see Open table
data in Excel and update it by using the Excel add-in. All this extra logging will be created in
table named DualWriteErrorLog. Bear in mind that logs are created on this table in case we
have live sync interaction FinOps to Dataverse. In case the live sync is successful, you will be
able to see the payload as well generated.
Let’s enable IsDebug mode for a map. Navigate to Common > Common > Office integration >
Excel workbook designer:
Search by DualWriteProject > Select DualWriteProjectConfiguration > select all the fields and
select Create workbook.
Identify the two lines related to the desired mapping, scroll to the right until get IsDebugMode
column:
So for troubleshooting purpose, on live sync operations FinOps to Dataverse direction where
the data is not propagated, you can ask customer to enable “DisablePerfEnhancement”
checkbox in DualWriteProjectConfiguration table with same steps from 3.2.2 but enabling
DIsablePerfEnhancement. If the troubleshooting step does not help, ask the customer to
uncheck the value again.
Follow the same steps listed in “3.4 Enable IsDebug mode” to update DisablePerfEnhancement
checkbox value via Excel add-in for a map.
In this exercise let’s collect an Ax trace when creating a vendor for this exercise to familiarize
with the trace collection.
Connect to Finance and Operations app > Accounts payable > Vendors.
Name = HOL_Vendor001
Group = 10
Click Stop trace.
Navigate to your FinOps VM, search by Trace Parser and open it.
Once the trace loads, you are ready to start the trace investigation. Bear in mind that you can
have multiple sessions collected due to the Ax trace will collect all the logic running in the
environment at that moment.