openmetadata-ingestion 1.6.6.6__py3-none-any.whl → 1.6.6.7.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of openmetadata-ingestion might be problematic. Click here for more details.

Files changed (657) hide show
  1. metadata/generated/schema/analytics/__init__.py +1 -1
  2. metadata/generated/schema/analytics/basic.py +1 -1
  3. metadata/generated/schema/analytics/reportData.py +1 -1
  4. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  5. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  6. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  7. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  10. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  11. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  12. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  15. metadata/generated/schema/api/__init__.py +1 -1
  16. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  17. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  18. metadata/generated/schema/api/analytics/__init__.py +1 -1
  19. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  20. metadata/generated/schema/api/automations/__init__.py +1 -1
  21. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  22. metadata/generated/schema/api/bulkAssets.py +1 -1
  23. metadata/generated/schema/api/classification/__init__.py +1 -1
  24. metadata/generated/schema/api/classification/createClassification.py +1 -1
  25. metadata/generated/schema/api/classification/createTag.py +1 -1
  26. metadata/generated/schema/api/classification/loadTags.py +1 -1
  27. metadata/generated/schema/api/createBot.py +1 -1
  28. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  29. metadata/generated/schema/api/createType.py +1 -1
  30. metadata/generated/schema/api/data/__init__.py +1 -1
  31. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  32. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  33. metadata/generated/schema/api/data/createChart.py +1 -1
  34. metadata/generated/schema/api/data/createContainer.py +1 -1
  35. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  36. metadata/generated/schema/api/data/createDashboard.py +1 -1
  37. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  38. metadata/generated/schema/api/data/createDatabase.py +1 -1
  39. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  40. metadata/generated/schema/api/data/createGlossary.py +1 -1
  41. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  42. metadata/generated/schema/api/data/createMetric.py +1 -1
  43. metadata/generated/schema/api/data/createMlModel.py +1 -1
  44. metadata/generated/schema/api/data/createPipeline.py +1 -1
  45. metadata/generated/schema/api/data/createQuery.py +1 -1
  46. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  47. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  48. metadata/generated/schema/api/data/createTable.py +1 -1
  49. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  50. metadata/generated/schema/api/data/createTopic.py +1 -1
  51. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  52. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  53. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  54. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  55. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  56. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  57. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  58. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  59. metadata/generated/schema/api/docStore/__init__.py +1 -1
  60. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  61. metadata/generated/schema/api/domains/__init__.py +1 -1
  62. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  63. metadata/generated/schema/api/domains/createDomain.py +1 -1
  64. metadata/generated/schema/api/feed/__init__.py +1 -1
  65. metadata/generated/schema/api/feed/closeTask.py +1 -1
  66. metadata/generated/schema/api/feed/createPost.py +1 -1
  67. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  68. metadata/generated/schema/api/feed/createThread.py +1 -1
  69. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  70. metadata/generated/schema/api/feed/threadCount.py +1 -1
  71. metadata/generated/schema/api/governance/__init__.py +1 -1
  72. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  73. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  74. metadata/generated/schema/api/lineage/__init__.py +1 -1
  75. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  76. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  77. metadata/generated/schema/api/policies/__init__.py +1 -1
  78. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  79. metadata/generated/schema/api/services/__init__.py +1 -1
  80. metadata/generated/schema/api/services/createApiService.py +1 -1
  81. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  82. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  83. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  84. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  85. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  86. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  87. metadata/generated/schema/api/services/createSearchService.py +1 -1
  88. metadata/generated/schema/api/services/createStorageService.py +1 -1
  89. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  90. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  91. metadata/generated/schema/api/setOwner.py +1 -1
  92. metadata/generated/schema/api/teams/__init__.py +1 -1
  93. metadata/generated/schema/api/teams/createPersona.py +1 -1
  94. metadata/generated/schema/api/teams/createRole.py +1 -1
  95. metadata/generated/schema/api/teams/createTeam.py +1 -1
  96. metadata/generated/schema/api/teams/createUser.py +1 -1
  97. metadata/generated/schema/api/tests/__init__.py +1 -1
  98. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  99. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  100. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  101. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  102. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  103. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  104. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  105. metadata/generated/schema/api/voteRequest.py +1 -1
  106. metadata/generated/schema/auth/__init__.py +1 -1
  107. metadata/generated/schema/auth/basicAuth.py +1 -1
  108. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  109. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  110. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  111. metadata/generated/schema/auth/emailRequest.py +1 -1
  112. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  113. metadata/generated/schema/auth/generateToken.py +1 -1
  114. metadata/generated/schema/auth/jwtAuth.py +1 -1
  115. metadata/generated/schema/auth/loginRequest.py +1 -1
  116. metadata/generated/schema/auth/logoutRequest.py +1 -1
  117. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  118. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  119. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  120. metadata/generated/schema/auth/refreshToken.py +1 -1
  121. metadata/generated/schema/auth/registrationRequest.py +1 -1
  122. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  123. metadata/generated/schema/auth/revokeToken.py +1 -1
  124. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  125. metadata/generated/schema/auth/ssoAuth.py +1 -1
  126. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  127. metadata/generated/schema/configuration/__init__.py +1 -1
  128. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  129. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  130. metadata/generated/schema/configuration/authConfig.py +1 -1
  131. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  132. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  133. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  135. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  136. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  137. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  138. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  139. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  142. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  143. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  144. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  145. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  146. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  147. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  149. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/searchSettings.py +1 -1
  154. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  159. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  160. metadata/generated/schema/dataInsight/__init__.py +1 -1
  161. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  162. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  163. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  164. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  165. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  166. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  168. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  169. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  170. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  171. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  172. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  173. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  174. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  175. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  176. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  177. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  178. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  179. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  180. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  181. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  182. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  183. metadata/generated/schema/email/__init__.py +1 -1
  184. metadata/generated/schema/email/emailRequest.py +1 -1
  185. metadata/generated/schema/email/emailTemplate.py +1 -1
  186. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  187. metadata/generated/schema/email/smtpSettings.py +1 -1
  188. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  189. metadata/generated/schema/entity/__init__.py +1 -1
  190. metadata/generated/schema/entity/applications/__init__.py +1 -1
  191. metadata/generated/schema/entity/applications/app.py +1 -1
  192. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  193. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  194. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  195. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  196. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  197. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  203. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  205. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  208. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  209. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  210. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  211. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  213. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  222. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  223. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  224. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  225. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  227. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  228. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  229. metadata/generated/schema/entity/automations/__init__.py +1 -1
  230. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  231. metadata/generated/schema/entity/automations/workflow.py +1 -1
  232. metadata/generated/schema/entity/bot.py +1 -1
  233. metadata/generated/schema/entity/classification/__init__.py +1 -1
  234. metadata/generated/schema/entity/classification/classification.py +1 -1
  235. metadata/generated/schema/entity/classification/tag.py +1 -1
  236. metadata/generated/schema/entity/data/__init__.py +1 -1
  237. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  238. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  239. metadata/generated/schema/entity/data/chart.py +1 -1
  240. metadata/generated/schema/entity/data/container.py +1 -1
  241. metadata/generated/schema/entity/data/dashboard.py +1 -1
  242. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  243. metadata/generated/schema/entity/data/database.py +1 -1
  244. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  245. metadata/generated/schema/entity/data/glossary.py +1 -1
  246. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  247. metadata/generated/schema/entity/data/metric.py +1 -1
  248. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  249. metadata/generated/schema/entity/data/pipeline.py +1 -1
  250. metadata/generated/schema/entity/data/query.py +1 -1
  251. metadata/generated/schema/entity/data/report.py +1 -1
  252. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  253. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  254. metadata/generated/schema/entity/data/table.py +1 -1
  255. metadata/generated/schema/entity/data/topic.py +1 -1
  256. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  257. metadata/generated/schema/entity/docStore/document.py +1 -1
  258. metadata/generated/schema/entity/domains/__init__.py +1 -1
  259. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  260. metadata/generated/schema/entity/domains/domain.py +1 -1
  261. metadata/generated/schema/entity/events/__init__.py +1 -1
  262. metadata/generated/schema/entity/events/webhook.py +1 -1
  263. metadata/generated/schema/entity/feed/__init__.py +1 -1
  264. metadata/generated/schema/entity/feed/assets.py +1 -1
  265. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  266. metadata/generated/schema/entity/feed/description.py +1 -1
  267. metadata/generated/schema/entity/feed/domain.py +1 -1
  268. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  269. metadata/generated/schema/entity/feed/owner.py +1 -1
  270. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  271. metadata/generated/schema/entity/feed/tag.py +1 -1
  272. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  273. metadata/generated/schema/entity/feed/thread.py +1 -1
  274. metadata/generated/schema/entity/policies/__init__.py +1 -1
  275. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  276. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  277. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  278. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  279. metadata/generated/schema/entity/policies/filters.py +1 -1
  280. metadata/generated/schema/entity/policies/policy.py +1 -1
  281. metadata/generated/schema/entity/services/__init__.py +1 -1
  282. metadata/generated/schema/entity/services/apiService.py +1 -1
  283. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  284. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  286. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  287. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  288. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  289. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  290. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  291. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  380. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  386. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  387. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  400. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  415. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  417. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  418. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  419. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  428. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  433. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  438. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  439. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  440. metadata/generated/schema/entity/services/databaseService.py +1 -1
  441. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  442. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  443. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  444. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  445. metadata/generated/schema/entity/services/messagingService.py +1 -1
  446. metadata/generated/schema/entity/services/metadataService.py +1 -1
  447. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  448. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  449. metadata/generated/schema/entity/services/searchService.py +1 -1
  450. metadata/generated/schema/entity/services/serviceType.py +1 -1
  451. metadata/generated/schema/entity/services/storageService.py +1 -1
  452. metadata/generated/schema/entity/teams/__init__.py +1 -1
  453. metadata/generated/schema/entity/teams/persona.py +1 -1
  454. metadata/generated/schema/entity/teams/role.py +1 -1
  455. metadata/generated/schema/entity/teams/team.py +1 -1
  456. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  457. metadata/generated/schema/entity/teams/user.py +1 -1
  458. metadata/generated/schema/entity/type.py +1 -1
  459. metadata/generated/schema/entity/utils/__init__.py +1 -1
  460. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  461. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  462. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  463. metadata/generated/schema/events/__init__.py +1 -1
  464. metadata/generated/schema/events/alertMetrics.py +1 -1
  465. metadata/generated/schema/events/api/__init__.py +1 -1
  466. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  467. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  468. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  469. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  470. metadata/generated/schema/events/api/typedEvent.py +1 -1
  471. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  472. metadata/generated/schema/events/eventFilterRule.py +1 -1
  473. metadata/generated/schema/events/eventSubscription.py +1 -1
  474. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  475. metadata/generated/schema/events/failedEvent.py +1 -1
  476. metadata/generated/schema/events/failedEventResponse.py +1 -1
  477. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  478. metadata/generated/schema/events/statusContext.py +1 -1
  479. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  480. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  481. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  482. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  483. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  484. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  485. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  486. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  487. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  488. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  489. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  490. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  491. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  492. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  493. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  494. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  495. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  496. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  497. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  498. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  499. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  500. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  501. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  502. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  503. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  504. metadata/generated/schema/jobs/__init__.py +1 -1
  505. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  506. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  507. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  508. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  509. metadata/generated/schema/metadataIngestion/application.py +1 -1
  510. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  511. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  512. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  513. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  514. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  515. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  516. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  517. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  518. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  519. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  520. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  521. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  522. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  523. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  524. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  525. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  526. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  527. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  528. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  529. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  530. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  531. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  532. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  533. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  534. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  535. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  536. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  537. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  538. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  539. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  540. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  541. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  542. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  543. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  544. metadata/generated/schema/monitoring/__init__.py +1 -1
  545. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  546. metadata/generated/schema/security/__init__.py +1 -1
  547. metadata/generated/schema/security/client/__init__.py +1 -1
  548. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  549. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  550. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  551. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  552. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  553. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  554. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  555. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  556. metadata/generated/schema/security/credentials/__init__.py +1 -1
  557. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  558. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  559. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  560. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  561. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  562. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  563. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  564. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  565. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  566. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  567. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  568. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  569. metadata/generated/schema/security/sasl/__init__.py +1 -1
  570. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  571. metadata/generated/schema/security/secrets/__init__.py +1 -1
  572. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  573. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  574. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  575. metadata/generated/schema/security/securityConfiguration.py +1 -1
  576. metadata/generated/schema/security/ssl/__init__.py +1 -1
  577. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  578. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  579. metadata/generated/schema/settings/__init__.py +1 -1
  580. metadata/generated/schema/settings/settings.py +1 -1
  581. metadata/generated/schema/system/__init__.py +1 -1
  582. metadata/generated/schema/system/entityError.py +1 -1
  583. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  584. metadata/generated/schema/system/indexingError.py +1 -1
  585. metadata/generated/schema/system/limitsResponse.py +1 -1
  586. metadata/generated/schema/system/ui/__init__.py +1 -1
  587. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  588. metadata/generated/schema/system/ui/page.py +1 -1
  589. metadata/generated/schema/system/validationResponse.py +1 -1
  590. metadata/generated/schema/tests/__init__.py +1 -1
  591. metadata/generated/schema/tests/assigned.py +1 -1
  592. metadata/generated/schema/tests/basic.py +1 -1
  593. metadata/generated/schema/tests/customMetric.py +1 -1
  594. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  595. metadata/generated/schema/tests/resolved.py +1 -1
  596. metadata/generated/schema/tests/testCase.py +1 -1
  597. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  598. metadata/generated/schema/tests/testDefinition.py +1 -1
  599. metadata/generated/schema/tests/testSuite.py +1 -1
  600. metadata/generated/schema/type/__init__.py +1 -1
  601. metadata/generated/schema/type/apiSchema.py +1 -1
  602. metadata/generated/schema/type/assetCertification.py +1 -1
  603. metadata/generated/schema/type/auditLog.py +1 -1
  604. metadata/generated/schema/type/basic.py +1 -1
  605. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  606. metadata/generated/schema/type/changeEvent.py +1 -1
  607. metadata/generated/schema/type/changeEventType.py +1 -1
  608. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  609. metadata/generated/schema/type/csvDocumentation.py +1 -1
  610. metadata/generated/schema/type/csvErrorType.py +1 -1
  611. metadata/generated/schema/type/csvFile.py +1 -1
  612. metadata/generated/schema/type/csvImportResult.py +1 -1
  613. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  614. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  615. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  616. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  617. metadata/generated/schema/type/customProperty.py +1 -1
  618. metadata/generated/schema/type/dailyCount.py +1 -1
  619. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  620. metadata/generated/schema/type/entityHierarchy.py +1 -1
  621. metadata/generated/schema/type/entityHistory.py +1 -1
  622. metadata/generated/schema/type/entityLineage.py +1 -1
  623. metadata/generated/schema/type/entityReference.py +1 -1
  624. metadata/generated/schema/type/entityReferenceList.py +1 -1
  625. metadata/generated/schema/type/entityRelationship.py +1 -1
  626. metadata/generated/schema/type/entityUsage.py +1 -1
  627. metadata/generated/schema/type/filterPattern.py +1 -1
  628. metadata/generated/schema/type/function.py +1 -1
  629. metadata/generated/schema/type/include.py +1 -1
  630. metadata/generated/schema/type/jdbcConnection.py +1 -1
  631. metadata/generated/schema/type/lifeCycle.py +1 -1
  632. metadata/generated/schema/type/paging.py +1 -1
  633. metadata/generated/schema/type/profile.py +1 -1
  634. metadata/generated/schema/type/queryParserData.py +1 -1
  635. metadata/generated/schema/type/reaction.py +1 -1
  636. metadata/generated/schema/type/schedule.py +1 -1
  637. metadata/generated/schema/type/schema.py +1 -1
  638. metadata/generated/schema/type/tableQuery.py +1 -1
  639. metadata/generated/schema/type/tableUsageCount.py +1 -1
  640. metadata/generated/schema/type/tagLabel.py +1 -1
  641. metadata/generated/schema/type/usageDetails.py +1 -1
  642. metadata/generated/schema/type/usageRequest.py +1 -1
  643. metadata/generated/schema/type/votes.py +1 -1
  644. metadata/ingestion/lineage/masker.py +10 -2
  645. metadata/ingestion/lineage/parser.py +20 -3
  646. metadata/ingestion/lineage/sql_lineage.py +97 -21
  647. metadata/ingestion/ometa/mixins/es_mixin.py +2 -0
  648. metadata/ingestion/ometa/mixins/lineage_mixin.py +12 -9
  649. metadata/ingestion/source/database/lineage_source.py +95 -42
  650. metadata/ingestion/source/database/stored_procedures_mixin.py +3 -1
  651. metadata/utils/db_utils.py +6 -0
  652. {openmetadata_ingestion-1.6.6.6.dist-info → openmetadata_ingestion-1.6.6.7.dev0.dist-info}/METADATA +373 -373
  653. {openmetadata_ingestion-1.6.6.6.dist-info → openmetadata_ingestion-1.6.6.7.dev0.dist-info}/RECORD +657 -657
  654. {openmetadata_ingestion-1.6.6.6.dist-info → openmetadata_ingestion-1.6.6.7.dev0.dist-info}/LICENSE +0 -0
  655. {openmetadata_ingestion-1.6.6.6.dist-info → openmetadata_ingestion-1.6.6.7.dev0.dist-info}/WHEEL +0 -0
  656. {openmetadata_ingestion-1.6.6.6.dist-info → openmetadata_ingestion-1.6.6.7.dev0.dist-info}/entry_points.txt +0 -0
  657. {openmetadata_ingestion-1.6.6.6.dist-info → openmetadata_ingestion-1.6.6.7.dev0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/schedule.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/schema.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/tableQuery.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/tableUsageCount.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/tagLabel.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/usageDetails.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/usageRequest.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/votes.json
3
- # timestamp: 2025-03-29T04:07:20+00:00
3
+ # timestamp: 2025-04-09T12:07:25+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -13,12 +13,14 @@ Query masking utilities
13
13
  """
14
14
 
15
15
  import traceback
16
+ from typing import Optional
16
17
 
17
18
  from collate_sqllineage.runner import SQLPARSE_DIALECT, LineageRunner
18
19
  from sqlparse.sql import Comparison
19
20
  from sqlparse.tokens import Literal, Number, String
20
21
 
21
22
  from metadata.ingestion.lineage.models import Dialect
23
+ from metadata.utils.execution_time_tracker import calculate_execution_time
22
24
 
23
25
  MASK_TOKEN = "?"
24
26
 
@@ -109,11 +111,17 @@ def mask_literals_with_sqlfluff(query: str, parser: LineageRunner) -> str:
109
111
  return query
110
112
 
111
113
 
114
+ @calculate_execution_time(context="MaskQuery")
112
115
  def mask_query(
113
- query: str, dialect: str = Dialect.ANSI.value, parser: LineageRunner = None
114
- ) -> str:
116
+ query: str,
117
+ dialect: str = Dialect.ANSI.value,
118
+ parser: Optional[LineageRunner] = None,
119
+ parser_required: bool = False,
120
+ ) -> Optional[str]:
115
121
  logger = get_logger()
116
122
  try:
123
+ if parser_required and not parser:
124
+ return None
117
125
  if not parser:
118
126
  try:
119
127
  parser = LineageRunner(query, dialect=dialect)
@@ -28,6 +28,7 @@ from sqlparse.sql import Comparison, Identifier, Parenthesis, Statement
28
28
  from metadata.generated.schema.type.tableUsageCount import TableColumn, TableColumnJoin
29
29
  from metadata.ingestion.lineage.masker import mask_query
30
30
  from metadata.ingestion.lineage.models import Dialect
31
+ from metadata.utils.execution_time_tracker import calculate_execution_time
31
32
  from metadata.utils.helpers import (
32
33
  find_in_iter,
33
34
  get_formatted_entity_name,
@@ -77,7 +78,10 @@ class LineageParser:
77
78
  self._clean_query, dialect=dialect, timeout_seconds=timeout_seconds
78
79
  )
79
80
  if self.masked_query is None:
80
- self.masked_query = mask_query(self._clean_query, parser=self.parser)
81
+ self.masked_query = (
82
+ mask_query(self._clean_query, parser=self.parser, parser_required=True)
83
+ or self._clean_query
84
+ )
81
85
 
82
86
  @cached_property
83
87
  def involved_tables(self) -> Optional[List[Table]]:
@@ -409,6 +413,7 @@ class LineageParser:
409
413
 
410
414
  return clean_query.strip()
411
415
 
416
+ @calculate_execution_time(context="EvaluateBestParser")
412
417
  def _evaluate_best_parser(
413
418
  self, query: str, dialect: Dialect, timeout_seconds: int
414
419
  ) -> Optional[LineageRunner]:
@@ -447,8 +452,14 @@ class LineageParser:
447
452
  if lr_sqlfluff:
448
453
  return lr_sqlfluff
449
454
 
450
- lr_sqlparser = LineageRunner(query)
455
+ @timeout(seconds=timeout_seconds)
456
+ def get_sqlparser_lineage_runner(qry: str) -> LineageRunner:
457
+ lr_sqlparser = LineageRunner(qry)
458
+ lr_sqlparser.get_column_lineage()
459
+ return lr_sqlparser
460
+
451
461
  try:
462
+ lr_sqlparser = get_sqlparser_lineage_runner(query)
452
463
  _ = len(lr_sqlparser.get_column_lineage()) + len(
453
464
  set(lr_sqlparser.source_tables).union(
454
465
  set(lr_sqlparser.target_tables).union(
@@ -456,12 +467,18 @@ class LineageParser:
456
467
  )
457
468
  )
458
469
  )
470
+ except TimeoutError:
471
+ self.query_parsing_success = False
472
+ self.query_parsing_failure_reason = (
473
+ f"Lineage with SqlParser failed for the [{dialect.value}]. "
474
+ f"Parser has been running for more than {timeout_seconds} seconds."
475
+ )
476
+ return None
459
477
  except Exception:
460
478
  # if both runner have failed we return the usual one
461
479
  logger.debug(f"Failed to parse query with sqlparse & sqlfluff: {query}")
462
480
  return lr_sqlfluff if lr_sqlfluff else lr_sqlparser
463
481
 
464
- self.masked_query = mask_query(self._clean_query, parser=lr_sqlparser)
465
482
  logger.debug(
466
483
  f"Using sqlparse for lineage parsing for query: {self.masked_query or self.query}"
467
484
  )
@@ -11,12 +11,15 @@
11
11
  """
12
12
  Helper functions to handle SQL lineage operations
13
13
  """
14
+ import functools
14
15
  import itertools
15
16
  import traceback
16
17
  from collections import defaultdict
18
+ from copy import deepcopy
17
19
  from typing import Any, Iterable, List, Optional, Tuple, Union
18
20
 
19
21
  import networkx as nx
22
+ from collate_sqllineage.core.holders import SQLLineageHolder
20
23
  from collate_sqllineage.core.models import Column, DataFunction
21
24
  from collate_sqllineage.core.models import Table as LineageTable
22
25
  from networkx import DiGraph
@@ -48,6 +51,10 @@ from metadata.ingestion.lineage.parser import LINEAGE_PARSING_TIMEOUT, LineagePa
48
51
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
49
52
  from metadata.utils import fqn
50
53
  from metadata.utils.elasticsearch import get_entity_from_es_result
54
+ from metadata.utils.execution_time_tracker import (
55
+ calculate_execution_time,
56
+ calculate_execution_time_generator,
57
+ )
51
58
  from metadata.utils.fqn import build_es_fqn_search_string
52
59
  from metadata.utils.logger import utils_logger
53
60
  from metadata.utils.lru_cache import LRU_CACHE_SIZE, LRUCache
@@ -73,6 +80,7 @@ def get_column_fqn(table_entity: Table, column: str) -> Optional[str]:
73
80
  search_cache = LRUCache(LRU_CACHE_SIZE)
74
81
 
75
82
 
83
+ @calculate_execution_time(context="SearchTableEntities")
76
84
  def search_table_entities(
77
85
  metadata: OpenMetadata,
78
86
  service_name: str,
@@ -236,6 +244,58 @@ def handle_udf_column_lineage(
236
244
  logger.error(f"Error handling UDF column lineage: {exc}")
237
245
 
238
246
 
247
+ @functools.lru_cache(maxsize=1000)
248
+ def _get_udf_parser(
249
+ code: str, dialect: Dialect, timeout_seconds: int
250
+ ) -> Optional[LineageParser]:
251
+ if code:
252
+ return LineageParser(
253
+ f"create table dummy_table_name as {code}",
254
+ dialect=dialect,
255
+ timeout_seconds=timeout_seconds,
256
+ )
257
+ return None
258
+
259
+
260
+ def _replace_target_table(
261
+ parser: LineageParser, expected_table_name: str
262
+ ) -> LineageParser:
263
+ try:
264
+ # Create a new target table instead of modifying the existing one
265
+ new_table = Table(expected_table_name.replace(DEFAULT_SCHEMA_NAME, ""))
266
+
267
+ # Create a new statement holder with the updated target table
268
+ stmt_holder = parser.parser._stmt_holders[0]
269
+ old_write = list(stmt_holder.write)[0] # Get the original target table
270
+
271
+ # Remove old target table and add new one
272
+ stmt_holder.graph.remove_node(old_write)
273
+ stmt_holder.add_write(new_table)
274
+
275
+ # Rebuild column lineage
276
+ for col_lineage in parser.parser.get_column_lineage():
277
+ if col_lineage[-1].parent == old_write:
278
+ # Create new column with same name but parent is new table
279
+ tgt_col = col_lineage[-1]
280
+ new_tgt_col = Column(tgt_col.raw_name)
281
+ new_tgt_col.parent = new_table
282
+
283
+ # Add the column lineage from source to new target
284
+ stmt_holder.add_column_lineage(col_lineage[-2], new_tgt_col)
285
+ try:
286
+ # remove the old edge
287
+ stmt_holder.graph.remove_edge(col_lineage[-2], tgt_col)
288
+ except:
289
+ # if the edge is not present, pass
290
+ pass
291
+
292
+ # Rebuild the SQL holder
293
+ parser.parser._sql_holder = SQLLineageHolder.of(*parser.parser._stmt_holders)
294
+ except Exception as exc:
295
+ logger.debug(traceback.format_exc())
296
+ logger.debug(f"Error replacing target table: {exc}")
297
+
298
+
239
299
  # pylint: disable=too-many-arguments
240
300
  def __process_udf_es_results(
241
301
  metadata: OpenMetadata,
@@ -255,27 +315,32 @@ def __process_udf_es_results(
255
315
  and entity.storedProcedureCode
256
316
  and entity.storedProcedureCode.language == Language.SQL
257
317
  ):
258
- expected_table_name = str(source_table).replace(
259
- f"{DEFAULT_SCHEMA_NAME}.", ""
260
- )
261
- lineage_parser = LineageParser(
262
- f"create table {str(expected_table_name)} as {entity.storedProcedureCode.code}",
263
- dialect=dialect,
264
- timeout_seconds=timeout_seconds,
318
+
319
+ lineage_parser = _get_udf_parser(
320
+ entity.storedProcedureCode.code, dialect, timeout_seconds
265
321
  )
266
- handle_udf_column_lineage(column_lineage, lineage_parser.column_lineage)
267
- for source in lineage_parser.source_tables or []:
268
- yield from get_source_table_names(
269
- metadata,
270
- dialect,
271
- source,
272
- database_name,
273
- schema_name,
274
- service_name,
275
- timeout_seconds,
276
- column_lineage,
277
- procedure or entity,
322
+ if lineage_parser and lineage_parser.parser:
323
+ expected_table_name = str(source_table).replace(
324
+ f"{DEFAULT_SCHEMA_NAME}.", ""
325
+ )
326
+ lineage_parser_copy = deepcopy(lineage_parser)
327
+ _replace_target_table(lineage_parser_copy, expected_table_name)
328
+
329
+ handle_udf_column_lineage(
330
+ column_lineage, lineage_parser_copy.column_lineage
278
331
  )
332
+ for source in lineage_parser_copy.source_tables or []:
333
+ yield from get_source_table_names(
334
+ metadata,
335
+ dialect,
336
+ source,
337
+ database_name,
338
+ schema_name,
339
+ service_name,
340
+ timeout_seconds,
341
+ column_lineage,
342
+ procedure or entity,
343
+ )
279
344
 
280
345
 
281
346
  def __process_udf_table_names(
@@ -317,6 +382,7 @@ def __process_udf_table_names(
317
382
  )
318
383
 
319
384
 
385
+ @calculate_execution_time_generator(context="GetSourceTableNames")
320
386
  def get_source_table_names(
321
387
  metadata: OpenMetadata,
322
388
  dialect: Dialect,
@@ -617,6 +683,7 @@ def populate_column_lineage_map(raw_column_lineage):
617
683
 
618
684
 
619
685
  # pylint: disable=too-many-locals
686
+ @calculate_execution_time_generator(context="GetLineageByQuery")
620
687
  def get_lineage_by_query(
621
688
  metadata: OpenMetadata,
622
689
  service_name: str,
@@ -627,6 +694,7 @@ def get_lineage_by_query(
627
694
  timeout_seconds: int = LINEAGE_PARSING_TIMEOUT,
628
695
  lineage_source: LineageSource = LineageSource.QueryLineage,
629
696
  graph: DiGraph = None,
697
+ lineage_parser: Optional[LineageParser] = None,
630
698
  ) -> Iterable[Either[AddLineageRequest]]:
631
699
  """
632
700
  This method parses the query to get source, target and intermediate table names to create lineage,
@@ -636,7 +704,10 @@ def get_lineage_by_query(
636
704
  query_parsing_failures = QueryParsingFailures()
637
705
 
638
706
  try:
639
- lineage_parser = LineageParser(query, dialect, timeout_seconds=timeout_seconds)
707
+ if not lineage_parser:
708
+ lineage_parser = LineageParser(
709
+ query, dialect, timeout_seconds=timeout_seconds
710
+ )
640
711
  masked_query = lineage_parser.masked_query
641
712
  logger.debug(f"Running lineage with query: {masked_query or query}")
642
713
 
@@ -723,6 +794,7 @@ def get_lineage_by_query(
723
794
  )
724
795
 
725
796
 
797
+ @calculate_execution_time_generator(context="GetLineageViaTableEntity")
726
798
  def get_lineage_via_table_entity(
727
799
  metadata: OpenMetadata,
728
800
  table_entity: Table,
@@ -734,13 +806,17 @@ def get_lineage_via_table_entity(
734
806
  timeout_seconds: int = LINEAGE_PARSING_TIMEOUT,
735
807
  lineage_source: LineageSource = LineageSource.QueryLineage,
736
808
  graph: DiGraph = None,
809
+ lineage_parser: Optional[LineageParser] = None,
737
810
  ) -> Iterable[Either[AddLineageRequest]]:
738
811
  """Get lineage from table entity"""
739
812
  column_lineage = {}
740
813
  query_parsing_failures = QueryParsingFailures()
741
814
 
742
815
  try:
743
- lineage_parser = LineageParser(query, dialect, timeout_seconds=timeout_seconds)
816
+ if not lineage_parser:
817
+ lineage_parser = LineageParser(
818
+ query, dialect, timeout_seconds=timeout_seconds
819
+ )
744
820
  masked_query = lineage_parser.masked_query
745
821
  logger.debug(
746
822
  f"Getting lineage via table entity using query: {masked_query or query}"
@@ -30,6 +30,7 @@ from metadata.ingestion.ometa.client import REST, APIError
30
30
  from metadata.ingestion.ometa.utils import quote
31
31
  from metadata.ingestion.source.models import TableView
32
32
  from metadata.utils.elasticsearch import ES_INDEX_MAP
33
+ from metadata.utils.execution_time_tracker import calculate_execution_time_generator
33
34
  from metadata.utils.logger import ometa_logger
34
35
 
35
36
  logger = ometa_logger()
@@ -388,6 +389,7 @@ class ESMixin(Generic[T]):
388
389
  f"Error while getting {hit.source['fullyQualifiedName']} - {exc}"
389
390
  )
390
391
 
392
+ @calculate_execution_time_generator(context="ES.FetchViewDefinition")
391
393
  def yield_es_view_def(
392
394
  self,
393
395
  service_name: str,
@@ -14,6 +14,7 @@ Mixin class containing Lineage specific methods
14
14
  To be used by OpenMetadata class
15
15
  """
16
16
  import functools
17
+ import json
17
18
  import traceback
18
19
  from copy import deepcopy
19
20
  from typing import Any, Dict, Generic, List, Optional, Type, TypeVar, Union
@@ -427,6 +428,7 @@ class OMetaLineageMixin(Generic[T]):
427
428
  logger.debug(traceback.format_exc())
428
429
  self.is_edit_table_allowed = False
429
430
 
431
+ @functools.lru_cache(maxsize=LRU_CACHE_SIZE)
430
432
  def patch_lineage_processed_flag(
431
433
  self,
432
434
  entity: Type[T],
@@ -440,15 +442,16 @@ class OMetaLineageMixin(Generic[T]):
440
442
  return
441
443
 
442
444
  try:
443
- original_entity = self.get_by_name(entity=entity, fqn=fqn)
444
- if not original_entity:
445
- return
446
-
447
- updated_entity = original_entity.model_copy(deep=True)
448
- updated_entity.processedLineage = True
449
-
450
- self.patch(
451
- entity=entity, source=original_entity, destination=updated_entity
445
+ patch = [
446
+ {
447
+ "op": "add",
448
+ "path": "/processedLineage",
449
+ "value": True,
450
+ }
451
+ ]
452
+ self.client.patch(
453
+ path=f"{self.get_suffix(entity)}/name/{fqn}",
454
+ data=json.dumps(patch),
452
455
  )
453
456
  except Exception as exc:
454
457
  logger.debug(f"Error while patching lineage processed flag: {exc}")
@@ -13,10 +13,10 @@ Lineage Source Module
13
13
  """
14
14
  import csv
15
15
  import os
16
+ import threading
16
17
  import time
17
18
  import traceback
18
19
  from abc import ABC
19
- from concurrent.futures import ThreadPoolExecutor
20
20
  from functools import partial
21
21
  from typing import Any, Callable, Iterable, Iterator, List, Union
22
22
 
@@ -42,9 +42,9 @@ from metadata.utils.logger import ingestion_logger
42
42
  logger = ingestion_logger()
43
43
 
44
44
 
45
- CHUNK_SIZE = 200
45
+ CHUNK_SIZE = 100
46
46
 
47
- THREAD_TIMEOUT = 600
47
+ THREAD_TIMEOUT = 3 * 60 * 10 # 30 minutes in seconds
48
48
 
49
49
 
50
50
  class LineageSource(QueryParserSource, ABC):
@@ -107,61 +107,95 @@ class LineageSource(QueryParserSource, ABC):
107
107
  )
108
108
  yield from self.yield_table_query()
109
109
 
110
+ @staticmethod
110
111
  def generate_lineage_in_thread(
111
- self,
112
112
  producer_fn: Callable[[], Iterable[Any]],
113
- processor_fn: Callable[[Any], Iterable[Any]],
113
+ processor_fn: Callable[[Any, Queue], None],
114
114
  chunk_size: int = CHUNK_SIZE,
115
+ thread_timeout: int = THREAD_TIMEOUT,
116
+ max_threads: int = 10, # Default maximum number of concurrent threads
115
117
  ):
116
118
  """
117
- Optimized multithreaded lineage generation with improved error handling and performance.
119
+ Process data in separate daemon threads with timeout control.
118
120
 
119
121
  Args:
120
- producer_fn: Function that yields input items
121
- processor_fn: Function to process each input item
122
- chunk_size: Optional batching to reduce thread creation overhead
122
+ producer_fn: Function that yields data chunks
123
+ processor_fn: Function that processes data and adds results to the queue
124
+ chunk_size: Size of chunks to process
125
+ thread_timeout: Maximum time in seconds to wait for a processor thread
126
+ max_threads: Maximum number of concurrent threads to run
123
127
  """
128
+ queue = Queue()
129
+ active_threads = []
124
130
 
125
- def chunk_generator():
126
- temp_chunk = []
127
- for chunk in producer_fn():
128
- temp_chunk.append(chunk)
129
- if len(temp_chunk) >= chunk_size:
130
- yield temp_chunk
131
- temp_chunk = []
131
+ def process_chunk(chunk):
132
+ """Process a chunk of data in a thread."""
133
+ try:
134
+ processor_fn(chunk, queue)
135
+ except Exception as e:
136
+ logger.error(f"Error processing chunk: {e}")
137
+ logger.debug(traceback.format_exc())
132
138
 
133
- if temp_chunk:
134
- yield temp_chunk
139
+ # Create an iterator for the chunks but don't consume it all at once
140
+ chunk_iterator = iter(chunk_generator(producer_fn, chunk_size))
135
141
 
136
- thread_pool = ThreadPoolExecutor(max_workers=self.source_config.threads)
137
- queue = Queue()
142
+ # Process results from the queue and check for timed-out threads
143
+ chunk_processed = False # Flag to track if all chunks have been processed
144
+ ignored_threads = 0
138
145
 
139
- futures = [
140
- thread_pool.submit(
141
- processor_fn,
142
- chunk,
143
- queue,
144
- )
145
- for chunk in chunk_generator()
146
- ]
147
146
  while True:
147
+ # Start new threads until we reach the max_threads limit
148
+ while (
149
+ len(active_threads) + ignored_threads
150
+ ) < max_threads and not chunk_processed:
151
+ try:
152
+ # Only fetch a new chunk when we're ready to create a thread
153
+ chunk = next(chunk_iterator)
154
+ thread = threading.Thread(target=process_chunk, args=(chunk,))
155
+ thread.start_time = time.time() # Track when the thread started
156
+ thread.daemon = True
157
+ active_threads.append(thread)
158
+ thread.start()
159
+ except StopIteration:
160
+ # No more chunks to process
161
+ chunk_processed = True
162
+ break
163
+
164
+ if ignored_threads == max_threads:
165
+ logger.warning(f"Max threads reached, skipping remaining threads")
166
+ break
167
+
168
+ # Process any available results
148
169
  if queue.has_tasks():
149
170
  yield from queue.process()
150
171
 
151
- else:
152
- if not futures:
153
- break
172
+ # Check for completed or timed-out threads
173
+ still_active = []
174
+ for thread in active_threads:
175
+ if thread.is_alive():
176
+ # Check if the thread has timed out
177
+ if time.time() - thread.start_time > thread_timeout:
178
+ logger.warning(
179
+ f"Thread {thread.name} timed out after {thread_timeout}s"
180
+ )
181
+ ignored_threads += 1
182
+ else:
183
+ still_active.append(thread)
184
+ # If thread is not alive, it has completed normally
185
+
186
+ active_threads = still_active
154
187
 
155
- for i, future in enumerate(futures):
156
- if future.done():
157
- try:
158
- future.result(timeout=THREAD_TIMEOUT)
159
- except Exception as e:
160
- logger.debug(f"Error in future: {e}")
161
- logger.debug(traceback.format_exc())
162
- futures.pop(i)
188
+ # Exit conditions: no more active threads and no more chunks to process
189
+ if not active_threads and chunk_processed:
190
+ break
163
191
 
164
- time.sleep(0.01)
192
+ # Small pause to prevent CPU spinning
193
+ if active_threads:
194
+ time.sleep(0.1)
195
+
196
+ # Final check for any remaining results
197
+ while queue.has_tasks():
198
+ yield from queue.process()
165
199
 
166
200
  def yield_table_query(self) -> Iterator[TableQuery]:
167
201
  """
@@ -257,7 +291,9 @@ class LineageSource(QueryParserSource, ABC):
257
291
  producer_fn = self.get_table_query
258
292
  processor_fn = self.query_lineage_generator
259
293
  yield from self.generate_lineage_in_thread(
260
- producer_fn, processor_fn, CHUNK_SIZE
294
+ producer_fn,
295
+ processor_fn,
296
+ max_threads=self.source_config.threads,
261
297
  )
262
298
 
263
299
  def view_lineage_generator(
@@ -306,7 +342,9 @@ class LineageSource(QueryParserSource, ABC):
306
342
  self.source_config.incrementalLineageProcessing,
307
343
  )
308
344
  processor_fn = self.view_lineage_generator
309
- yield from self.generate_lineage_in_thread(producer_fn, processor_fn)
345
+ yield from self.generate_lineage_in_thread(
346
+ producer_fn, processor_fn, max_threads=self.source_config.threads
347
+ )
310
348
 
311
349
  def yield_procedure_lineage(
312
350
  self,
@@ -339,3 +377,18 @@ class LineageSource(QueryParserSource, ABC):
339
377
  logger.warning(
340
378
  f"Lineage extraction is not supported for {str(self.service_connection.type.value)} connection"
341
379
  )
380
+
381
+
382
+ def chunk_generator(producer_fn, chunk_size):
383
+ """
384
+ Group items from producer into chunks of specified size.
385
+ This is a separate function to allow for better lazy evaluation.
386
+ """
387
+ temp_chunk = []
388
+ for item in producer_fn():
389
+ temp_chunk.append(item)
390
+ if len(temp_chunk) >= chunk_size:
391
+ yield temp_chunk
392
+ temp_chunk = []
393
+ if temp_chunk:
394
+ yield temp_chunk
@@ -304,4 +304,6 @@ class StoredProcedureLineageMixin(ABC):
304
304
  logger.info("Processing Lineage for Stored Procedures")
305
305
  producer_fn = self.procedure_lineage_generator
306
306
  processor_fn = self.procedure_lineage_processor
307
- yield from self.generate_lineage_in_thread(producer_fn, processor_fn)
307
+ yield from self.generate_lineage_in_thread(
308
+ producer_fn, processor_fn, max_threads=self.source_config.threads
309
+ )