Dhiraj
Dhiraj

Reputation: 3696

Re-executing CREATE FUNCTION script using ADF not reflected in output of show journal

I have a create function script .create-or-alter function that I am submitting to an ADX cluster every 5 mins using Azure Data Factory (ADF).

I keep firing the command .show journal to detect whether this was executed. The first time ADF submitted this script, when the function was not already there, the function got created and I could even see its entry using .show journal command. But after that I could not see 'ADD-FUNCTION' event in the latest output of .show journal even though I kept checking for a long time, and during this the pipeline has been succeeding.

I don't understand that if the pipeline is successfully submitting the existing create function script without any change , why ADX is not allowing to go through?

If I open existing function script in Kusto Explorer and just re-execute it without any change, it is reflected in .show journal but logically the same thing ADF is doing but that is not reflected in .show journal.

Just to experiment , I dropped this function using Kusto Explorer.

So, the next time when the ADF pipeline ran , it created the function again and that entry was reflected in the output of .show journal.

It means whenever we are re-submitting create function script from ADF to ADX , probably ADF checks if the function definition is changed , if not , it ignores the command ?

But then this check is not performed when we do the same thing from Kusto Explorer, which is strange.

ADX behavior should not change depending on how we are submitting commands.

Another interesting fact is that this behavior is unique to functions ,

I also tested re-creating the same update policy for a table through ADF again and again without any change and every time it ends up showing up in the output of .show journal.

Is this behavior a feature or a bug in case of functions?

Upvotes: 0

Views: 164

Answers (1)

Yoni L.
Yoni L.

Reputation: 25955

From the ADX service's perspective, when you execute an .alter function or a .create-or-alter command that results with an existing function having the exact same body, parameters, folder and docstring - the command does nothing, and therefore nothing is written to the journal.

If you're seeing differently, I would recommend that you open a support ticket.

Upvotes: 2

Related Questions