ERROR REQUESTING Token FROM THE Authentication context – General ADAL Error (Dataverse / Dynamics 365)


We might get the below error while connecting to the Dataverse Web API using the client ID and client secret.

AADSTS700016: Application with identifier ‘6d8ff73a-27ef-443c-b524-d8b69ae87580’ was not found in the directory ‘w72tk’. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.

This could be if we have specified wrong Client or App Id.

Check the correct App Id either from Azure you can also refer to the correponding Application User created for it.

Hope it helps..

Advertisements

Free up storage space – Dataverse / Dynamics 365


Recently for setting up a new environment, we created a new sandbox environment and copied the production environment to it. Next, we had to reduce the storage space occupied by this new environment.

We followed the below steps

  • Bulk Deletion Job – Delete Email Messages having Attachments older than 1 month.
  • Bulk Deletion Job – Delete Notes having attachments older than 1 month.
  • Delete System Job with Status as Succeeded.
  • Delete Process Session with Status as Complete
  • For Logs, we deleted Audit Logs
  • Similarly, we can also delete Plugin Trace Logs records.

These steps allowed us to decrease the Database Usage from 110 GB to 65 GB.

And File Usage from 315 GB to 16 GB.

Also, check –

Get all the details here –

https://learn.microsoft.com/en-us/power-platform/admin/free-storage-space

Hope it helps..

Advertisements

Using xMultiple along with User Multiplexing for improved performance – KingswaySoft SSIS Integration Toolkit (Dataverse / Dynamics 365)


Let us continue our previous post, where we observed performance improvements by using User Multiplexing

Now let us try making use of the xMultiple feature (CreateMultiple, UpdateMultiple, and CreateMultiple messages) of the CRM / CDS Destination Component.

We have updated the Batch Size to 100 to trigger the xMultiple

However this time we got the service throttling error, and it took around 17:45 minutes.

Let us try decreasing the batch size to 50 (to trigger xMultiple), keeping the thread the same as 20, and User Multiplexing with 5 Application users.

No throttling warning this time and took around 10:42 minutes.

Now let us try the same setup, for a custom table instead of a standard table.

Here we have run our package to create 20K records, with User
Multiplexing ( 5 Application users), Batch Size 10, and 20 Threads for our custom table named My Table.

It took around 3:04 minutes.

Let us increase the batch size to 100, to get the xMultiple enabled.

It took 1:06 minutes.

Let us set the batch size to 500

It took around 42 seconds.

And with 1000 batch size – 1:04 seconds

We can see huge performance improvements using xMultiple when it comes to a custom table.

So I think to get the performance improvements for the standard table we could stick with Batch Size – 10, Thread10-20, and increase the number of users (Multiplexing).

But for the custom table, we could increase the batch size to either 100 or 500 to make use of xMultiple along with Multiplexing.

Hope it helps.

Advertisements

Step by step – Deleting an existing plugin from Plugin Assembly (Dataverse)


Recently we had a requirement to remove an existing plugin, as that was no more required.

Of course, we can simply disable the step here, but then going forward we might end up with too many such plugins and we will always have an overhead to make sure those steps are disabled, whenever we deploy the plugin to other environments,

As a first step, we can remove the plugin class from the project, either exclude or delete

Here, if we try to update the assembly we will get the error about the missing Plugin Type.

So as a next step, we need to Unregister the plugin from the Assembly through the Plugin Registration Tool.

Now we will be able to update our Plugin Assembly successfully.

Lastly, when we have to move the Solution having this plugin assembly to another environment, we can first remove the same Plugin Type from that environment through the Plugin Registration tool, before importing the solution.

Please refer to the helpful post – https://d365demystified.com/2021/12/19/renaming-or-deleting-a-plugin-in-dynamics-365-crm/

Hope it helps..

Advertisements

Filtering Attributes for Create message – Plugin (Dataverse / Dynamics 365)


While registering a plugin step, found that we can now specify Filtering Attributes for Create message.

Check the below post for more details –

Advertisements

How to use – User Multiplexing to get better performance for Data Migration /Integration using KingswaySoft Integration Toolkit for Dynamics 365 (Dataverse / SSIS)


Let us see how we can make use of User Multiplexing to get better performance.

Below is our SSIS Package, which uses Data Spawner to create sample records, 20 K in this case, and CDS Destination to create those records (contact).

Data Spawner is used to create the 20000 contact record.

The CRM Connection is using just one application user.

For the Destination Component we have specified,

  • Batch size = 10
  • Thread = 5

The mapping –

To create 20 K contact records with the above settings took around 20 mins

Now let’s add 2 more application users making it 3 application users in total. We’d keep the batch size and thread the same i.e. 10 and 5.

Open the Connection Manager>> User Multiplexing and add 2 more application users configured in the environment.

Let us run it again and observe the performance, this time it took around

11 minutes.

Let us increase the thread to 15 this time and see

It came down to 6 minutes.

Now let us keep the batch size at 10 and thread at 15, but increase the number of application users to 5.

This brought it further down to 4:45

Let us run now with 10 batch sizes, and 5 application users but with 20 threads instead of 15.

It took 3:54 minutes

So to create 20 K contact records –

Batch Size

Thread

Application Users

Execution Time (mins)

10

5

1

19:39

10

5

3

11:17

10

15

3

6:47

10

15

5

4.45

10

20

5

3.54

Thus we need to consider using User Multiplexing (having different connections running under different application users) for better performance.

Get all details here – https://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-365/help-manual/crm/connection-manager

Hope it helps..

Advertisements