Forum Discussion
BUG::PIPELINE::EXPRESSION BUILDER::EDITS NOT SAVED
- 2 years ago
I figured out what the issue was:
when rows are copied, this is what the JSON output from the Copy data activity looks like:
{ "dataRead": 33, "dataWritten": 1685, "filesWritten": 1, "sourcePeakConnections": 1, "sinkPeakConnections": 1, "rowsRead": 1, "rowsCopied": 1, "copyDuration": 10, "throughput": 0.01, "errors": [], "usedParallelCopies": 1, "executionDetails": [ { "source": { "type": "SqlServer" }, "sink": { "type": "Lakehouse" }, "status": "Succeeded", "start": "4/18/2024, 11:29:47 PM", "duration": 10, "usedParallelCopies": 1, "profile": { "queue": { "status": "Completed", "duration": 0 }, "transfer": { "status": "Completed", "duration": 6, "details": { "readingFromSource": { "type": "SqlServer", "workingDuration": 0, "timeToFirstByte": 0 }, "writingToSink": { "type": "Lakehouse", "workingDuration": 0 } } } }, "detailedDurations": { "queuingDuration": 0, "timeToFirstByte": 0, "transferDuration": 6 } } ], "dataConsistencyVerification": { "VerificationResult": "NotVerified" } }but when there is no new data to be copied, the rowsCopied is not there in the JSON even though it should be equal to 0 and still be in the JSON:
{ "dataRead": 0, "dataWritten": 0, "filesWritten": 0, "sourcePeakConnections": 1, "sinkPeakConnections": 1, "rowsRead": 0, "copyDuration": 7, "throughput": 0, "errors": [], "usedParallelCopies": 1, "executionDetails": [ { "source": { "type": "SqlServer" }, "sink": { "type": "Lakehouse" }, "status": "Succeeded", "start": "4/19/2024, 1:29:48 AM", "duration": 7, "usedParallelCopies": 1, "profile": { "queue": { "status": "Completed", "duration": 0 }, "transfer": { "status": "Completed", "duration": 4, "details": { "readingFromSource": { "type": "SqlServer", "workingDuration": 0, "timeToFirstByte": 2 }, "writingToSink": { "type": "Lakehouse", "workingDuration": 0 } } } }, "detailedDurations": { "queuingDuration": 0, "timeToFirstByte": 2, "transferDuration": 2 } } ], "dataConsistencyVerification": { "VerificationResult": "NotVerified" } }So in other words, when rowsRead == 0, rowsCopied property is removed from the output JSON instead of being left there with value 0.
And this causes the flow to break, or rather forces the user to add some code like 'if rowsRead ==0 then... else rowsCopied...', which is less user friendly than just leave rowsCopied in the JSON. For logging purpose, that is fine to just print rowsCopied == 0, it's the point after all.
Yeah maybe so, but have you tried staying connect to Fabric for days on end and leaving the pipeline design surface open for a couple of days? I think this might be explained by some Javascript nonsense going on under the hood client-side.
What browser did you use? I am using Edge Version 123.0.2420.97 (Official build) (64-bit).
Element115
Even I am using Edge Version 123.0.2420.97 (Official build) (64-bit)
- Element1152 years ago
Memorable Member
Ok don't know what else to tell you. JS cache issue?
- Anonymous2 years agoNot applicable
Apologies Element115
I am not able to repro this, hence cannot find the root cause here. Please try again and let me know.- Element1152 years ago
Memorable Member
Now it is the 3rd time I recreate all the Settings and once done, I get these 4 errors, which is less than all the Teams activity I got, so there was some retention of some Settings. Then, after redoing all 4:
I was able to save and exit the pipeline. I reopened the pipeline and clicked Validate just to make sure all Settings were still preserved, and it was OK. Now I will run it to see if it works or if somehow Settings disappear again.