The Context Platform for your Data and AI Stack
This report summarizes scanner evidence for datahub-project/datahub, a Python project with 12,811 GitHub stars. SynthScan examined 4,098,675 lines of code across 17714 source files, recording 36219 pattern matches distributed across 28 syntactic categories. The legacy adjusted pattern signal is 11.9 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 28397 finding(s).
Are imports declared and package/API names verified? 2093 finding(s).
Are wrappers, guards, and repeated structures necessary? 30192 finding(s).
Which changes need focused human review? 36219 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 36219 distinct pattern matches across 28 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 39 | def _print_subprocess_failure(proc: subprocess.CompletedProcess[str]) -> None: | CODE |
| LOW | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 46 | def _verify_installed_acryl_datahub_version( | CODE |
| LOW | docker/snippets/ingestion/bundled_venv_config.py | 67 | def bundled_venv_symlink_names(group_plan: BundledVenvGroupPlan) -> Tuple[str, ...]: | CODE |
| LOW | docker/snippets/ingestion/bundled_venv_config.py | 75 | def _default_plugin_extras_for_plugin(plugin: str, slim_mode: bool) -> List[str]: | CODE |
| LOW | docker/snippets/ingestion/bundled_venv_config.py | 119 | def groups_config_from_plugin_group_env( | CODE |
| LOW | docker/snippets/uv/validate_netrc.py | 31 | def _blank_then_comment_lines(text: str) -> List[int]: | CODE |
| LOW | …icsearch/query/request/AutocompleteRequestHandler.java | 54 | public class AutocompleteRequestHandler extends BaseRequestHandler { | CODE |
| LOW | …ch/elasticsearch/query/request/BaseRequestHandler.java | 12 | public abstract class BaseRequestHandler { | CODE |
| LOW | …/elasticsearch/query/request/SearchRequestHandler.java | 95 | public class SearchRequestHandler extends BaseRequestHandler { | CODE |
| LOW | perf-test/authz-perf/compare.py | 15 | def _row_effective_expectation(row: dict) -> int: | CODE |
| LOW | perf-test/authz-perf/compare.py | 114 | def _unmatched_metric_warnings( | CODE |
| LOW | perf-test/authz-perf/executor.py | 45 | def _maybe_jitter_search_variables( | CODE |
| LOW | perf-test/authz-perf/tests/test_run_multi.py | 10 | def test_output_dir_writes_manifest(mock_run, mock_gms, tmp_path: Path) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_run_multi.py | 57 | def test_fail_fast_stops_on_error(mock_run, mock_gms, tmp_path: Path) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_graphql_adapt_loader.py | 6 | def test_resolve_operation_document_delegates_to_registry() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_targets.py | 28 | def test_parse_target_requires_name() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_targets.py | 59 | def test_env_file_hidden_name() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_targets.py | 65 | def test_env_file_name_override(tmp_path: Path) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_targets.py | 81 | def test_gms_url_creates_local_target() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_results.py | 7 | def test_jsonl_append_and_summary(tmp_path: Path) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_stats.py | 10 | def test_compute_stats_max_not_trimmed() -> None: | CODE |
| LOW⚡ | perf-test/authz-perf/tests/test_output_paths.py | 12 | def test_build_slug_prefers_run_label() -> None: | CODE |
| LOW⚡ | perf-test/authz-perf/tests/test_output_paths.py | 18 | def test_build_slug_git_commit() -> None: | CODE |
| LOW⚡ | perf-test/authz-perf/tests/test_output_paths.py | 24 | def test_result_paths_single_local_bisect() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_output_paths.py | 36 | def test_result_paths_multi_cell() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_run_graphql_setup.py | 12 | def test_run_single_target_generates_queries( | CODE |
| LOW | perf-test/authz-perf/tests/test_query_build.py | 23 | def test_build_operation_document_minimal() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_query_build.py | 41 | def test_build_omits_missing_paths() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_query_build.py | 57 | def test_resolve_operation_document_with_registry() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_benchmarks.py | 10 | def test_all_personas_have_core_ops() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_benchmarks.py | 31 | def test_query_specs_cover_all_scenarios() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_benchmarks.py | 44 | def test_get_me_uses_privilege_expand() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_gms_config.py | 34 | def test_fetch_gms_config_failure(mock_get: MagicMock) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_session.py | 8 | def test_persona_session_reuses_same_session() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_graphql_adapt.py | 12 | def test_create_graphql_query_registry(mock_cls: MagicMock) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_graphql_adapt.py | 24 | def test_setup_graphql_queries(mock_create: MagicMock) -> None: | CODE |
| LOW | …rf-test/authz-perf/tests/test_persona_password_seed.py | 16 | def test_local_password_unchanged() -> None: | CODE |
| LOW | …rf-test/authz-perf/tests/test_persona_password_seed.py | 22 | def test_derive_persona_password_deterministic( | CODE |
| LOW | …rf-test/authz-perf/tests/test_persona_password_seed.py | 35 | def test_derive_persona_password_varies_by_host( | CODE |
| LOW | …rf-test/authz-perf/tests/test_persona_password_seed.py | 47 | def test_load_or_create_seed_from_env(tmp_path, monkeypatch) -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_personas.py | 9 | def test_personas_oracle_has_seventeen_entries() -> None: | CODE |
| LOW⚡ | perf-test/authz-perf/tests/test_variants.py | 4 | def test_parse_variants_default() -> None: | CODE |
| LOW⚡ | perf-test/authz-perf/tests/test_variants.py | 8 | def test_parse_variants_run_labels() -> None: | CODE |
| LOW⚡ | perf-test/authz-perf/tests/test_variants.py | 14 | def test_parse_variants_docker_tags() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_metadata.py | 7 | def test_capture_git_metadata() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_metadata.py | 12 | def test_capture_deployment_metadata() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_metadata.py | 25 | def test_deployment_docker_tag() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_credentials.py | 8 | def test_uses_datahubenv_token() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_credentials.py | 21 | def test_gms_url_cli_overrides_config() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_credentials.py | 34 | def test_mints_token_from_username_password() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_credentials.py | 58 | def test_no_credentials_non_interactive_exits() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_credentials.py | 67 | def test_merges_datahubenv_token_when_env_url_only( | CODE |
| LOW | perf-test/authz-perf/tests/test_expectations.py | 19 | def test_view_authorization_from_properties_prefers_dot_key() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_expectations.py | 31 | def test_adapt_benchmarks_keeps_fixture_when_view_auth_enabled() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_expectations.py | 51 | def test_adapt_benchmarks_relaxes_deny_when_view_auth_disabled() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_expectations.py | 71 | def test_metric_key_and_profile_for_adapted_deny() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_expectations.py | 86 | def test_metric_key_for_authz_deny() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_expectations.py | 100 | def test_warn_authorization_settings_drift() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_graphql_health.py | 25 | def test_execute_graphql_success() -> None: | CODE |
| LOW | perf-test/authz-perf/tests/test_graphql_health.py | 51 | def test_execute_graphql_http_error() -> None: | CODE |
| 24336 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/metadata/aspect/hooks/AspectMigrationMutatorTest.java | 85 | // ── Read mutation ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/metadata/aspect/hooks/AspectMigrationMutatorTest.java | 169 | // ── Write mutation ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/metadata/aspect/hooks/AspectMigrationMutatorTest.java | 230 | // ── Helpers ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 57 | // ── Empty chain ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 93 | // ── Single-hop chain ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 163 | // ── Multi-hop chain ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 185 | // ── Gap bridging ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 401 | // ── Self-disable ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 431 | // ── Priority ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …data/aspect/hooks/AspectMigrationMutatorChainTest.java | 439 | // ── Helpers ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/AspectMigrationMutatorChain.java | 111 | // ── Read path ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/AspectMigrationMutatorChain.java | 164 | // ── Write path ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …edin/metadata/aspect/hooks/AspectMigrationMutator.java | 67 | // ── Read path ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …edin/metadata/aspect/hooks/AspectMigrationMutator.java | 109 | // ── Write path ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …edin/metadata/aspect/hooks/AspectMigrationMutator.java | 145 | // ── Helpers ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …raphql/resolvers/timeline/GetTimelineResolverTest.java | 107 | // ── includeVersionSet tests ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …raphql/resolvers/timeline/GetTimelineResolverTest.java | 378 | // ── Helpers ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …edin/metadata/entity/EbeanAspectMigrationsDaoTest.java | 104 | // ── streamAspectBatchesForMigration ─────────────────────────────────────── | COMMENT |
| MEDIUM | …om/linkedin/metadata/entity/EntityServiceImplTest.java | 1680 | // ── Structured property delete guard (soft-delete-first precondition) ───────────────────────── | COMMENT |
| MEDIUM | …data/search/utils/ESUtilsLifecycleStageFilterTest.java | 168 | // ── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/queue/postgres/EbeanPostgresMetadataQueueStoreIT.java | 769 | // ── Priority queue integration tests ────────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 59 | // ── Legacy path: only domains provided ───────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 131 | // ── New path: domainAssociations provided ────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 202 | // ── Conflict detection ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 279 | // ── Read-modify-write scenarios ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 334 | // ── Edge cases ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 388 | // ── Ordering: manual before propagated ─────────────────────────────────── | COMMENT |
| MEDIUM | …metadata/aspect/hooks/DomainsSyncMutationHookTest.java | 509 | // ── Helpers ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ata/aspect/hooks/LifecycleStageTransitionHookTest.java | 268 | // ── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ntgenerator/VersionPropertiesChangeEventGenerator.java | 86 | // ── getChangeEvents (preferred path) ────────────────────────────────────── | COMMENT |
| MEDIUM | …ntgenerator/VersionPropertiesChangeEventGenerator.java | 99 | // ── Core diff logic ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nt-context/tests/unit/google_adk_tools/test_builder.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nt-context/tests/unit/google_adk_tools/test_builder.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 76 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 185 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 187 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 224 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 226 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 247 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/google_adk_registration/test_plugin.py | 249 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …text/tests/unit/google_adk_registration/test_plugin.py | 8 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …text/tests/unit/google_adk_registration/test_plugin.py | 10 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ent-context/tests/unit/langchain_tools/test_builder.py | 162 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ent-context/tests/unit/langchain_tools/test_builder.py | 164 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 161 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 163 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 290 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 292 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 360 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …text/tests/unit/langchain_registration/test_handler.py | 362 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …text/tests/unit/langchain_registration/test_handler.py | 19 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …text/tests/unit/langchain_registration/test_handler.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …agent-context/tests/unit/mcp_tools/test_ask_datahub.py | 75 | # --------------------------------------------------------------------------- | COMMENT |
| 2061 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | datahub-frontend/app/auth/AuthModule.java | 429 | com.linkedin.metadata.utils.BasePathUtils.resolveBasePath( | CODE |
| CRITICAL | datahub-frontend/app/auth/AuthModule.java | 492 | return com.linkedin.metadata.utils.BasePathUtils.resolveBasePath(basePathEnabled, basePath); | CODE |
| CRITICAL | datahub-frontend/app/controllers/Application.java | 314 | org.apache.pekko.stream.javadsl.StreamConverters.fromInputStream( | CODE |
| CRITICAL | datahub-frontend/test/oidc/OidcCallbackLogicTest.java | 32 | org.junit.jupiter.api.Assertions.assertDoesNotThrow( | CODE |
| CRITICAL | datahub-frontend/test/oidc/OidcCallbackLogicTest.java | 47 | org.junit.jupiter.api.Assertions.assertThrows( | CODE |
| CRITICAL | datahub-frontend/test/oidc/OidcCallbackLogicTest.java | 63 | org.junit.jupiter.api.Assertions.assertDoesNotThrow( | CODE |
| CRITICAL | datahub-frontend/test/oidc/OidcCallbackLogicTest.java | 81 | org.junit.jupiter.api.Assertions.assertThrows( | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 239 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 269 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/datahub")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 299 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/api/v2")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 302 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.addBasePath("/login", "/api/v2")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 332 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 335 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.addBasePath("/login", "")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 377 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/datahub")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 381 | () -> com.linkedin.metadata.utils.BasePathUtils.addBasePath(anyString(), anyString())) | CODE |
| CRITICAL⚡ | …end/test/controllers/AuthenticationControllerTest.java | 432 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/datahub")) | CODE |
| CRITICAL⚡ | …end/test/controllers/AuthenticationControllerTest.java | 435 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.addBasePath("/logOut", "/datahub")) | CODE |
| CRITICAL⚡ | …end/test/controllers/AuthenticationControllerTest.java | 439 | () -> com.linkedin.metadata.utils.BasePathUtils.addBasePath(anyString(), anyString())) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 487 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/api/v2")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 491 | () -> com.linkedin.metadata.utils.BasePathUtils.addBasePath(anyString(), anyString())) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 538 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/datahub")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 542 | () -> com.linkedin.metadata.utils.BasePathUtils.addBasePath(anyString(), anyString())) | CODE |
| CRITICAL⚡ | …end/test/controllers/AuthenticationControllerTest.java | 588 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/api/v2")) | CODE |
| CRITICAL⚡ | …end/test/controllers/AuthenticationControllerTest.java | 592 | () -> com.linkedin.metadata.utils.BasePathUtils.addBasePath("/dashboard", "/api/v2")) | CODE |
| CRITICAL⚡ | …end/test/controllers/AuthenticationControllerTest.java | 595 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.addBasePath("/", "/api/v2")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 643 | .when(() -> com.linkedin.metadata.utils.BasePathUtils.normalizeBasePath("/datahub")) | CODE |
| CRITICAL | …end/test/controllers/AuthenticationControllerTest.java | 647 | () -> com.linkedin.metadata.utils.BasePathUtils.addBasePath(anyString(), anyString())) | CODE |
| CRITICAL | …in/metadata/models/RelationshipEdgeUniquenessTest.java | 154 | new com.linkedin.metadata.models.annotation.AspectAnnotation( | CODE |
| CRITICAL | …data/models/EntitySpecBuilderSearchIndexGroupTest.java | 105 | new com.linkedin.metadata.models.annotation.AspectAnnotation(name, false, false, null, 1L), | CODE |
| CRITICAL | …com/linkedin/metadata/models/ConfigEntitySpecTest.java | 122 | new com.linkedin.metadata.models.annotation.AspectAnnotation(name, false, false, null, 1L), | CODE |
| CRITICAL | …va/com/linkedin/metadata/aspect/models/graph/Edge.java | 151 | com.linkedin.metadata.query.filter.SortOrder.valueOf( | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 164 | new com.linkedin.datahub.graphql.types.application.ApplicationType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 171 | new com.linkedin.datahub.graphql.types.api.ApiType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 178 | new com.linkedin.datahub.graphql.types.assertion.AssertionType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 185 | new com.linkedin.datahub.graphql.types.auth.AccessTokenMetadataType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 192 | new com.linkedin.datahub.graphql.types.businessattribute.BusinessAttributeType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 199 | new com.linkedin.datahub.graphql.types.chart.ChartType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 206 | new com.linkedin.datahub.graphql.types.connection.DataHubConnectionType( | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 214 | new com.linkedin.datahub.graphql.types.container.ContainerType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 221 | new com.linkedin.datahub.graphql.types.corpgroup.CorpGroupType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 228 | new com.linkedin.datahub.graphql.types.corpuser.CorpUserType(c, flags) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 235 | new com.linkedin.datahub.graphql.types.dashboard.DashboardType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 242 | new com.linkedin.datahub.graphql.types.datacontract.DataContractType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 249 | new com.linkedin.datahub.graphql.types.dataflow.DataFlowType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 256 | new com.linkedin.datahub.graphql.types.datajob.DataJobType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 265 | new com.linkedin.datahub.graphql.types.dataplatform.DataPlatformType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 282 | new com.linkedin.datahub.graphql.types.dataprocessinst.DataProcessInstanceType( | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 290 | new com.linkedin.datahub.graphql.types.dataproduct.DataProductType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 297 | new com.linkedin.datahub.graphql.types.dataset.DatasetType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 306 | new com.linkedin.datahub.graphql.types.dataset.VersionedDatasetType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 319 | new com.linkedin.datahub.graphql.types.datatype.DataTypeType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 326 | new com.linkedin.datahub.graphql.types.domain.DomainType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 333 | new com.linkedin.datahub.graphql.types.entitytype.EntityTypeType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 340 | new com.linkedin.datahub.graphql.types.ermodelrelationship.ERModelRelationshipType( | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 348 | new com.linkedin.datahub.graphql.types.file.DataHubFileType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 355 | new com.linkedin.datahub.graphql.types.form.FormType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 362 | new com.linkedin.datahub.graphql.types.glossary.GlossaryNodeType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 369 | new com.linkedin.datahub.graphql.types.glossary.GlossaryTermType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 376 | new com.linkedin.datahub.graphql.types.incident.IncidentType(c) | CODE |
| CRITICAL⚡ | …tahub/graphql/MapperReadsCoveredByAnnotationsTest.java | 383 | new com.linkedin.datahub.graphql.types.ingestion.ExecutionRequestType(c) | CODE |
| 519 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 75 | except Exception: | CODE |
| LOW | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 304 | except Exception as e: | CODE |
| LOW | perf-test/authz-perf/run.py | 456 | except Exception as exc: | CODE |
| LOW | perf-test/authz-perf/executor.py | 268 | except Exception as exc: | CODE |
| LOW | perf-test/authz-perf/lib/credentials.py | 76 | except Exception: | CODE |
| LOW | datahub-agent-context/examples/langchain/basic_agent.py | 239 | except Exception as e: | CODE |
| LOW | …tahub-agent-context/examples/google_adk/basic_agent.py | 238 | except Exception as e: | CODE |
| LOW | …ontext/src/datahub_agent_context/_registration_core.py | 216 | except Exception as exc: | CODE |
| LOW | …ontext/src/datahub_agent_context/_registration_core.py | 298 | except Exception as exc: | CODE |
| LOW | …ontext/src/datahub_agent_context/_registration_core.py | 377 | except Exception as exc: | CODE |
| LOW | …hub_agent_context/google_adk_registration/decorator.py | 35 | except Exception: | CODE |
| LOW | …hub_agent_context/google_adk_registration/decorator.py | 54 | except Exception: | CODE |
| LOW | …hub_agent_context/google_adk_registration/decorator.py | 60 | except Exception: | CODE |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 66 | except Exception: | CODE |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 89 | except Exception: | CODE |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 175 | except Exception as exc: | CODE |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 193 | except Exception as exc: | CODE |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 198 | except Exception as exc: | CODE |
| LOW⚡ | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 286 | except Exception as e: | CODE |
| LOW⚡ | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 295 | except Exception as e: | CODE |
| LOW | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 659 | except Exception as e: | CODE |
| LOW | …hub_agent_context/snowflake/udfs/add_glossary_terms.py | 44 | except Exception as e: | CODE |
| LOW | …agent_context/snowflake/udfs/get_dataset_assertions.py | 56 | except Exception as e: | CODE |
| LOW | …_agent_context/snowflake/udfs/remove_glossary_terms.py | 40 | except Exception as e: | CODE |
| LOW | …c/datahub_agent_context/snowflake/udfs/get_entities.py | 34 | except Exception as e: | CODE |
| LOW | …t/src/datahub_agent_context/snowflake/udfs/add_tags.py | 44 | except Exception as e: | CODE |
| LOW | …context/snowflake/udfs/remove_structured_properties.py | 40 | except Exception as e: | CODE |
| LOW | …rc/datahub_agent_context/snowflake/udfs/remove_tags.py | 40 | except Exception as e: | CODE |
| LOW | …nt_context/snowflake/udfs/get_lineage_paths_between.py | 49 | except Exception as e: | CODE |
| LOW | …rc/datahub_agent_context/snowflake/udfs/get_lineage.py | 41 | except Exception as e: | CODE |
| LOW | …nt_context/snowflake/udfs/add_structured_properties.py | 41 | except Exception as e: | CODE |
| LOW | …datahub_agent_context/snowflake/udfs/search_datahub.py | 56 | except Exception as e: | CODE |
| LOW | …hub_agent_context/snowflake/udfs/update_description.py | 42 | except Exception as e: | CODE |
| LOW | …tahub_agent_context/snowflake/udfs/get_datahub_chat.py | 41 | except Exception as e: | CODE |
| LOW | …tahub_agent_context/snowflake/udfs/ask_datahub_chat.py | 38 | except Exception as e: | CODE |
| LOW | …rc/datahub_agent_context/snowflake/udfs/set_domains.py | 39 | except Exception as e: | CODE |
| LOW | …src/datahub_agent_context/snowflake/udfs/add_owners.py | 42 | except Exception as e: | CODE |
| LOW | …datahub_agent_context/snowflake/udfs/remove_domains.py | 32 | except Exception as e: | CODE |
| LOW | …/datahub_agent_context/snowflake/udfs/remove_owners.py | 39 | except Exception as e: | CODE |
| LOW | …ub_agent_context/snowflake/udfs/get_dataset_queries.py | 49 | except Exception as e: | CODE |
| LOW | …datahub_agent_context/snowflake/udfs/grep_documents.py | 50 | except Exception as e: | CODE |
| LOW | …tahub_agent_context/snowflake/udfs/search_documents.py | 50 | except Exception as e: | CODE |
| LOW | …hub_agent_context/snowflake/udfs/list_schema_fields.py | 62 | except Exception as e: | CODE |
| LOW | …ext/src/datahub_agent_context/snowflake/udfs/get_me.py | 38 | except Exception as e: | CODE |
| LOW | …atahub_agent_context/langchain_registration/handler.py | 34 | except Exception: | CODE |
| LOW | …atahub_agent_context/langchain_registration/handler.py | 37 | except Exception: | CODE |
| LOW | …atahub_agent_context/langchain_registration/handler.py | 126 | except Exception as exc: | CODE |
| LOW | …ahub_agent_context/langchain_registration/decorator.py | 43 | except Exception: | CODE |
| LOW | …ahub_agent_context/langchain_registration/decorator.py | 60 | except Exception: | CODE |
| LOW | …ahub_agent_context/langchain_registration/decorator.py | 67 | except Exception: | CODE |
| LOW | …t-context/src/datahub_agent_context/mcp_tools/terms.py | 67 | except Exception as e: | STRING |
| LOW | …t-context/src/datahub_agent_context/mcp_tools/terms.py | 156 | except Exception as e: | STRING |
| LOW | …nt-context/src/datahub_agent_context/mcp_tools/tags.py | 68 | except Exception as e: | STRING |
| LOW | …nt-context/src/datahub_agent_context/mcp_tools/tags.py | 157 | except Exception as e: | STRING |
| LOW | …ext/src/datahub_agent_context/mcp_tools/ask_datahub.py | 180 | except Exception as e: | CODE |
| LOW | …ext/src/datahub_agent_context/mcp_tools/ask_datahub.py | 309 | except Exception as e: | CODE |
| LOW | …tahub_agent_context/mcp_tools/structured_properties.py | 77 | except Exception as e: | STRING |
| LOW | …tahub_agent_context/mcp_tools/structured_properties.py | 143 | except Exception as e: | STRING |
| LOW | …tahub_agent_context/mcp_tools/structured_properties.py | 320 | except Exception as e: | STRING |
| LOW | …tahub_agent_context/mcp_tools/structured_properties.py | 432 | except Exception as e: | STRING |
| 2165 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/quickstart/docker-compose.quickstart-profile.yml | 1 | # This file is generated as part of build process. If any build changes cause this file to be modified, please check in | COMMENT |
| MEDIUM | docker/quickstart/quickstart_version_mapping.yaml | 1 | # This file is used by the CLI to map quickstart version "labels" to docker tags and git refs. | COMMENT |
| MEDIUM | …ent-context/tests/unit/mcp_tools/test_save_document.py | 288 | # Create a mock document that is NOT in the agent hierarchy | COMMENT |
| MEDIUM | …t/src/datahub_agent_context/mcp_tools/save_document.py | 313 | # Create the document | COMMENT |
| MEDIUM | …t/src/datahub_agent_context/mcp_tools/save_document.py | 611 | # Create the document | COMMENT |
| MEDIUM | …ceberg-catalog/src/integrationTest/integration_test.py | 59 | # Create a Spark session | STRING |
| MEDIUM | …gin/source/acryl/test_datahub_cloud_events_consumer.py | 204 | dummy_response = Response() # Create a dummy Response object | CODE |
| MEDIUM | …plugin/source/acryl/test_datahub_cloud_event_source.py | 422 | # Create a realistic MCL event based on the documented format | COMMENT |
| MEDIUM | …plugin/source/acryl/test_datahub_cloud_event_source.py | 508 | # Create a realistic MCL event based on documented format | COMMENT |
| MEDIUM | …yl/test_datahub_cloud_events_consumer_offsets_store.py | 116 | # Create a mock PlatformResourceInfoClass that includes our serialized state | COMMENT |
| MEDIUM | datahub-actions/tests/unit/utils/test_kafka_msk_iam.py | 23 | # Create a minimal fake module matching the direct import path | COMMENT |
| MEDIUM | …in/action/metadata_change_sync/metadata_change_sync.py | 171 | # Create an emitter to DataHub over REST | COMMENT |
| MEDIUM | smoke-test/tests/e2e/test_system_info.py | 297 | # Create a limited-privilege user (no special privileges by default) | COMMENT |
| MEDIUM⚡ | smoke-test/tests/e2e/test_authentication_e2e.py | 360 | # Create a limited-privilege user for testing | COMMENT |
| MEDIUM | smoke-test/tests/e2e/test_e2e.py | 1221 | # Creating the same user again fails | COMMENT |
| MEDIUM⚡ | …st/tests/e2e/service_accounts/test_service_accounts.py | 594 | # Create a service account with a unique display name | COMMENT |
| MEDIUM⚡ | …st/tests/e2e/service_accounts/test_service_accounts.py | 597 | # Create the service account | COMMENT |
| MEDIUM | …test/tests/e2e/cli/dataset_cmd/test_dataset_command.py | 102 | # Create a dataset YAML file | COMMENT |
| MEDIUM | …test/tests/e2e/cli/dataset_cmd/test_dataset_command.py | 156 | # Create a minimal dataset YAML as a starting point | COMMENT |
| MEDIUM⚡ | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 60 | # Create a test event with a unique identifier | COMMENT |
| MEDIUM | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 239 | # Create a Kafka consumer for DUE events BEFORE sending the event | COMMENT |
| MEDIUM⚡ | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 375 | # Create a test event with a unique identifier | COMMENT |
| MEDIUM⚡ | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 380 | # Create a test event that mimics a real PageViewEvent | COMMENT |
| MEDIUM | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 425 | # Create a query to find our test event by the unique browserId and customField | COMMENT |
| MEDIUM | smoke-test/tests/e2e/privileges/test_privileges.py | 71 | # Create a new user | COMMENT |
| MEDIUM | smoke-test/tests/e2e/privileges/test_privileges.py | 231 | # Create a secret | COMMENT |
| MEDIUM | smoke-test/tests/e2e/privileges/test_privileges.py | 395 | # Create a access token | COMMENT |
| MEDIUM | smoke-test/tests/e2e/privileges/test_privileges.py | 507 | # Create a policy | COMMENT |
| MEDIUM | smoke-test/tests/e2e/privileges/test_privileges.py | 596 | # Create a secret | COMMENT |
| MEDIUM | smoke-test/tests/e2e/privileges/utils.py | 294 | # Create a new user using the invite token | COMMENT |
| MEDIUM | …2e/structured_properties/test_structured_properties.py | 641 | # Create a test structured property | COMMENT |
| MEDIUM | smoke-test/tests/e2e/patch/test_datajob_patches.py | 175 | # Create the data job | COMMENT |
| MEDIUM | …st/tests/e2e/knowledge/document_change_history_test.py | 59 | # Create a document | COMMENT |
| MEDIUM | …st/tests/e2e/knowledge/document_change_history_test.py | 184 | # Create a document | COMMENT |
| MEDIUM | …st/tests/e2e/knowledge/document_change_history_test.py | 260 | # Create a document | COMMENT |
| MEDIUM | smoke-test/tests/e2e/lineage/test_lineage.py | 845 | # Create an emitter to the GMS REST API. | COMMENT |
| MEDIUM⚡ | …ke-test/tests/e2e/semantic/test_event_mode_fallback.py | 544 | # Create a new document to trigger an event | COMMENT |
| MEDIUM | …/tests/e2e/managed_ingestion/managed_ingestion_test.py | 608 | # Create a request to execute the ingestion source | COMMENT |
| MEDIUM | …esources/analytics_backfill/generate_glossary_terms.py | 93 | # Create a URL-friendly term ID | COMMENT |
| MEDIUM | …st_resources/actions/datasets_for_cycles_template.yaml | 1 | # This file is used to define a dataset and provide metadata for it | COMMENT |
| MEDIUM | …oke-test/test_resources/actions/datasets_template.yaml | 1 | # This file is used to define a dataset and provide metadata for it | COMMENT |
| MEDIUM⚡ | …irflow-plugin/tests/unit/test_airflow_asset_adapter.py | 57 | # Create a real Asset-named class with uri | COMMENT |
| MEDIUM⚡ | …irflow-plugin/tests/unit/test_airflow_asset_adapter.py | 66 | # Create a real Dataset-named class with uri | COMMENT |
| MEDIUM | …n/java/acryl-spark-lineage/scripts/generate-patches.sh | 64 | # Create a note file indicating this is a DataHub-specific addition | COMMENT |
| MEDIUM | scripts/dev/tests/test_datahub_dev.py | 166 | # Create a stale env file + sentinel for a branch that doesn't exist | COMMENT |
| MEDIUM | .github/workflows/metadata-ingestion.yml | 432 | # Create a fresh venv for this plugin | COMMENT |
| MEDIUM | .github/scripts/dep-analyzer.py | 305 | # Create a fake module context | COMMENT |
| MEDIUM | metadata-ingestion/pyproject.toml | 3 | # This file is generated from setup.py by: | COMMENT |
| MEDIUM | …tadata-ingestion/tests/unit/test_thoughtspot_source.py | 2517 | # Create a visualization with full metadata | COMMENT |
| MEDIUM | …tadata-ingestion/tests/unit/test_thoughtspot_source.py | 2642 | # Create a liveboard with visualizations | COMMENT |
| MEDIUM | …tadata-ingestion/tests/unit/test_thoughtspot_source.py | 4432 | # Create a worksheet/table model | STRING |
| MEDIUM⚡ | metadata-ingestion/tests/unit/test_gc.py | 213 | # Create a report | COMMENT |
| MEDIUM⚡ | metadata-ingestion/tests/unit/test_gc.py | 216 | # Create the test instance | COMMENT |
| MEDIUM⚡ | metadata-ingestion/tests/unit/test_gc.py | 224 | # Create a sample URN | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/test_gc.py | 200 | # Create a default config | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/test_gc.py | 620 | # Create a default config | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/test_gc.py | 631 | # Create a report | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/test_gc.py | 634 | # Create the test instance | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/test_gc.py | 754 | # Define a side effect function that simulates the behavior of _process_futures | COMMENT |
| MEDIUM⚡ | …ta-ingestion/tests/unit/test_masking_error_recovery.py | 224 | # Create a stream without flush | COMMENT |
| 395 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ontext/src/datahub_agent_context/_registration_core.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 27 | __all__ = [ | CODE |
| LOW | datahub-agent-context/src/datahub_agent_context/cli.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | …src/datahub_agent_context/google_adk_tools/__init__.py | 11 | __all__ = ["build_google_adk_tools", "build_google_adk_cloud_tools"] | CODE |
| LOW⚡ | …hub_agent_context/google_adk_registration/decorator.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …hub_agent_context/google_adk_registration/decorator.py | 15 | __all__ = ["datahub_tool", "register_google_adk_agent"] | CODE |
| LOW | …ahub_agent_context/google_adk_registration/__init__.py | 11 | __all__ = ["DataHubBeforeModelCallback", "datahub_tool", "register_google_adk_agent"] | CODE |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/src/datahub_agent_context/langchain_tools/__init__.py | 11 | __all__ = ["build_langchain_tools", "build_langchain_cloud_tools"] | CODE |
| LOW | …t/src/datahub_agent_context/snowflake/generate_udfs.py | 71 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …datahub_agent_context/snowflake/generators/__init__.py | 16 | __all__ = [ | CODE |
| LOW | …atahub_agent_context/langchain_registration/handler.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ahub_agent_context/langchain_registration/decorator.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ahub_agent_context/langchain_registration/decorator.py | 15 | __all__ = ["datahub_tool", "register_langchain_agent"] | CODE |
| LOW | …tahub_agent_context/langchain_registration/__init__.py | 9 | __all__ = ["DataHubCallbackHandler", "datahub_tool", "register_langchain_agent"] | CODE |
| LOW | …rc/datahub_agent_context/mcp_tools/_token_estimator.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | …t-context/src/datahub_agent_context/mcp_tools/terms.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nt-context/src/datahub_agent_context/mcp_tools/tags.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ext/src/datahub_agent_context/mcp_tools/ask_datahub.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tahub_agent_context/mcp_tools/structured_properties.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-context/src/datahub_agent_context/mcp_tools/owners.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ntext/src/datahub_agent_context/mcp_tools/documents.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | …context/src/datahub_agent_context/mcp_tools/domains.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ontext/src/datahub_agent_context/mcp_tools/__init__.py | 36 | __all__ = [ | CODE |
| LOW | …text/src/datahub_agent_context/mcp_tools/assertions.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | …context/src/datahub_agent_context/mcp_tools/queries.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-context/src/datahub_agent_context/mcp_tools/search.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ontext/src/datahub_agent_context/mcp_tools/entities.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | …context/src/datahub_agent_context/mcp_tools/lineage.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | …context/src/datahub_agent_context/mcp_tools/helpers.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ntext/src/datahub_agent_context/mcp_tools/incidents.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nt-context/src/datahub_agent_context/mcp_tools/base.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …xt/src/datahub_agent_context/mcp_tools/descriptions.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-context/src/datahub_agent_context/mcp_tools/get_me.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …t/src/datahub_agent_context/mcp_tools/save_document.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | datahub-actions/src/datahub_actions/entrypoints.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-actions/src/datahub_actions/pipeline/pipeline_util.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tahub-actions/src/datahub_actions/pipeline/pipeline.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tions/src/datahub_actions/pipeline/pipeline_manager.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | …hub-actions/src/datahub_actions/source/event_source.py | 60 | def set_filters(self, filters: List["Filter"]) -> None: | CODE |
| LOW | …actions/plugin/source/pgqueue/pg_queue_event_source.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ahub_actions/plugin/source/kafka/kafka_event_source.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ahub_actions/plugin/source/kafka/kafka_event_source.py | 351 | def set_filters(self, filters: List[Filter]) -> None: | CODE |
| LOW | …tions/src/datahub_actions/plugin/source/kafka/utils.py | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/plugin/source/acryl/datahub_cloud_events_consumer.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …ions/plugin/source/acryl/datahub_cloud_event_source.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | …lugin/source/acryl/datahub_cloud_events_ack_manager.py | 4 | logger = logging.getLogger(__name__) | CODE |
| LOW | …e/acryl/datahub_cloud_events_consumer_offsets_store.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tahub_actions/plugin/action/hello_world/hello_world.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | …_actions/plugin/action/term/term_propagation_action.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | …c/datahub_actions/plugin/action/utils/term_resolver.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ahub_actions/plugin/action/snowflake/tag_propagator.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | …hub_actions/plugin/action/execution/executor_action.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tions/src/datahub_actions/plugin/action/teams/teams.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tions/src/datahub_actions/plugin/action/slack/slack.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | …in/action/metadata_change_sync/metadata_change_sync.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ub_actions/plugin/action/tag/tag_propagation_action.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | …src/datahub_actions/plugin/filter/event_type_filter.py | 27 | logger = logging.getLogger(__name__) | CODE |
| 1007 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 97 | CODE | |
| LOW | perf-test/authz-perf/run.py | 347 | CODE | |
| LOW | perf-test/authz-perf/executor.py | 233 | CODE | |
| LOW | …gent-context/tests/unit/snowflake/test_udf_coverage.py | 379 | CODE | |
| LOW | …tahub-agent-context/examples/google_adk/basic_agent.py | 115 | CODE | |
| LOW | …atahub_agent_context/google_adk_registration/plugin.py | 166 | CODE | |
| LOW | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 248 | CODE | |
| LOW | …atahub_agent_context/langchain_registration/handler.py | 23 | CODE | |
| LOW | …rc/datahub_agent_context/mcp_tools/_token_estimator.py | 17 | CODE | |
| LOW | …rc/datahub_agent_context/mcp_tools/_token_estimator.py | 35 | CODE | |
| LOW | …ext/src/datahub_agent_context/mcp_tools/ask_datahub.py | 220 | CODE | |
| LOW | …tahub_agent_context/mcp_tools/structured_properties.py | 83 | CODE | |
| LOW | …ntext/src/datahub_agent_context/mcp_tools/documents.py | 515 | CODE | |
| LOW | …text/src/datahub_agent_context/mcp_tools/assertions.py | 219 | CODE | |
| LOW | …ontext/src/datahub_agent_context/mcp_tools/entities.py | 29 | CODE | |
| LOW | …context/src/datahub_agent_context/mcp_tools/lineage.py | 142 | CODE | |
| LOW | …context/src/datahub_agent_context/mcp_tools/lineage.py | 324 | CODE | |
| LOW | …context/src/datahub_agent_context/mcp_tools/helpers.py | 91 | CODE | |
| LOW | …context/src/datahub_agent_context/mcp_tools/helpers.py | 237 | CODE | |
| LOW | …context/src/datahub_agent_context/mcp_tools/helpers.py | 366 | CODE | |
| LOW | …nt-context/src/datahub_agent_context/mcp_tools/base.py | 23 | CODE | |
| LOW | …xt/src/datahub_agent_context/mcp_tools/descriptions.py | 12 | CODE | |
| LOW | …t/src/datahub_agent_context/mcp_tools/save_document.py | 160 | CODE | |
| LOW | …gin/source/acryl/test_datahub_cloud_events_consumer.py | 514 | CODE | |
| LOW | …gin/source/acryl/test_datahub_cloud_events_consumer.py | 606 | CODE | |
| LOW | …ons/tests/unit/observability/test_kafka_lag_monitor.py | 309 | CODE | |
| LOW | …ons/tests/unit/observability/test_kafka_lag_monitor.py | 319 | CODE | |
| LOW | …actions/plugin/source/pgqueue/pg_queue_event_source.py | 139 | CODE | |
| LOW | …ahub_actions/plugin/source/kafka/kafka_event_source.py | 517 | CODE | |
| LOW | …ahub_actions/plugin/source/kafka/kafka_event_source.py | 568 | CODE | |
| LOW | …ions/plugin/source/acryl/datahub_cloud_event_source.py | 182 | CODE | |
| LOW | …_actions/plugin/action/term/term_propagation_action.py | 82 | CODE | |
| LOW | …_actions/plugin/action/term/term_propagation_action.py | 128 | CODE | |
| LOW | …hub_actions/plugin/action/execution/executor_action.py | 94 | CODE | |
| LOW | …actions/plugin/action/propagation/propagation_utils.py | 258 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 188 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 229 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 347 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 405 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 493 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 670 | CODE | |
| LOW | …s/plugin/action/propagation/docs/propagation_action.py | 745 | CODE | |
| LOW | …ub_actions/plugin/action/tag/tag_propagation_action.py | 93 | CODE | |
| LOW | …tions/src/datahub_actions/utils/delta_extractor_mcl.py | 37 | CODE | |
| LOW | smoke-test/tests/unit/zdu/test_cleanup.py | 267 | CODE | |
| LOW | smoke-test/tests/zdu/framework/docker_compose.py | 268 | CODE | |
| LOW | smoke-test/tests/zdu/framework/log_monitor.py | 178 | CODE | |
| LOW | smoke-test/tests/zdu/framework/log_monitor.py | 282 | CODE | |
| LOW | …oke-test/tests/zdu/framework/phases/rolling_restart.py | 210 | CODE | |
| LOW | …oke-test/tests/zdu/framework/phases/rolling_restart.py | 246 | CODE | |
| LOW | …ke-test/tests/zdu/framework/phases/upgrade_blocking.py | 162 | CODE | |
| LOW | …e-test/tests/zdu/framework/phases/kill_switch_sweep.py | 355 | CODE | |
| LOW | smoke-test/tests/zdu/framework/phases/cleanup.py | 188 | CODE | |
| LOW | …e-test/tests/zdu/framework/phases/prepare_old_stack.py | 218 | CODE | |
| LOW | …e-test/tests/zdu/framework/phases/nuke_and_redeploy.py | 311 | CODE | |
| LOW | …test/tests/zdu/framework/phases/upgrade_nonblocking.py | 171 | CODE | |
| LOW | …test/tests/zdu/framework/phases/upgrade_nonblocking.py | 281 | CODE | |
| LOW | smoke-test/tests/e2e/conftest.py | 319 | CODE | |
| LOW | smoke-test/tests/e2e/test_system_info.py | 159 | CODE | |
| LOW | smoke-test/tests/e2e/utils.py | 512 | CODE | |
| 1157 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/snippets/ingestion/bundled_venv_config.py | 21 | CODE | |
| LOW | docker/snippets/uv/validate_netrc.py | 12 | CODE | |
| LOW | perf-test/authz-perf/run.py | 2 | CODE | |
| LOW | perf-test/authz-perf/compare.py | 2 | CODE | |
| LOW | perf-test/authz-perf/executor.py | 1 | CODE | |
| LOW | perf-test/authz-perf/scripts/extract_query_specs.py | 3 | CODE | |
| LOW | perf-test/authz-perf/lib/personas.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/graphql.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/graphql.py | 9 | CODE | |
| LOW | perf-test/authz-perf/lib/targets.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/metadata.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/variants.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/query_spec.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/paths.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/results.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/credentials.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/session.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/system_info.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/graphql_adapt.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/query_build.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/persona_password_seed.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/orchestration.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/persona_credentials.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/gms_config.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/expectations.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/stats.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/datapack.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/init.py | 1 | CODE | |
| LOW | perf-test/authz-perf/lib/output_paths.py | 1 | CODE | |
| LOW | datahub-agent-context/tests/unit/fake_emitter.py | 3 | CODE | |
| LOW | …text/tests/unit/google_adk_registration/test_plugin.py | 1 | CODE | |
| LOW | …text/tests/unit/langchain_registration/test_handler.py | 1 | CODE | |
| LOW | …agent-context/examples/langchain/autoregister_agent.py | 20 | CODE | |
| LOW | …context/examples/google_adk/autoregister_google_adk.py | 17 | CODE | |
| LOW | …ontext/src/datahub_agent_context/_registration_core.py | 18 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 17 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 18 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 18 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 18 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 18 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 18 | CODE | |
| LOW | …ub-agent-context/src/datahub_agent_context/__init__.py | 25 | CODE | |
| LOW | …hub-agent-context/src/datahub_agent_context/context.py | 11 | CODE | |
| LOW | …hub-agent-context/src/datahub_agent_context/context.py | 12 | CODE | |
| LOW | …tahub-agent-context/src/datahub_agent_context/utils.py | 11 | CODE | |
| LOW | …src/datahub_agent_context/google_adk_tools/__init__.py | 6 | CODE | |
| LOW | …src/datahub_agent_context/google_adk_tools/__init__.py | 6 | CODE | |
| LOW | …/src/datahub_agent_context/google_adk_tools/builder.py | 20 | CODE | |
| LOW | …hub_agent_context/google_adk_registration/decorator.py | 1 | CODE | |
| LOW | …hub_agent_context/google_adk_registration/decorator.py | 7 | CODE | |
| LOW | …ahub_agent_context/google_adk_registration/__init__.py | 1 | CODE | |
| LOW | …ahub_agent_context/google_adk_registration/__init__.py | 3 | CODE | |
| LOW | …ahub_agent_context/google_adk_registration/__init__.py | 3 | CODE | |
| LOW | …ahub_agent_context/google_adk_registration/__init__.py | 7 | CODE | |
| LOW | …/src/datahub_agent_context/langchain_tools/__init__.py | 6 | CODE | |
| LOW | …/src/datahub_agent_context/langchain_tools/__init__.py | 6 | CODE | |
| LOW | …t/src/datahub_agent_context/langchain_tools/builder.py | 20 | CODE | |
| LOW | …datahub_agent_context/snowflake/generators/__init__.py | 3 | CODE | |
| LOW | …datahub_agent_context/snowflake/generators/__init__.py | 6 | CODE | |
| LOW | …datahub_agent_context/snowflake/generators/__init__.py | 9 | CODE | |
| 842 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 22 | Extract domain from DataHub URL for network rules. Args: datahub_url: DataHub instance URL (e.g., https://e | STRING |
| HIGH | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 311 | Auto-detect Snowflake connection parameters from an active connection. Args: connection: Active Snowflake c | STRING |
| HIGH | …hub_agent_context/snowflake/udfs/add_glossary_terms.py | 7 | Generate ADD_GLOSSARY_TERMS UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.add_glo | STRING |
| HIGH | …agent_context/snowflake/udfs/get_dataset_assertions.py | 7 | Generate GET_DATASET_ASSERTIONS UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.get | STRING |
| HIGH | …t/src/datahub_agent_context/snowflake/udfs/add_tags.py | 7 | Generate ADD_TAGS UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.add_tags() to add | STRING |
| HIGH | …nt_context/snowflake/udfs/get_lineage_paths_between.py | 7 | Generate GET_LINEAGE_PATHS_BETWEEN UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools. | STRING |
| HIGH | …datahub_agent_context/snowflake/udfs/search_datahub.py | 7 | Generate SEARCH_DATAHUB UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.search() to | STRING |
| HIGH | …hub_agent_context/snowflake/udfs/update_description.py | 7 | Generate UPDATE_DESCRIPTION UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.update_ | STRING |
| HIGH | …tahub_agent_context/snowflake/udfs/get_datahub_chat.py | 7 | Generate GET_DATAHUB_CHAT UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.get_datah | STRING |
| HIGH | …tahub_agent_context/snowflake/udfs/ask_datahub_chat.py | 7 | Generate ASK_DATAHUB_CHAT UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.ask_datah | STRING |
| HIGH | …ub_agent_context/snowflake/udfs/get_dataset_queries.py | 7 | Generate GET_DATASET_QUERIES UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.get_da | STRING |
| HIGH | …ntext/src/datahub_agent_context/snowflake/udfs/base.py | 12 | Generate the SQL CREATE FUNCTION statement for a Python UDF. Args: function_name: Name of the UDF to c | STRING |
| HIGH | …datahub_agent_context/snowflake/udfs/grep_documents.py | 7 | Generate GREP_DOCUMENTS UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.grep_docume | STRING |
| HIGH | …tahub_agent_context/snowflake/udfs/search_documents.py | 7 | Generate SEARCH_DOCUMENTS UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.search_do | STRING |
| HIGH | …hub_agent_context/snowflake/udfs/list_schema_fields.py | 7 | Generate LIST_SCHEMA_FIELDS UDF using datahub-agent-context. This UDF wraps datahub_agent_context.mcp_tools.list_sc | STRING |
| HIGH | …t-context/src/datahub_agent_context/mcp_tools/terms.py | 167 | Add one or more glossary terms (terms) to multiple DataHub entities or their columns (e.g., schema fields). This to | STRING |
| HIGH | …t-context/src/datahub_agent_context/mcp_tools/terms.py | 235 | Remove one or more glossary terms (terms) from multiple DataHub entities or their column_paths (e.g., schema fields). | STRING |
| HIGH | …nt-context/src/datahub_agent_context/mcp_tools/tags.py | 168 | Add one or more tags to multiple DataHub entities or their columns (e.g., schema fields). This tool allows you to t | STRING |
| HIGH | …nt-context/src/datahub_agent_context/mcp_tools/tags.py | 236 | Remove one or more tags from multiple DataHub entities or their column_paths (e.g., schema fields). This tool allow | STRING |
| HIGH | …ext/src/datahub_agent_context/mcp_tools/ask_datahub.py | 138 | Ask DataHub a question about your data catalog. Sends a question to the DataHub AI assistant, which can search the | STRING |
| HIGH | …tahub_agent_context/mcp_tools/structured_properties.py | 86 | Validate and convert a property value to the appropriate GraphQL format. Supports 5 data types: - datahub. | STRING |
| HIGH | …-context/src/datahub_agent_context/mcp_tools/owners.py | 205 | Add one or more owners to multiple DataHub entities. This tool allows you to assign multiple entities with multiple | STRING |
| HIGH | …-context/src/datahub_agent_context/mcp_tools/owners.py | 276 | Remove one or more owners from multiple DataHub entities. This tool allows you to unassign multiple entities from m | STRING |
| HIGH | …ntext/src/datahub_agent_context/mcp_tools/documents.py | 327 | Search for documents stored in the customer's DataHub deployment. These are the organization's own documents (runbo | STRING |
| HIGH | …ntext/src/datahub_agent_context/mcp_tools/documents.py | 522 | Search within document content using regex patterns. Similar to ripgrep/grep - finds matching excerpts within docum | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/domains.py | 66 | Set domain for multiple DataHub entities. This tool allows you to assign a domain to multiple entities in a single | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/domains.py | 166 | Remove domain assignment from multiple DataHub entities. This tool allows you to unset the domain for multiple enti | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/queries.py | 52 | Get SQL queries associated with a dataset or column to understand usage patterns. This tool retrieves actual SQL qu | STRING |
| HIGH | …-context/src/datahub_agent_context/mcp_tools/search.py | 39 | Search across DataHub entities using structured full-text search. Results are ordered by relevance and importance - | STRING |
| HIGH | …ontext/src/datahub_agent_context/mcp_tools/entities.py | 133 | List schema fields for a dataset, with optional keyword filtering and pagination. Useful when schema fields were tr | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/lineage.py | 55 | Get filter for lineage degree (hops). Args: max_hops: Maximum number of hops to search for lineage | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/lineage.py | 152 | Get upstream or downstream lineage for any entity. Set upstream to True for upstream lineage, False for downstream | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/lineage.py | 369 | Internal helper to find upstream lineage path. Always queries upstream lineage (more bounded than downstream). | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/lineage.py | 505 | Internal helper to find lineage path in a specific direction. Always queries upstream internally (more efficient), | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/lineage.py | 574 | Get detailed lineage path(s) between two specific entities or columns. Returns the paths array from searchAcrossLin | STRING |
| HIGH | …context/src/datahub_agent_context/mcp_tools/helpers.py | 139 | Convert a dataset URN to a schema field URN if column is provided. Args: urn: Dataset URN column: O | STRING |
| HIGH | …xt/src/datahub_agent_context/mcp_tools/descriptions.py | 141 | Update description for a DataHub entity or its column (e.g., schema field). This tool allows you to set, append to, | STRING |
| HIGH | datahub-actions/src/datahub_actions/cli/actions.py | 56 | Load a config file as raw YAML/JSON without variable expansion. Args: config_file: Path to the configu | STRING |
| HIGH | …n/src/datahub_airflow_plugin/_airflow_asset_adapter.py | 73 | Convert Airflow Asset URI to DataHub dataset URN. Args: asset: An Airflow Asset or Dataset object with a 'u | STRING |
| HIGH | .github/scripts/parse_failed_pytest_tests.py | 69 | Extract failed test module paths from pytest JUnit XML files. Args: input_dir: Directory containing ju | STRING |
| HIGH | metadata-ingestion/src/datahub/configuration/kafka.py | 26 | Resolve OAuth callback string paths to callable functions. This helper resolves the oauth_cb configuration par | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 64 | Adds an input data job to the DataJobPatchBuilder. Args: input: The input data job, which | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 120 | Sets the input data jobs for the DataJobPatchBuilder. Args: inputs: A list of Edge objects | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 145 | Adds an input dataset to the DataJobPatchBuilder. Args: input: The input dataset, which ca | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 201 | Sets the input datasets for the DataJobPatchBuilder. Args: inputs: A list of Edge objects | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 228 | Adds an output dataset to the DataJobPatchBuilder. Args: output: The output dataset, which | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 284 | Sets the output datasets for the DataJobPatchBuilder. Args: outputs: A list of Edge object | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 309 | Adds an input dataset field to the DataJobPatchBuilder. Args: input: The input dataset fie | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 354 | Sets the input dataset fields for the DataJobPatchBuilder. Args: inputs: A list of Edge ob | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 381 | Adds an output dataset field to the DataJobPatchBuilder. Args: output: The output dataset | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/datajob.py | 426 | Sets the output dataset fields for the DataJobPatchBuilder. Args: outputs: A list of Edge | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/chart.py | 52 | Adds an input to the ChartPatchBuilder. Args: input: The input, which can be an Edge objec | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/chart.py | 105 | Sets the input edges for the ChartPatchBuilder. Args: inputs: A list of Edge objects repre | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/dashboard.py | 53 | Adds an dataset to the DashboardPatchBuilder. Args: dataset: The dataset, which can be an | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/dashboard.py | 111 | Sets the dataset edges for the DashboardPatchBuilder. Args: datasets: A list of Edge objec | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/dashboard.py | 136 | Adds a chart edge to the DashboardPatchBuilder. Args: chart: The dataset, which can be an | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/dashboard.py | 194 | Sets the chart edges for the DashboardPatchBuilder. Args: charts: A list of Edge objects r | STRING |
| HIGH | metadata-ingestion/src/datahub/specific/dashboard.py | 279 | Adds an dashboard to the DashboardPatchBuilder. Args: dashboard: The dashboard, which can | STRING |
| HIGH | …-ingestion/src/datahub/ingestion/recording/db_proxy.py | 389 | Look up a recorded query result using multi-level matching. Matching strategy (in order of preference): | STRING |
| HIGH | …-ingestion/src/datahub/ingestion/recording/db_proxy.py | 433 | Find a recording using fuzzy string matching. This is a fallback for when exact and normalized matching fail. | STRING |
| 111 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | perf-test/authz-perf/lib/metadata.py | 55 | except subprocess.CalledProcessError: | CODE |
| HIGH | …hub_agent_context/google_adk_registration/decorator.py | 35 | except Exception: | CODE |
| HIGH | …hub_agent_context/google_adk_registration/decorator.py | 54 | except Exception: | CODE |
| HIGH | …hub_agent_context/google_adk_registration/decorator.py | 60 | except Exception: | CODE |
| HIGH | …atahub_agent_context/google_adk_registration/plugin.py | 66 | except Exception: | CODE |
| HIGH | …atahub_agent_context/langchain_registration/handler.py | 37 | except Exception: | CODE |
| HIGH | …ahub_agent_context/langchain_registration/decorator.py | 43 | except Exception: | CODE |
| HIGH | …ahub_agent_context/langchain_registration/decorator.py | 60 | except Exception: | CODE |
| HIGH | …ahub_agent_context/langchain_registration/decorator.py | 67 | except Exception: | CODE |
| HIGH | …t/src/datahub_agent_context/mcp_tools/save_document.py | 310 | except Exception: | CODE |
| HIGH | datahub-actions/tests/conftest.py | 24 | except ImportError: | CODE |
| HIGH | datahub-actions/tests/unit/pipeline/test_pipeline.py | 171 | except OSError: | CODE |
| HIGH | …gin/source/acryl/test_datahub_cloud_events_consumer.py | 595 | except KeyboardInterrupt: | CODE |
| HIGH | …gin/source/acryl/test_datahub_cloud_events_consumer.py | 671 | except KeyboardInterrupt: | CODE |
| HIGH | …tions/src/datahub_actions/utils/delta_extractor_mcl.py | 127 | except KeyError: | CODE |
| HIGH | …tahub-actions/src/datahub_actions/filter/match_util.py | 42 | except ValueError: | CODE |
| HIGH | smoke-test/tests/zdu/framework/log_monitor.py | 195 | except (IndexError, ValueError): | CODE |
| HIGH | smoke-test/tests/zdu/framework/log_monitor.py | 200 | except (IndexError, ValueError): | CODE |
| HIGH | smoke-test/tests/zdu/framework/datahub_client.py | 52 | except requests.RequestException: | CODE |
| HIGH | …ts/zdu/framework/phases/skip_already_migrated_sweep.py | 378 | except (OSError, ValueError): | CODE |
| HIGH | …e-test/tests/zdu/framework/phases/kill_switch_sweep.py | 512 | except (OSError, ValueError): | CODE |
| HIGH | …e-test/tests/zdu/framework/phases/kill_switch_sweep.py | 347 | except (TypeError, ValueError): | CODE |
| HIGH | …e-test/tests/zdu/framework/phases/kill_switch_sweep.py | 373 | except Exception: | CODE |
| HIGH | smoke-test/tests/zdu/framework/phases/cleanup.py | 202 | except (urllib.error.HTTPError, urllib.error.URLError): | CODE |
| HIGH | …e-test/tests/zdu/framework/phases/prepare_old_stack.py | 235 | except urllib.error.URLError: | CODE |
| HIGH | …e-test/tests/zdu/framework/phases/batch_delay_sweep.py | 368 | except (OSError, ValueError): | CODE |
| HIGH | …e-test/tests/zdu/framework/phases/nuke_and_redeploy.py | 324 | except (urllib.error.HTTPError, urllib.error.URLError): | CODE |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 209 | except Exception: | CODE |
| HIGH | smoke-test/tests/e2e/domains/domains_test.py | 250 | except Exception: | CODE |
| HIGH | …ests/e2e/entity_graph_cache/test_entity_graph_cache.py | 767 | except Exception: | CODE |
| HIGH | smoke-test/tests/e2e/lineage/test_lineage.py | 121 | except Exception: | CODE |
| HIGH | smoke-test/tests/e2e/analytics/conftest.py | 203 | except (ValueError, IndexError): | CODE |
| HIGH | …modules/gx-plugin/src/datahub_gx_plugin/_gx_version.py | 21 | except Exception: | CODE |
| HIGH | …tion-modules/gx-plugin/src/datahub_gx_plugin/common.py | 495 | except Exception: | CODE |
| HIGH | …ow-plugin/tests/integration/_airflow_gunicorn_patch.py | 20 | except ImportError: | CODE |
| HIGH | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 1253 | except ImportError: | CODE |
| HIGH | …src/datahub_airflow_plugin/airflow3/_airflow_compat.py | 88 | except ImportError: | CODE |
| HIGH | …src/datahub_airflow_plugin/airflow3/_airflow_compat.py | 98 | except ImportError: | CODE |
| HIGH | …src/datahub_airflow_plugin/airflow3/_airflow_compat.py | 108 | except ImportError: | CODE |
| HIGH | …src/datahub_airflow_plugin/airflow3/_airflow_compat.py | 118 | except ImportError: | CODE |
| HIGH | …agster_plugin/modules/storage/datahub_db_io_manager.py | 12 | except ImportError: | CODE |
| HIGH | …agster_plugin/modules/storage/datahub_db_io_manager.py | 19 | except ImportError: | CODE |
| HIGH | scripts/dev/datahub_dev.py | 723 | except json.JSONDecodeError: | CODE |
| HIGH | .github/scripts/dep-analyzer.py | 316 | except SystemExit: | CODE |
| HIGH | .github/scripts/check_gradle_lockfiles.py | 102 | except subprocess.CalledProcessError as _: | CODE |
| HIGH | metadata-ingestion/tests/conftest.py | 69 | except ImportError: | CODE |
| HIGH | metadata-ingestion/tests/unit/test_masking_filter.py | 545 | except TypeError: | CODE |
| HIGH | …ingestion/tests/unit/reporting/test_ingestion_stage.py | 26 | except ValueError: | CODE |
| HIGH | …gestion/tests/unit/ingestion/recording/test_patcher.py | 206 | except Exception: | CODE |
| HIGH | …tadata-ingestion/tests/unit/doris/test_doris_source.py | 31 | except Exception: | CODE |
| HIGH | …ngestion/tests/unit/snowflake/test_snowflake_source.py | 344 | except Exception: | CODE |
| HIGH | …ngestion/tests/unit/snowflake/test_snowflake_source.py | 365 | except Exception: | CODE |
| HIGH | …ngestion/tests/unit/snowflake/test_snowflake_source.py | 483 | except MissingQueryMock: | CODE |
| HIGH | metadata-ingestion/tests/unit/cli/test_oauth_cli.py | 424 | except Exception: | CODE |
| HIGH | metadata-ingestion/tests/unit/cli/test_oauth_cli.py | 545 | except Exception: | CODE |
| HIGH | …ion/tests/unit/utilities/test_graphql_query_adapter.py | 1362 | except FileNotFoundError: | CODE |
| HIGH | …/tests/unit/snowplow/test_standard_schema_processor.py | 369 | except Exception: | CODE |
| HIGH | metadata-ingestion/tests/unit/api/test_plugin_system.py | 168 | except KeyError: | CODE |
| HIGH | …estion/tests/unit/rdf/test_rdf_loader_comprehensive.py | 513 | except Exception: | CODE |
| HIGH | …estion/tests/unit/rdf/test_rdf_loader_comprehensive.py | 498 | except FileNotFoundError: | CODE |
| 109 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 126 | base_cmd = f"source {venv_path}/bin/activate && uv pip install --upgrade pip wheel setuptools --constraint {cons | CODE |
| HIGH⚡ | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 135 | install_cmd = f"source {venv_path}/bin/activate && uv pip install {datahub_package} --constraint {constraint | CODE |
| HIGH⚡ | …cker/snippets/ingestion/build_bundled_venvs_unified.py | 139 | f'source {venv_path}/bin/activate && uv pip install "{datahub_package}" ' | CODE |
| HIGH | …agent_context/snowflake/generators/stored_procedure.py | 47 | columns.push(rs.getColumnName(i)); | CODE |
| HIGH | …agent_context/snowflake/generators/stored_procedure.py | 59 | results.push(row); | CODE |
| HIGH⚡ | smoke-test/tests/unit/zdu/test_config.py | 23 | Running ``cd smoke-test && python -m tests.zdu.framework`` used to produce a | STRING |
| HIGH | smoke-test/tests/oauth/test_oauth_cli_gms.py | 7 | "pip install -e /repo/metadata-ingestion && pytest /smoke/test_oauth_cli_gms.py -v" | STRING |
| HIGH | smoke-test/tests/zdu/framework/phases/build_images.py | 11 | configured ref via ``git fetch && git reset --hard <ref>``. This keeps | STRING |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 322 | \"account_id\":null, | CODE |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 352 | \"account_id\":null, | CODE |
| HIGH | …st/tests/e2e/service_accounts/test_service_accounts.py | 232 | f"Expected defaultView to be null, got: {default_view}" | CODE |
| HIGH | …st/tests/e2e/library_examples/test_library_examples.py | 12 | Run with: cd smoke-test && source venv/bin/activate && pytest tests/e2e/library_examples/ -v | STRING |
| HIGH | smoke-test/tests/e2e/privileges/test_privileges.py | 274 | \"account_id\":null, | CODE |
| HIGH | smoke-test/tests/e2e/privileges/test_privileges.py | 314 | \"account_id\":null, | CODE |
| HIGH | …test/tests/e2e/authorization/test_aspect_write_auth.py | 97 | batchSetDataProduct(input: { dataProductUrn: null, resourceUrns: $resourceUrns }) | CODE |
| HIGH | …/tests/e2e/managed_ingestion/managed_ingestion_test.py | 516 | "recipe": '{"source":{"type":"mysql","config":{"include_tables":true,"database":null,"password":"${MYSQL | CODE |
| HIGH | …/tests/e2e/managed_ingestion/managed_ingestion_test.py | 557 | == '{"source":{"type":"mysql","config":{"include_tables":true,"database":null,"password":"${MYSQL_PASSWORD}","pr | CODE |
| HIGH | …/tests/e2e/managed_ingestion/managed_ingestion_test.py | 593 | "recipe": '{"source":{"type":"mysql","config":{"include_tables":true,"database":null,"password":"${MYSQL | CODE |
| HIGH | …/tests/e2e/managed_ingestion/managed_ingestion_test.py | 643 | '{"source":{"type":"mysql","config":{"include_tables":true,"database":null,"password":"${MYSQL_PASSWORD}","p | CODE |
| HIGH | python-build/generate_release_scripts.py | 71 | rm -rf build dist || true | CODE |
| HIGH | metadata-ingestion/tests/unit/test_superset_source.py | 1644 | # ``{"result": null}`` is an API contract violation, not an empty | COMMENT |
| HIGH | metadata-ingestion/tests/unit/test_superset_source.py | 2054 | # ``{"result": null}`` would crash callers that do | COMMENT |
| HIGH⚡ | …data-ingestion/tests/unit/test_unity_catalog_source.py | 2271 | " synonyms: ['valid', 123, '', ' ', null, ['nested']]\n" | CODE |
| HIGH⚡ | metadata-ingestion/tests/unit/test_cassandra_source.py | 48 | {"keyspace_name": "playground", "table_name": "people", "column_name": "birthday", "clustering_order": " | STRING |
| HIGH⚡ | metadata-ingestion/tests/unit/test_cassandra_source.py | 49 | {"keyspace_name": "playground", "table_name": "people", "column_name": "email", "clustering_order": "non | STRING |
| HIGH⚡ | metadata-ingestion/tests/unit/test_cassandra_source.py | 50 | {"keyspace_name": "playground", "table_name": "people", "column_name": "name", "clustering_order": "none | STRING |
| HIGH | …-ingestion/tests/unit/test_datahub_documents_source.py | 4831 | # Right length, every slot null, but a later batch resolves: the live | COMMENT |
| HIGH | metadata-ingestion/tests/unit/test_compare_metadata.py | 11 | "auditHeader": null, | STRING |
| HIGH | metadata-ingestion/tests/unit/test_compare_metadata.py | 59 | "auditHeader": null, | STRING |
| HIGH | metadata-ingestion/tests/unit/test_compare_metadata.py | 107 | "auditHeader": null, | STRING |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 187 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields" | CODE |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 198 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields":[{" | CODE |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 217 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields":[{"name | CODE |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 1135 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields" | STRING |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 1146 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields":[{" | STRING |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 1165 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields":[{"name | STRING |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 1245 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields" | STRING |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 1256 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields":[{" | STRING |
| HIGH | …ta-ingestion/tests/unit/glue/test_glue_source_stubs.py | 1273 | "avro.schema.literal": '{"type":"record","name":"flights_avro_subset","namespace":"default","fields":[{"name | STRING |
| HIGH | metadata-ingestion/tests/unit/dbt/test_dbt_source.py | 2316 | """When dbt serializes error_after as {"count": null, "period": null}, | STRING |
| HIGH | …/tests/unit/snowflake/test_snowflake_dynamic_tables.py | 286 | """INPUTS that parses to a non-list value (null, single object) doesn't crash | STRING |
| HIGH⚡ | …ata-ingestion/tests/unit/montecarlo/test_montecarlo.py | 2461 | # getMonitors must return a list; a non-list (e.g. null) is a contract | COMMENT |
| HIGH | metadata-ingestion/tests/unit/sigma/test_spec_parser.py | 679 | # No published Sigma document contains a null; absent keys are omitted. | COMMENT |
| HIGH⚡ | …tests/unit/utilities/test_sqlalchemy_type_converter.py | 119 | assert schema_fields[0].fieldPath == "[version=2.0].[type=null]" | CODE |
| HIGH⚡ | …tests/unit/utilities/test_sqlalchemy_type_converter.py | 125 | # multiple unrecognised columns collapse to the same "[version=2.0].[type=null]" | COMMENT |
| HIGH⚡ | …tests/unit/utilities/test_sqlalchemy_type_converter.py | 141 | assert fields_a[0].fieldPath == "[version=2.0].[type=null].col_a" | CODE |
| HIGH⚡ | …tests/unit/utilities/test_sqlalchemy_type_converter.py | 142 | assert fields_b[0].fieldPath == "[version=2.0].[type=null].col_b" | CODE |
| HIGH | …ion/tests/unit/utilities/test_graphql_query_adapter.py | 1303 | cache_path.write_text('{"data": null}') | CODE |
| HIGH | …stion/tests/unit/powerbi/test_databricks_navigation.py | 44 | """Databricks.Catalogs(<host>, <http path>, null) argument list.""" | STRING |
| HIGH⚡ | …ata-ingestion/tests/unit/powerbi/test_user_creation.py | 137 | When displayName is null, we fallback to user_id to avoid null values. | STRING |
| HIGH | …a-ingestion/tests/unit/powerbi/test_pattern_handler.py | 1096 | """InvokeExpression node for ``Value.NativeQuery(<source>, "<sql>", null, [...])`` | STRING |
| HIGH | …-ingestion/tests/unit/metabase/test_metabase_source.py | 1555 | """A virtual dashcard (card: null, e.g. text/heading) must not fail validation | STRING |
| HIGH⚡ | …ta-ingestion/tests/unit/metabase/test_metabase_mbql.py | 308 | """field_ref: ["field", 131, null] → CLL from film.rating to output column.""" | STRING |
| HIGH⚡ | …ta-ingestion/tests/unit/metabase/test_metabase_mbql.py | 349 | """["aggregation", 1] where aggregation[1]=["avg", ["field", 132, null]] | STRING |
| HIGH | …gestion/tests/unit/sql_parsing/test_sqlglot_lineage.py | 1407 | col1 = t1.col1 || t1.col2, | STRING |
| HIGH | …gestion/tests/unit/sql_parsing/test_sqlglot_lineage.py | 1408 | col2 = t1.col1 || t2.col2 | STRING |
| HIGH | …gestion/tests/unit/sql_parsing/test_sqlglot_lineage.py | 1826 | IF (main.id is not null, main, extras).* REPLACE ( | STRING |
| HIGH | …data-ingestion/tests/integration/dremio/test_dremio.py | 61 | command = f'docker exec --user root {container_name} sh -c "apt-get update && apt-get install -y mysql-client && /u | CODE |
| HIGH⚡ | …data-ingestion/tests/integration/looker/test_looker.py | 256 | dynamic_fields='[{"table_calculation":"calc","label":"foobar","expression":"offset(${my_table.va | CODE |
| HIGH⚡ | …data-ingestion/tests/integration/looker/test_looker.py | 402 | dynamic_fields='[{"table_calculation":"calc","label":"foobar","expression":"offset(${my_table.value} | CODE |
| 120 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .betterleaks.toml | 1 | title = "DataHub betterleaks config" | COMMENT |
| LOW | mise.toml | 1 | [tools] | COMMENT |
| LOW | datahub-frontend/test/app/ApplicationTest.java | 801 | // filter): | COMMENT |
| LOW | …va/com/linkedin/metadata/models/EntitySpecBuilder.java | 81 | // Now validate that all relationships point to valid entities. | COMMENT |
| LOW | …n/metadata/models/annotation/SearchableAnnotation.java | 41 | // Whether or not to add field to filters. | COMMENT |
| LOW | …tahub/graphql/resolvers/group/RemoveGroupResolver.java | 41 | // Discovering referrers afterwards, as deleteEntityReferences does by scrolling | COMMENT |
| LOW | …l/resolvers/dashboard/DashboardUsageStatsResolver.java | 41 | // 5000) default would exceed that cap and force the per-URN path. Callers needing more pass an | COMMENT |
| LOW | …l/resolvers/dashboard/DashboardUsageStatsResolver.java | 81 | // Max number of aspects to return for absolute dashboard usage. | COMMENT |
| LOW | …esolvers/logical/UpdateLogicalModelSchemaResolver.java | 81 | COMMENT | |
| LOW | …/graphql/resolvers/incident/RaiseIncidentResolver.java | 101 | if (callerProvidedId && resultUrn == null) { | COMMENT |
| LOW | docker/snippets/mssql_odbc.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/snippets/install_openssl4_ssl_compat.sh | 1 | #!/bin/sh | COMMENT |
| LOW | docker/snippets/oracle_instantclient.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/snippets/ingestion/constraints.txt | 1 | cmdstanpy>=1.3.0,<2.0.0 | COMMENT |
| LOW | docker/snippets/ingestion/constraints.txt | 21 | # protobuf (6.x): CVE-2026-0994 | COMMENT |
| LOW | docker/snippets/ingestion/constraints.txt | 41 | # CVE-2026-69249: exponential path-building DoS on duplicate self-signed intermediates. | COMMENT |
| LOW | docker/snippets/ingestion/constraints.txt | 81 | langgraph-checkpoint>=4.0.0 | COMMENT |
| LOW | docker/snippets/ingestion/constraints.txt | 101 | # pypdf: GHSA-4pxv-j86v-mhcw (incremental trailer /Size DoS, fixed 6.10.2); | COMMENT |
| LOW | docker/snippets/ingestion/bundled_venv_config.py | 1 | # Copyright 2025 Acryl Data, Inc. | COMMENT |
| LOW | docker/snippets/uv/generate-config.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/snippets/uv/profiles/chainguard.toml | 1 | # Opt-in uv profile that resolves Python packages from Chainguard Libraries | COMMENT |
| LOW | docker/snippets/uv/profiles/default.toml | 1 | # Empty file since the default is public PyPi | COMMENT |
| LOW | docker/snippets/uv/profiles/chainguard-ci.toml | 1 | # CI-oriented uv profile: resolves Python packages from Chainguard Libraries | COMMENT |
| LOW | docker/datahub-mae-consumer/start.sh | 81 | echo "[STARTUP] Generating deterministic classpath from extracted layers" | COMMENT |
| LOW | docker/datahub-actions/readiness-check.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/datahub-actions/start.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/datahub-actions/config/teams_action.yaml | 1 | # Copyright 2021 Acryl Data, Inc. | COMMENT |
| LOW | docker/datahub-actions/config/executor.yaml | 1 | # Copyright 2021 Acryl Data, Inc. | COMMENT |
| LOW | docker/datahub-actions/config/slack_action.yaml | 1 | # Copyright 2021 Acryl Data, Inc. | COMMENT |
| LOW | …ker/datahub-actions/config/doc_propagation_action.yaml | 1 | # Copyright 2021 Acryl Data, Inc. | COMMENT |
| LOW | docker/quickstart/quickstart_version_mapping.yaml | 1 | # This file is used by the CLI to map quickstart version "labels" to docker tags and git refs. | COMMENT |
| LOW | docker/quickstart/quickstart_version_mapping.yaml | 21 | # This file can also be used to map broken releases to fixed ones. | COMMENT |
| LOW | docker/airflow/docker-compose.yaml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | docker/airflow/docker-compose.yaml | 21 | # WARNING: This configuration is for local development. Do not use it in a production deployment. | COMMENT |
| LOW | docker/profiles/docker-compose.ollama.yml | 61 | # When the debug-ai profile is active, tell GMS to use the local Ollama provider. | COMMENT |
| LOW | docker/profiles/docker-compose.zdu-test-override.yml | 1 | # ZDU test-framework compose override — NOT part of the production stack. | COMMENT |
| LOW | docker/profiles/docker-compose.onnx-override.yml | 1 | --- | COMMENT |
| LOW | docker/datahub-upgrade/README.md | 101 | # Datahub protocol (default http) | COMMENT |
| LOW | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 501 | COMMENT | |
| LOW | …data/entity/ebean/EbeanAspectDaoLockingPostgresIT.java | 181 | "B must acquire only after A released on commit"); | COMMENT |
| LOW | …ch/elasticsearch/client/shim/SearchClientShimTest.java | 161 | COMMENT | |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1361 | // recompute ONLY the conflicted URNs' branch (re-read the winner's | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1381 | // pass, so systemMetadata differs and it looks like a real write) → | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1401 | // old derived row stale. Rare; documented; a content-aware skip is | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1441 | EntityServiceImpl.class, | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1481 | batchWriteResult = retry.batchWriteResult; | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1501 | // branches + | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 1641 | // Full-batch retry path (optimistic-locking base + legacy). Restored | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 3821 | && !(opContext.getValidationContext() != null | COMMENT |
| LOW | …va/com/linkedin/metadata/entity/EntityServiceImpl.java | 4141 | // runs its MCL emission + post-commit retention while the outer write | COMMENT |
| LOW | …metadata/entity/retention/buffer/RetentionDrainer.java | 201 | } | COMMENT |
| LOW | …com/linkedin/metadata/entity/ebean/EbeanAspectDao.java | 141 | @Getter @Nonnull private final Dialect dialect; | COMMENT |
| LOW | …com/linkedin/metadata/entity/ebean/EbeanAspectDao.java | 381 | // Transaction-scoped: without an active transaction the advisory lock would auto-commit | COMMENT |
| LOW | …com/linkedin/metadata/entity/ebean/EbeanAspectDao.java | 641 | // outcome is UNKNOWN and rows may already have applied. An in-txn sequential re-CAS | COMMENT |
| LOW | …com/linkedin/metadata/entity/ebean/EbeanAspectDao.java | 1021 | Urn urnObj = UrnUtils.getUrn(urn); | COMMENT |
| LOW | …com/linkedin/metadata/entity/ebean/EbeanAspectDao.java | 1041 | "Entity registry returned no aspects for urn={}; falling back to key-aspect-only" | COMMENT |
| LOW | …com/linkedin/metadata/entity/ebean/EbeanAspectDao.java | 1301 | final int position, | COMMENT |
| LOW | …/search/elasticsearch/indexbuilder/ESIndexBuilder.java | 241 | // .waitDuration(Duration.ofSeconds(initialSecondsDelete)) | COMMENT |
| LOW | datahub-agent-context/setup.py | 1 | # Copyright 2025 Acryl Data, Inc. | COMMENT |
| LOW | datahub-agent-context/tests/__init__.py | 1 | # Copyright 2025 Acryl Data, Inc. | COMMENT |
| 863 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …phql/resolvers/assertion/EntityAssertionsResolver.java | 58 | // Step 1: Fetch set of assertions associated with the target entity from the Graph | COMMENT |
| LOW⚡ | …phql/resolvers/assertion/EntityAssertionsResolver.java | 74 | // Step 2: Hydrate the assertion entities based on the urns from step 1 | COMMENT |
| LOW⚡ | …phql/resolvers/assertion/EntityAssertionsResolver.java | 82 | // Step 3: Map GMS assertion model to GraphQL model, preserving graph-store order. | COMMENT |
| LOW | …phql/resolvers/assertion/EntityAssertionsResolver.java | 97 | // Step 4: Package and return result | COMMENT |
| LOW | …hql/resolvers/assertion/AssertionRunEventResolver.java | 62 | // Step 1: Fetch aspects from GMS | COMMENT |
| LOW⚡ | …hql/resolvers/assertion/AssertionRunEventResolver.java | 77 | // Step 2: Bind profiles into GraphQL strong types. | COMMENT |
| LOW⚡ | …hql/resolvers/assertion/AssertionRunEventResolver.java | 83 | // Step 3: Package and return response. | COMMENT |
| LOW | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 103 | // Step 1: Search using service to get URNs | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 121 | // Step 2: Extract URNs from search results | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 127 | // Step 3: Batch hydrate/resolve the Document entities | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 135 | // Step 4: Map entities in the same order as search results | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 141 | // Step 5: Convert to GraphQL Document objects | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 148 | // Step 6: Build the result | COMMENT |
| LOW | …raphql/resolvers/incident/EntityIncidentsResolver.java | 68 | // Step 1: Fetch set of incidents associated with the target entity from the Search | COMMENT |
| LOW⚡ | …raphql/resolvers/incident/EntityIncidentsResolver.java | 89 | // Step 2: Hydrate the incident entities | COMMENT |
| LOW⚡ | …raphql/resolvers/incident/EntityIncidentsResolver.java | 97 | // Step 3: Map GMS incident model to GraphQL model | COMMENT |
| LOW | …raphql/resolvers/incident/EntityIncidentsResolver.java | 108 | // Step 4: Package and return result | COMMENT |
| LOW | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 64 | // Step 1: Fetch set of task runs associated with the target entity from the Search | COMMENT |
| LOW⚡ | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 82 | // Step 2: Hydrate the incident entities | COMMENT |
| LOW⚡ | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 90 | // Step 3: Map GMS incident model to GraphQL model | COMMENT |
| LOW | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 101 | // Step 4: Package and return result | COMMENT |
| LOW | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 68 | // Step 1: Fetch set of task runs associated with the target entity from the Search | COMMENT |
| LOW⚡ | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 86 | // Step 2: Hydrate the incident entities | COMMENT |
| LOW⚡ | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 94 | // Step 3: Map GMS instance model to GraphQL model | COMMENT |
| LOW | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 105 | // Step 4: Package and return result | COMMENT |
| LOW | …resolvers/datacontract/EntityDataContractResolver.java | 48 | // Step 1: Fetch the contract associated with the dataset. | COMMENT |
| LOW⚡ | …resolvers/datacontract/EntityDataContractResolver.java | 77 | // Step 2: Hydrate the contract entities based on the urns from step 1 | COMMENT |
| LOW⚡ | …resolvers/datacontract/EntityDataContractResolver.java | 86 | // Step 4: Package and return result | COMMENT |
| LOW | docker/airflow/docker-compose.yaml | 21 | # WARNING: This configuration is for local development. Do not use it in a production deployment. | COMMENT |
| LOW | docker/airflow/local_airflow.md | 26 | ## Step 1: Set up your Airflow area | COMMENT |
| LOW | docker/airflow/local_airflow.md | 52 | ## Step 2: Bring up Airflow | COMMENT |
| LOW | docker/airflow/local_airflow.md | 119 | ## Step 3: Register DataHub connection (hook) to Airflow | COMMENT |
| LOW | docker/airflow/local_airflow.md | 137 | ## Step 4: Find the DAGs and run it | COMMENT |
| LOW⚡ | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 528 | // Step 1: Verify that parsing this trace ID produces a far-future epoch | COMMENT |
| LOW⚡ | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 537 | // Step 2: Verify that the queue time calculation would produce a value that overflows | COMMENT |
| LOW⚡ | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 543 | // Step 3: Confirm that Duration.ofMillis(queueTimeMs).toNanos() would overflow | COMMENT |
| LOW | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 555 | // Step 4: Verify the fix — extractTraceIdEpochMillis returns null for this trace ID, | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1410 | // Step 1: Create initial index with 1 shard | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1416 | // Step 2: Index some documents | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1436 | // Step 3: Create builder with different shard count to force requiresReindex, and non-zero | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1482 | // Step 6: Restore settings | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1489 | // Step 7: Verify next index has all documents | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1505 | // Step 8: Verify alias still points to original index (no swap happened) | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1515 | // Step 9: Verify next index has the new shard count | COMMENT |
| LOW | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1454 | // Step 4: Run incremental reindex (Phase 1) | COMMENT |
| LOW | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1470 | // Step 5: Poll until reindex completes | COMMENT |
| LOW | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1527 | // Step 10: Verify settings were restored (replicas back to target, refresh interval restored) | COMMENT |
| LOW | …n/metadata/search/elasticsearch/query/ESSearchDAO.java | 497 | // Step 1: construct the query | COMMENT |
| LOW | …n/metadata/search/elasticsearch/query/ESSearchDAO.java | 518 | // Step 2: execute the query and extract results, validated against document model as well | COMMENT |
| LOW | …sticsearch/indexbuilder/DestinationIndexOptimizer.java | 107 | // Step 1: Fetch all original settings in a single API call (batch operation) | COMMENT |
| LOW | …sticsearch/indexbuilder/DestinationIndexOptimizer.java | 169 | // Step 2: Apply optimizations in a single atomic API call (batch operation) | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 155 | // Step 1: Parse JSON using Jackson ObjectMapper | COMMENT |
| LOW⚡ | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 178 | // Step 2: Extract "before" and "after" fields as JsonNode objects | COMMENT |
| LOW⚡ | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 182 | // Step 3: Check if we should process this record (only latest versions) | COMMENT |
| LOW⚡ | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 188 | // Step 4: Extract urn, aspect, metadata, systemmetadata fields from both before/after CDC | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 207 | // Step 5: Deserialize the "metadata" JSON strings to RecordTemplate objects | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 228 | // Step 6: Parse systemmetadata JSON strings to SystemMetadata objects | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 239 | // Step 7: Create ChangeMCP using "after" record data | COMMENT |
| LOW | …/main/java/com/datahub/authorization/PolicyEngine.java | 150 | // Step 3: For each matching policy, find actors that are authorized. | COMMENT |
| LOW⚡ | …/java/com/datahub/authorization/DataHubAuthorizer.java | 385 | // Step 1: Find policies granting the privilege. | COMMENT |
| 397 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …hub_actions/plugin/action/execution/executor_action.py | 0 | import an item from a package, where the path is formatted as 'package.module.submodule.classname' or 'package.module.su | STRING |
| HIGH | …estion/src/datahub/executor/execution/task_registry.py | 0 | import an item from a package, where the path is formatted as 'package.module.submodule.classname' or 'package.module.su | STRING |
| HIGH | …n/src/datahub/executor/secret/secret_store_registry.py | 0 | import an item from a package, where the path is formatted as 'package.module.submodule.classname' or 'package.module.su | STRING |
| HIGH | …ts/zdu/framework/phases/skip_already_migrated_sweep.py | 0 | locate this phase's own ``migrate-aspects-*`` upgrade result. matched by the private ``datahub_revision`` this phase run | STRING |
| HIGH | …e-test/tests/zdu/framework/phases/kill_switch_sweep.py | 0 | locate this phase's own ``migrate-aspects-*`` upgrade result. matched by the private ``datahub_revision`` this phase run | STRING |
| HIGH | …e-test/tests/zdu/framework/phases/batch_delay_sweep.py | 0 | locate this phase's own ``migrate-aspects-*`` upgrade result. matched by the private ``datahub_revision`` this phase run | STRING |
| HIGH | smoke-test/tests/e2e/test_system_info.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | smoke-test/tests/e2e/test_authentication_e2e.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | smoke-test/tests/e2e/utils.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | …/e2e/authorization/test_credential_aspect_read_auth.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | …ke-test/tests/e2e/metrics/usage_aggregation_metrics.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | …authorization/test_domain_scoped_create_entity_auth.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | smoke-test/tests/e2e/test_system_info.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | smoke-test/tests/e2e/test_authentication_e2e.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | smoke-test/tests/e2e/utils.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | …st/tests/e2e/service_accounts/test_service_accounts.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | …authorization/test_domain_scoped_create_entity_auth.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | …/e2e/authorization/test_credential_aspect_read_auth.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | smoke-test/tests/e2e/tokens/token_utils.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | …e-test/tests/e2e/tokens/revokable_access_token_test.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | …ngestion/src/datahub/ingestion/source/gc/datahub_gc.py | 0 | mutation revokeaccesstoken($tokenid: string!) { revokeaccesstoken(tokenid: $tokenid) } | STRING |
| HIGH | smoke-test/tests/e2e/test_e2e.py | 0 | mutation addgroupmembers($input: addgroupmembersinput!) { addgroupmembers(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/entity_graph_cache/helpers.py | 0 | mutation addgroupmembers($input: addgroupmembersinput!) { addgroupmembers(input: $input) } | STRING |
| HIGH | …t/tests/e2e/authorization/test_privilege_grant_auth.py | 0 | mutation addgroupmembers($input: addgroupmembersinput!) { addgroupmembers(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 0 | mutation updatepolicy($urn: string!, $input: policyupdateinput!) {\n updatepolicy(urn: $urn, input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/privileges/test_privileges.py | 0 | mutation updatepolicy($urn: string!, $input: policyupdateinput!) {\n updatepolicy(urn: $urn, input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/privileges/utils.py | 0 | mutation updatepolicy($urn: string!, $input: policyupdateinput!) {\n updatepolicy(urn: $urn, input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | …st/tests/e2e/service_accounts/test_service_accounts.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | …e-test/tests/e2e/tokens/revokable_access_token_test.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | metadata-ingestion/src/datahub/cli/sso_cli.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | metadata-ingestion/src/datahub/cli/cli_utils.py | 0 | mutation createaccesstoken($input: createaccesstokeninput!) { createaccesstoken(input: $input) { accesstoken metadata { | STRING |
| HIGH | smoke-test/tests/e2e/audit_events/audit_events_test.py | 0 | query listaccesstokens($input: listaccesstokeninput!) { listaccesstokens(input: $input) { start count total tokens { urn | STRING |
| HIGH | smoke-test/tests/e2e/tokens/token_utils.py | 0 | query listaccesstokens($input: listaccesstokeninput!) { listaccesstokens(input: $input) { start count total tokens { urn | STRING |
| HIGH | …e-test/tests/e2e/tokens/revokable_access_token_test.py | 0 | query listaccesstokens($input: listaccesstokeninput!) { listaccesstokens(input: $input) { start count total tokens { urn | STRING |
| HIGH | smoke-test/tests/e2e/domains/domains_test.py | 0 | mutation createdomain($input: createdomaininput!) { createdomain(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/policies/test_policy_eval_perf.py | 0 | mutation createdomain($input: createdomaininput!) { createdomain(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/dataproduct/test_dataproduct.py | 0 | mutation createdomain($input: createdomaininput!) { createdomain(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/domains/domains_test.py | 0 | mutation deletedomain($urn: string!) { deletedomain(urn: $urn) } | STRING |
| HIGH | smoke-test/tests/e2e/policies/test_policy_eval_perf.py | 0 | mutation deletedomain($urn: string!) { deletedomain(urn: $urn) } | STRING |
| HIGH | smoke-test/tests/e2e/dataproduct/test_dataproduct.py | 0 | mutation deletedomain($urn: string!) { deletedomain(urn: $urn) } | STRING |
| HIGH | …/tests/e2e/identity/test_group_membership_lifecycle.py | 0 | mutation creategroup($input: creategroupinput!) { creategroup(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/entity_graph_cache/helpers.py | 0 | mutation creategroup($input: creategroupinput!) { creategroup(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/policies/test_policy_eval_perf.py | 0 | mutation creategroup($input: creategroupinput!) { creategroup(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/status/test_lifecycle_state.py | 0 | mutation createdoc($input: createdocumentinput!) { createdocument(input: $input) } | STRING |
| HIGH | …est/tests/e2e/knowledge/document_search_filter_test.py | 0 | mutation createdoc($input: createdocumentinput!) { createdocument(input: $input) } | STRING |
| HIGH | …ests/e2e/knowledge/test_document_hierarchy_settings.py | 0 | mutation createdoc($input: createdocumentinput!) { createdocument(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/status/test_lifecycle_state.py | 0 | mutation deletedoc($urn: string!) { deletedocument(urn: $urn) } | STRING |
| HIGH | …est/tests/e2e/knowledge/document_search_filter_test.py | 0 | mutation deletedoc($urn: string!) { deletedocument(urn: $urn) } | STRING |
| HIGH | …ests/e2e/knowledge/test_document_hierarchy_settings.py | 0 | mutation deletedoc($urn: string!) { deletedocument(urn: $urn) } | STRING |
| HIGH | smoke-test/tests/e2e/policies/test_policy_eval_perf.py | 0 | mutation createpolicy($input: policyupdateinput!) { createpolicy(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/policies/test_policies.py | 0 | mutation createpolicy($input: policyupdateinput!) { createpolicy(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/privileges/test_privileges.py | 0 | mutation createpolicy($input: policyupdateinput!) { createpolicy(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/privileges/utils.py | 0 | mutation createpolicy($input: policyupdateinput!) { createpolicy(input: $input) } | STRING |
| HIGH | …authorization/test_domain_scoped_create_entity_auth.py | 0 | mutation createpolicy($input: policyupdateinput!) { createpolicy(input: $input) } | STRING |
| HIGH | smoke-test/tests/e2e/policies/test_policies.py | 0 | fixture to execute setup before and tear down after all tests are run | STRING |
| HIGH | smoke-test/tests/e2e/privileges/test_privileges.py | 0 | fixture to execute setup before and tear down after all tests are run | STRING |
| HIGH | …e-test/tests/e2e/tokens/revokable_access_token_test.py | 0 | fixture to execute setup before and tear down after all tests are run | STRING |
| HIGH | …st/tests/e2e/knowledge/test_document_search_history.py | 0 | mutation createka($input: createdocumentinput!) { createdocument(input: $input) } | STRING |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …phql/resolvers/assertion/EntityAssertionsResolver.java | 58 | // Step 1: Fetch set of assertions associated with the target entity from the Graph | COMMENT |
| LOW⚡ | …phql/resolvers/assertion/EntityAssertionsResolver.java | 74 | // Step 2: Hydrate the assertion entities based on the urns from step 1 | COMMENT |
| LOW⚡ | …phql/resolvers/assertion/EntityAssertionsResolver.java | 82 | // Step 3: Map GMS assertion model to GraphQL model, preserving graph-store order. | COMMENT |
| LOW | …phql/resolvers/assertion/EntityAssertionsResolver.java | 97 | // Step 4: Package and return result | COMMENT |
| LOW | …hql/resolvers/assertion/AssertionRunEventResolver.java | 62 | // Step 1: Fetch aspects from GMS | COMMENT |
| LOW⚡ | …hql/resolvers/assertion/AssertionRunEventResolver.java | 77 | // Step 2: Bind profiles into GraphQL strong types. | COMMENT |
| LOW⚡ | …hql/resolvers/assertion/AssertionRunEventResolver.java | 83 | // Step 3: Package and return response. | COMMENT |
| LOW | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 103 | // Step 1: Search using service to get URNs | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 121 | // Step 2: Extract URNs from search results | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 127 | // Step 3: Batch hydrate/resolve the Document entities | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 135 | // Step 4: Map entities in the same order as search results | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 141 | // Step 5: Convert to GraphQL Document objects | COMMENT |
| LOW⚡ | …phql/resolvers/knowledge/RelatedDocumentsResolver.java | 148 | // Step 6: Build the result | COMMENT |
| LOW | …raphql/resolvers/incident/EntityIncidentsResolver.java | 68 | // Step 1: Fetch set of incidents associated with the target entity from the Search | COMMENT |
| LOW⚡ | …raphql/resolvers/incident/EntityIncidentsResolver.java | 89 | // Step 2: Hydrate the incident entities | COMMENT |
| LOW⚡ | …raphql/resolvers/incident/EntityIncidentsResolver.java | 97 | // Step 3: Map GMS incident model to GraphQL model | COMMENT |
| LOW | …raphql/resolvers/incident/EntityIncidentsResolver.java | 108 | // Step 4: Package and return result | COMMENT |
| LOW | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 64 | // Step 1: Fetch set of task runs associated with the target entity from the Search | COMMENT |
| LOW⚡ | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 82 | // Step 2: Hydrate the incident entities | COMMENT |
| LOW⚡ | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 90 | // Step 3: Map GMS incident model to GraphQL model | COMMENT |
| LOW | …ahub/graphql/resolvers/jobs/ExecutionRunsResolver.java | 101 | // Step 4: Package and return result | COMMENT |
| LOW | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 68 | // Step 1: Fetch set of task runs associated with the target entity from the Search | COMMENT |
| LOW⚡ | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 86 | // Step 2: Hydrate the incident entities | COMMENT |
| LOW⚡ | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 94 | // Step 3: Map GMS instance model to GraphQL model | COMMENT |
| LOW | …datahub/graphql/resolvers/jobs/EntityRunsResolver.java | 105 | // Step 4: Package and return result | COMMENT |
| LOW | …resolvers/datacontract/EntityDataContractResolver.java | 48 | // Step 1: Fetch the contract associated with the dataset. | COMMENT |
| LOW⚡ | …resolvers/datacontract/EntityDataContractResolver.java | 77 | // Step 2: Hydrate the contract entities based on the urns from step 1 | COMMENT |
| LOW⚡ | …resolvers/datacontract/EntityDataContractResolver.java | 86 | // Step 4: Package and return result | COMMENT |
| LOW⚡ | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 528 | // Step 1: Verify that parsing this trace ID produces a far-future epoch | COMMENT |
| LOW⚡ | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 537 | // Step 2: Verify that the queue time calculation would produce a value that overflows | COMMENT |
| LOW⚡ | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 543 | // Step 3: Confirm that Duration.ofMillis(queueTimeMs).toNanos() would overflow | COMMENT |
| LOW | …/com/linkedin/metadata/trace/TraceServiceImplTest.java | 555 | // Step 4: Verify the fix — extractTraceIdEpochMillis returns null for this trace ID, | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1410 | // Step 1: Create initial index with 1 shard | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1416 | // Step 2: Index some documents | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1436 | // Step 3: Create builder with different shard count to force requiresReindex, and non-zero | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1482 | // Step 6: Restore settings | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1489 | // Step 7: Verify next index has all documents | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1505 | // Step 8: Verify alias still points to original index (no swap happened) | COMMENT |
| LOW⚡ | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1515 | // Step 9: Verify next index has the new shard count | COMMENT |
| LOW | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1454 | // Step 4: Run incremental reindex (Phase 1) | COMMENT |
| LOW | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1470 | // Step 5: Poll until reindex completes | COMMENT |
| LOW | …metadata/search/indexbuilder/IndexBuilderTestBase.java | 1527 | // Step 10: Verify settings were restored (replicas back to target, refresh interval restored) | COMMENT |
| LOW | …n/metadata/search/elasticsearch/query/ESSearchDAO.java | 497 | // Step 1: construct the query | COMMENT |
| LOW | …n/metadata/search/elasticsearch/query/ESSearchDAO.java | 518 | // Step 2: execute the query and extract results, validated against document model as well | COMMENT |
| LOW | …sticsearch/indexbuilder/DestinationIndexOptimizer.java | 107 | // Step 1: Fetch all original settings in a single API call (batch operation) | COMMENT |
| LOW | …sticsearch/indexbuilder/DestinationIndexOptimizer.java | 169 | // Step 2: Apply optimizations in a single atomic API call (batch operation) | COMMENT |
| LOW | …in/metadata/aspect/consistency/ConsistencyService.java | 1173 | // For orphan check, we need to check if entity exists in SQL | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 155 | // Step 1: Parse JSON using Jackson ObjectMapper | COMMENT |
| LOW⚡ | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 178 | // Step 2: Extract "before" and "after" fields as JsonNode objects | COMMENT |
| LOW⚡ | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 182 | // Step 3: Check if we should process this record (only latest versions) | COMMENT |
| LOW⚡ | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 188 | // Step 4: Extract urn, aspect, metadata, systemmetadata fields from both before/after CDC | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 207 | // Step 5: Deserialize the "metadata" JSON strings to RecordTemplate objects | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 228 | // Step 6: Parse systemmetadata JSON strings to SystemMetadata objects | COMMENT |
| LOW | …ain/java/com/linkedin/metadata/kafka/CDCProcessor.java | 239 | // Step 7: Create ChangeMCP using "after" record data | COMMENT |
| LOW | …/main/java/com/datahub/authorization/PolicyEngine.java | 150 | // Step 3: For each matching policy, find actors that are authorized. | COMMENT |
| LOW⚡ | …/java/com/datahub/authorization/DataHubAuthorizer.java | 385 | // Step 1: Find policies granting the privilege. | COMMENT |
| LOW⚡ | …/java/com/datahub/authorization/DataHubAuthorizer.java | 391 | // Step 2: For each policy, determine whether the resource is a match. | COMMENT |
| LOW⚡ | …/java/com/datahub/authorization/DataHubAuthorizer.java | 401 | // Step 3: For each matching policy, add actors that are authorized. | COMMENT |
| LOW | …/java/com/datahub/authorization/DataHubAuthorizer.java | 413 | // Step 4: Return all authorized users and groups. | COMMENT |
| LOW⚡ | …s/plugin/action/propagation/docs/propagation_action.py | 646 | # Step 1: Propagate to downstream entities | COMMENT |
| 234 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | datahub-graphql-core/README.md | 85 | an URN to a "placeholder" GraphQL entity which is subsequently resolved by the GraphQL engine. | CODE |
| LOW | …va/com/linkedin/datahub/graphql/GraphQLEngineTest.java | 262 | userDatabase.put("1", new User("1", "John Doe", "john@example.com")); | CODE |
| LOW | …va/com/linkedin/datahub/graphql/GraphQLEngineTest.java | 297 | assertEquals(user.get("name"), "John Doe"); | CODE |
| LOW | …om/linkedin/metadata/entity/EntityServiceImplTest.java | 154 | CorpUserInfo originalInfo = AspectGenerationUtils.createCorpUserInfo("test@test.com"); | CODE |
| LOW | …om/linkedin/metadata/entity/EntityServiceImplTest.java | 212 | CorpUserInfo originalInfo = AspectGenerationUtils.createCorpUserInfo("test@test.com"); | CODE |
| LOW | …om/linkedin/metadata/entity/EntityServiceImplTest.java | 274 | CorpUserInfo newInfo = AspectGenerationUtils.createCorpUserInfo("test@test.com"); | CODE |
| LOW | …om/linkedin/metadata/entity/EntityServiceImplTest.java | 383 | CorpUserInfo originalInfo = AspectGenerationUtils.createCorpUserInfo("test@test.com"); | CODE |
| LOW | …adata/search/query/request/SearchQueryBuilderTest.java | 1279 | "name:'John Doe'"); | CODE |
| LOW | …tem_info/collectors/SpringComponentsCollectorTest.java | 65 | assertEquals(maeInfo.getProperties().get("mode"), "placeholder"); | CODE |
| LOW | …tem_info/collectors/SpringComponentsCollectorTest.java | 74 | assertEquals(mceInfo.getProperties().get("mode"), "placeholder"); | CODE |
| LOW | …tem_info/collectors/SpringComponentsCollectorTest.java | 177 | assertEquals(properties.get("mode"), "placeholder"); | CODE |
| LOW | …tem_info/collectors/SpringComponentsCollectorTest.java | 209 | assertEquals(properties.get("mode"), "placeholder"); | CODE |
| LOW | …/system_info/collectors/SpringComponentsCollector.java | 139 | "mode", "placeholder", | CODE |
| LOW | …/system_info/collectors/SpringComponentsCollector.java | 176 | "mode", "placeholder", | CODE |
| LOW⚡ | …ent-context/tests/unit/mcp_tools/test_save_document.py | 41 | "displayName": "John Doe", | CODE |
| LOW⚡ | …ent-context/tests/unit/mcp_tools/test_save_document.py | 42 | "fullName": "John Doe", | CODE |
| LOW⚡ | …ent-context/tests/unit/mcp_tools/test_save_document.py | 47 | "displayName": "John Doe", | CODE |
| LOW⚡ | …ent-context/tests/unit/mcp_tools/test_save_document.py | 79 | assert _get_user_display_name(mock_user_info) == "John Doe" | CODE |
| LOW | …ent-context/tests/unit/mcp_tools/test_save_document.py | 184 | assert result["author"] == "John Doe" | CODE |
| LOW | …ent-context/tests/unit/mcp_tools/test_save_document.py | 439 | assert result["author"] == "John Doe" | CODE |
| LOW | …ent-context/tests/unit/mcp_tools/test_save_document.py | 685 | assert result["author"] == "John Doe" | CODE |
| LOW | …ent-context/tests/unit/mcp_tools/test_save_document.py | 737 | assert result["author"] == "John Doe" | CODE |
| LOW | …nkedin/metadata/kafka/hydrator/EntityHydratorTest.java | 81 | .thenReturn(corpUserResponse(userUrn, "Jane Doe", "jdoe")); | CODE |
| LOW | …nkedin/metadata/kafka/hydrator/EntityHydratorTest.java | 86 | assertEquals(result.get().get("name").asText(), "Jane Doe"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 43 | patchBuilder.add("/name", "John Doe"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 99 | addOp.setValue("John Doe"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 226 | addressNode.put("street", "123 Main St"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 231 | rootNode.put("name", "John Doe"); | CODE |
| LOW⚡ | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 252 | assertEquals(dataMap.getString("name"), "John Doe"); | CODE |
| LOW⚡ | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 255 | assertEquals(addressData.getString("street"), "123 Main St"); | CODE |
| LOW⚡ | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 264 | phoneNumbers.add("555-1234"); | CODE |
| LOW⚡ | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 265 | phoneNumbers.add("555-5678"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 300 | assertEquals(phonesList.get(0), "555-1234"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 301 | assertEquals(phonesList.get(1), "555-5678"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 346 | homePhone.put("number", "555-1234"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 350 | workPhone.put("number", "555-5678"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 392 | assertEquals(homePhoneData.getString("number"), "555-1234"); | CODE |
| LOW | …om/linkedin/metadata/utils/GenericRecordUtilsTest.java | 396 | assertEquals(workPhoneData.getString("number"), "555-5678"); | CODE |
| LOW | …ct/openapi/operations/v1/SystemInfoControllerTest.java | 240 | "mode", "placeholder", | CODE |
| LOW | …tory/search/semantic/EmbeddingProviderFactoryTest.java | 426 | "sk-test-fake-key", "https://api.openai.com/v1/embeddings", "text-embedding-3-small"); | CODE |
| LOW | …tory/search/semantic/EmbeddingProviderFactoryTest.java | 464 | "sk-test-fake-key", "https://api.openai.com/v1/embeddings", "text-embedding-3-large"); | CODE |
| LOW | …io/datahubproject/event/ExternalEventsServiceTest.java | 85 | testEvent1.put("name", "John Doe"); | CODE |
| LOW | …io/datahubproject/event/ExternalEventsServiceTest.java | 90 | testEvent2.put("name", "Jane Doe"); | CODE |
| LOW | smoke-test/tests/unit/zdu/test_inject_traffic_dual.py | 26 | urn="placeholder", | CODE |
| LOW | smoke-test/tests/unit/zdu/test_inject_traffic_dual.py | 40 | m.get_doc.return_value = {"urn": "placeholder"} | CODE |
| LOW | smoke-test/tests/unit/zdu/test_inject_traffic_pre.py | 26 | urn="placeholder", | CODE |
| LOW | smoke-test/tests/unit/zdu/test_inject_traffic_pre.py | 40 | m.get_doc.return_value = {"urn": "placeholder"} | CODE |
| LOW | smoke-test/tests/e2e/cli/user_cmd/test_user_add.py | 307 | display_name = "John Doe" | CODE |
| LOW | smoke-test/tests/e2e/containers/data.json | 144 | "string": "John Doe" | CODE |
| LOW | smoke-test/tests/e2e/containers/data.json | 156 | "string": "John Doe" | CODE |
| LOW | docs/cli.md | 1000 | datahub user add --email user@example.com --display-name "John Doe" --password --role Admin | CODE |
| LOW | docs/managed-datahub/smtp-email.md | 79 | export NOTIFICATION_FOOTER_TEXT="Acme Corp" # footer signature shown on every email | CODE |
| LOW | docs/api/tutorials/mlmodel-mlmodelgroup.md | 64 | >> Model Group Custom Properties: {'owner': 'John Doe', 'team': 'recommendations', 'domain': 'marketing'} | CODE |
| LOW | li-utils/src/test/resources/corp-user-info.json | 3 | "email": "foo@bar.com", | CODE |
| LOW | datahub-web-react/src/Mocks.tsx | 4030 | description: 'Lorem ipsum dolor sit amet, consectetu', | CODE |
| LOW | datahub-web-react/src/Mocks.tsx | 4030 | description: 'Lorem ipsum dolor sit amet, consectetu', | CODE |
| LOW | …ct/src/app/entityV2/user/__tests__/UserHeader.test.tsx | 13 | name="Jane Doe" | CODE |
| LOW | …ct/src/app/entityV2/user/__tests__/UserHeader.test.tsx | 21 | expect(getByText('Jane Doe')).toBeInTheDocument(); | CODE |
| LOW⚡ | …_/components/editor/extensions/htmlToMarkdown.test.tsx | 4 | ['strike', '<strike>Lorem ipsum</strike>', '~Lorem ipsum~'], | CODE |
| LOW⚡ | …_/components/editor/extensions/htmlToMarkdown.test.tsx | 5 | ['s', '<s>Lorem ipsum</s>', '~Lorem ipsum~'], | CODE |
| 356 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | datahub-agent-context/examples/langchain/setup_dev.sh | 9 | # Check if we're in the right directory | COMMENT |
| LOW | …tahub-agent-context/examples/google_adk/basic_agent.py | 172 | # Set BIGQUERY_PROJECT_ID to control which project is billed for queries; | COMMENT |
| LOW | datahub-agent-context/examples/google_adk/setup_dev.sh | 9 | # Check if we're in the right directory | COMMENT |
| LOW | …ntext/src/datahub_agent_context/snowflake/snowflake.py | 39 | # Check if URL has a protocol | COMMENT |
| LOW | …ontext/src/datahub_agent_context/mcp_tools/entities.py | 60 | # Check if entity exists first | COMMENT |
| LOW | …ontext/src/datahub_agent_context/mcp_tools/entities.py | 86 | # Check if entity data was returned | COMMENT |
| LOW | …ontext/src/datahub_agent_context/mcp_tools/entities.py | 199 | # Check if entity data was returned | COMMENT |
| LOW | …context/src/datahub_agent_context/mcp_tools/lineage.py | 449 | # Check if any paths contain QUERY entities (with safe null handling) | COMMENT |
| LOW | …context/src/datahub_agent_context/mcp_tools/helpers.py | 209 | # Check if adding this entity would exceed budget | COMMENT |
| LOW | …context/src/datahub_agent_context/mcp_tools/helpers.py | 417 | # Check if this is column-level lineage by looking for paths | COMMENT |
| LOW | …nt-context/src/datahub_agent_context/mcp_tools/base.py | 40 | # Check if we've already determined newer GMS fields support for this graph | COMMENT |
| LOW⚡ | …nt-context/src/datahub_agent_context/mcp_tools/base.py | 81 | # Check if this is a field validation error and we tried with newer GMS fields enabled | COMMENT |
| LOW | …ema-registry-servlet/scripts/extract_kafka_messages.sh | 24 | # Check if kcat is available | COMMENT |
| LOW | …ema-registry-servlet/scripts/extract_kafka_messages.sh | 42 | # Check if topic exists and has messages | COMMENT |
| LOW | …ema-registry-servlet/scripts/extract_kafka_messages.sh | 49 | # Check if topic has messages by trying to get the first message | COMMENT |
| LOW | …tahub-actions/src/datahub_actions/pipeline/pipeline.py | 273 | # Increment stats | COMMENT |
| LOW | smoke-test/tests/e2e/conftest.py | 339 | # Check if FILTERED_TESTS is set (for retry logic) | COMMENT |
| LOW | smoke-test/tests/e2e/conftest.py | 360 | # Check if this item's module is in the filtered list | COMMENT |
| LOW | …st/tests/e2e/library_examples/test_library_examples.py | 81 | # Check if this test has dependencies | COMMENT |
| LOW⚡ | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 47 | # Check if Mixpanel API secret is available in environment variables | COMMENT |
| LOW⚡ | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 52 | # Check if Mixpanel is enabled in server configuration | COMMENT |
| LOW | smoke-test/tests/e2e/openapi/v1/test_tracking.py | 306 | # Check if this is our test event | COMMENT |
| LOW | smoke-test/tests/e2e/privileges/test_privileges.py | 225 | # Assign privileges to the new user to manage secrets | COMMENT |
| LOW | smoke-test/tests/e2e/privileges/test_privileges.py | 293 | # Assign privileges to the new user to manage ingestion source | COMMENT |
| LOW | smoke-test/tests/e2e/privileges/test_privileges.py | 389 | # Assign privileges to the new user to create and manage access tokens | COMMENT |
| LOW | smoke-test/tests/e2e/privileges/test_privileges.py | 501 | # Assign privileges to the new user to create and manage policies | COMMENT |
| LOW | smoke-test/tests/e2e/privileges/test_privileges.py | 592 | # Assign user to group | COMMENT |
| LOW | smoke-test/tests/e2e/privileges/utils.py | 276 | # Check if the response structure is as expected before accessing | COMMENT |
| LOW | …st/tests/e2e/knowledge/document_change_history_test.py | 160 | # Check if we have a CREATED event | STRING |
| LOW | …oke-test/tests/e2e/semantic/test_current_offset_api.py | 61 | # Check if offsetId is in response | COMMENT |
| LOW⚡ | …ke-test/tests/e2e/semantic/test_event_mode_fallback.py | 485 | # Check if state contains event offsets | COMMENT |
| LOW⚡ | smoke-test/tests/e2e/semantic/test_event_driven_docs.py | 354 | # Check if process is still running | STRING |
| LOW | smoke-test/tests/e2e/semantic/test_event_driven_docs.py | 426 | # Check if updated content appears in chunks | STRING |
| LOW | smoke-test/tests/e2e/analytics/conftest.py | 136 | # Check if users file exists, create minimal one if not | COMMENT |
| LOW | …ces/analytics_backfill/load_events_to_elasticsearch.sh | 97 | # Check if Elasticsearch is accessible | COMMENT |
| LOW | …ces/analytics_backfill/load_events_to_elasticsearch.sh | 106 | # Check if index exists | COMMENT |
| LOW | metadata-ingestion-modules/airflow-plugin/run-tests.sh | 26 | # Check if Docker is running | COMMENT |
| LOW | metadata-ingestion-modules/airflow-plugin/run-tests.sh | 55 | # Set HOME to /tmp so all cache directories are writable | COMMENT |
| LOW | …gestion-modules/airflow-plugin/docker-compose.test.yml | 25 | # Set HOME to /tmp so all cache directories are writable | COMMENT |
| LOW | …b_airflow_plugin/airflow3/_athena_openlineage_patch.py | 75 | # Check if SQL parsing result is already in run_facets (from SQLParser patch) | COMMENT |
| LOW | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 695 | # Check if the operator has OpenLineage support | COMMENT |
| LOW | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 756 | # Check if DataHub SQL parsing result is in run_facets (from our patch) | COMMENT |
| LOW | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 1143 | # Check if DAG is allowed by filter pattern | COMMENT |
| LOW | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 1173 | # Check if emitter is available | COMMENT |
| LOW | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 1287 | # Check if DAG is allowed before doing any expensive operations | COMMENT |
| LOW | …b_airflow_plugin/airflow3/_sqlite_openlineage_patch.py | 31 | # Check if already patched | COMMENT |
| LOW | …c/datahub_airflow_plugin/airflow3/_sql_parser_patch.py | 77 | # Check if OpenLineage plugin is enabled and load multi-statement flag | COMMENT |
| LOW | …c/datahub_airflow_plugin/airflow3/_sql_parser_patch.py | 172 | # Check if SQL still contains templates (should be rendered by operator) | COMMENT |
| LOW⚡ | …airflow_plugin/airflow3/_teradata_openlineage_patch.py | 96 | # Check if SQL parsing result is already in run_facets (from SQLParser patch) | COMMENT |
| LOW | …airflow_plugin/airflow3/_teradata_openlineage_patch.py | 295 | # Check if wrapper creation failed (import error) | COMMENT |
| LOW | …airflow_plugin/airflow3/_bigquery_openlineage_patch.py | 130 | # Check if there's a destinationTable in configuration | COMMENT |
| LOW | …airflow_plugin/airflow3/_bigquery_openlineage_patch.py | 253 | # Check if operator should be patched | COMMENT |
| LOW | …ration/java/datahub-schematron/cli/scripts/mce_diff.py | 283 | # Read the files into json objects and compare them | COMMENT |
| LOW | …n/java/acryl-spark-lineage/scripts/generate-patches.sh | 36 | # Check if upstream directory exists | COMMENT |
| LOW | .github/workflows/check-python-deps.yml | 170 | # Check if we have violations | COMMENT |
| LOW | .github/workflows/metadata-ingestion.yml | 368 | # Check if any Python file in metadata-ingestion is in the changed files | COMMENT |
| LOW | .github/workflows/connector-tests-trigger.yml | 108 | # Check if PR has the skip-connector-tests label | COMMENT |
| LOW | .github/workflows/connector-tests-trigger.yml | 127 | # Check if the label adder is a member of the datahub-project org | COMMENT |
| LOW | .github/workflows/quickstart-test.yml | 411 | # Check if the version error message is present in the output | COMMENT |
| LOW | .github/scripts/check_python_deps.py | 109 | # Check if PR has a problematic pin level | COMMENT |
| 206 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/datahub-gms-onnx/download-model.sh | 2 | # Downloads an ONNX embedding model from HuggingFace into models/<model_name>/. | COMMENT |
| MEDIUM | docker/profiles/docker-compose.ollama.yml | 33 | # One-shot init container that pulls the embedding model and warms it up. | COMMENT |
| MEDIUM | …context/src/datahub_agent_context/mcp_tools/queries.py | 185 | # Truncate long SQL queries to prevent context window issues | COMMENT |
| MEDIUM | …context/src/datahub_agent_context/mcp_tools/helpers.py | 23 | # Maximum token count for tool responses to prevent context window issues | COMMENT |
| MEDIUM⚡ | …nt-context/src/datahub_agent_context/mcp_tools/base.py | 69 | # Execute the GraphQL query with projection enabled for agentic callers | COMMENT |
| MEDIUM | smoke-test/tests/zdu/framework/runner.py | 186 | # Phase 0 (combined) — SetupOldStackPhase orchestrates build_images + | COMMENT |
| MEDIUM | …est_resources/analytics_backfill/populate_analytics.sh | 5 | # This script orchestrates the entire process of: | COMMENT |
| MEDIUM | docs/links.md | 18 | - [Context Management Is the Missing Piece in the Agentic AI Puzzle](https://datahub.com/blog/context-management-is-the- | CODE |
| MEDIUM | docs/how/updating-datahub.md | 81 | - [#20082](https://github.com/datahub-project/datahub/pull/20082) **(GMS / Semantic search)** Semantic search now checks | CODE |
| MEDIUM | docs/how/updating-datahub.md | 226 | - [#20219](https://github.com/datahub-project/datahub/pull/20219) **(GMS / Search V3 hybrid search)** Full-text search o | CODE |
| MEDIUM | docs/features/feature-guides/scoped-mcp-servers.md | 147 | See [Service Accounts for Agentic Workflows](./mcp.md#service-accounts-for-agentic-workflows) to provision the token. | CODE |
| MEDIUM | docs/dev-guides/semantic-search/CONFIGURATION.md | 18 | # Vector dimensions (must match embedding model) | COMMENT |
| MEDIUM | docs/dev-guides/semantic-search/CONFIGURATION.md | 41 | # Define index mappings for each embedding model you use | COMMENT |
| MEDIUM⚡ | metadata-ingestion/tests/unit/agent/test_recipe.py | 245 | # `any(...)` was satisfied by a scaffold holding one placeholder and | COMMENT |
| MEDIUM⚡ | metadata-ingestion/tests/unit/agent/test_recipe.py | 255 | # scaffold's shape instead of its non-emptiness. | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/agent/test_recipe.py | 214 | # module scope would resolve the registry at collection time. `scaffold` | COMMENT |
| MEDIUM⚡ | …tadata-ingestion/tests/unit/informatica/test_source.py | 1330 | # picks up MT1 as a predecessor; orchestrate's inputDatajobs is just | COMMENT |
| MEDIUM⚡ | …tadata-ingestion/tests/unit/informatica/test_source.py | 1332 | # ``input_ds → MT1 → MT2 → orchestrate → out_ds``. | COMMENT |
| MEDIUM⚡ | …tadata-ingestion/tests/unit/informatica/test_source.py | 1407 | # End-of-lineage pass emits the orchestrate's DataJobInputOutput with | COMMENT |
| MEDIUM⚡ | …tadata-ingestion/tests/unit/informatica/test_source.py | 1410 | # ``last_MT → orchestrate → output_ds``. | COMMENT |
| MEDIUM | …tadata-ingestion/tests/unit/informatica/test_source.py | 1370 | # Step metadata still preserved on orchestrate for auditing. | COMMENT |
| MEDIUM | …tadata-ingestion/tests/unit/informatica/test_source.py | 1456 | # surface, so no orchestrate DataJob is emitted (keeps the catalog | COMMENT |
| MEDIUM | …estion/tests/unit/sql_parsing/test_split_statements.py | 468 | # surrounding WHILE/LOOP/RETURN scaffolding (equivalent-or-better for lineage). | STRING |
| MEDIUM⚡ | …/tests/integration/azure_data_factory/complex_mocks.py | 1284 | # Main orchestration pipeline with both ExecutePipeline and Copy activities | COMMENT |
| MEDIUM⚡ | …tegration/azure_data_factory/test_complex_pipelines.py | 345 | # Scenario: Parent pipeline orchestrates child pipelines | COMMENT |
| MEDIUM⚡ | …tegration/azure_data_factory/test_complex_pipelines.py | 1142 | # - Understanding orchestration hierarchies | COMMENT |
| MEDIUM | …tegration/azure_data_factory/test_complex_pipelines.py | 362 | # - Users need to see the full orchestration hierarchy | COMMENT |
| MEDIUM | …tegration/azure_data_factory/test_complex_pipelines.py | 986 | # - Users need visibility into all orchestration activities | COMMENT |
| MEDIUM | …tadata-ingestion/tests/integration/sigma/test_sigma.py | 2922 | # Minimal workspace + workbook scaffolding so the pipeline runs. | COMMENT |
| MEDIUM | …tion/tests/integration/informatica/test_informatica.py | 184 | # orchestrate DataJob + aggregated-lineage end-to-end. | COMMENT |
| MEDIUM | …ta-ingestion/docs/sources/dataplex/dataplex_recipe.yml | 61 | # Or: ingest exports you orchestrate yourself instead of submitting jobs | COMMENT |
| MEDIUM | …sources/datahub-documents/datahub-documents_recipe.yml | 7 | # Enables event-driven mode and incremental processing | COMMENT |
| MEDIUM | …cs/sources/datahub-documents/datahub-documents_post.md | 125 | # - Updating embedding model | COMMENT |
| MEDIUM | …ingestion/examples/recipes/datahub_documents_event.yml | 3 | # This recipe processes Document entities from DataHub in event-driven mode. | COMMENT |
| MEDIUM | …ingestion/examples/recipes/datahub_documents_batch.yml | 28 | enabled: false # Set to true to use event-driven mode instead | CODE |
| MEDIUM | …a-ingestion/examples/recipes/confluence_to_datahub.yml | 104 | # model: "text-embedding-3-small" # OpenAI embedding model | COMMENT |
| MEDIUM | …bigquery_v2/profiling/partition_discovery/discovery.py | 840 | # gets the same job timeout / max-bytes-billed guardrails as the | COMMENT |
| MEDIUM | …/datahub/ingestion/source/snowflake/snowflake_query.py | 33 | # scaffolding the filter is embedded in. | COMMENT |
| MEDIUM | …n/src/datahub/ingestion/source/notion/notion_source.py | 151 | model: "embed-english-v3.0" # Cohere embedding model | STRING |
| MEDIUM | …tion/src/datahub/ingestion/source/snowplow/snowplow.py | 236 | # Create processor dependencies (dependency injection) | COMMENT |
| MEDIUM | …ion/src/datahub/ingestion/source/informatica/source.py | 178 | # ``input_ds → MT1 → … → MTn → orchestrate → out_ds``. | COMMENT |
| MEDIUM | …ion/src/datahub/ingestion/source/informatica/source.py | 181 | # up to any Taskflow's orchestrate. | COMMENT |
| MEDIUM | …ion/src/datahub/ingestion/source/informatica/source.py | 990 | # orchestrate so the Taskflow Lineage view has the full pipeline. | COMMENT |
| MEDIUM | …ion/src/datahub/ingestion/source/informatica/source.py | 1204 | # onto the orchestrate's accumulated ``outputDatasets``. | COMMENT |
| MEDIUM | …datahub/ingestion/source/confluence/confluence_html.py | 81 | # Template / space scaffolding | COMMENT |
| MEDIUM | …tahub/ingestion/source/unstructured/chunking_source.py | 466 | # Choose mode: event-driven or batch | COMMENT |
| MEDIUM | …/src/datahub/ingestion/source/sap_datasphere/client.py | 506 | # Shared CSN request scaffold for flow/object design-time fetches: GET the | COMMENT |
| MEDIUM | …ta-ingestion/src/datahub/ingestion/agent/introspect.py | 390 | # as `probe filter` reports it. Declared ones only, and scaffold() skips | COMMENT |
| MEDIUM | …ingestion/src/datahub/ingestion/agent/probe_methods.py | 70 | # context window, and a listing can run to tens of thousands of names. | COMMENT |
| MEDIUM | …/src/datahub/ingestion/glossary/classifier_registry.py | 8 | # orchestration mixin) is intentionally retained so custom classifiers can still be | COMMENT |
| MEDIUM | …src/datahub/ingestion/glossary/classification_types.py | 9 | # the orchestration mixin usable by third-party classifiers without the dependency. | COMMENT |
| MEDIUM | metadata-ingestion/src/datahub/sdk/document.py | 1238 | # Build embedding model data with metadata | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …vice/configuration/src/main/resources/application.yaml | 2151 | # Works in conjunction with fieldLevelOperations - both conditions must match if both are set | COMMENT |
| LOW | datahub-actions/tests/unit/utils/test_kafka_msk_iam.py | 19 | # If already present (package installed), just return the real module | COMMENT |
| LOW | …hub_actions/plugin/action/execution/executor_action.py | 208 | # and not just dicts, we can just pass in the DataHubSecretStoreConfig | COMMENT |
| MEDIUM | smoke-test/smoke.sh | 4 | # Runs a basic e2e test. It is not meant to be fully comprehensive, | COMMENT |
| LOW | smoke-test/tests/unit/zdu/test_rolling_restart.py | 325 | # restart in a future profile) must not crash — just return empty. | COMMENT |
| MEDIUM | smoke-test/tests/oauth/test_oauth_cli_gms.py | 38 | # harness overlays the triggering ref's SDK source onto the released install | COMMENT |
| MEDIUM | smoke-test/tests/zdu/framework/scenarios.py | 697 | # harness — those need infrastructure outside this branch's scope | COMMENT |
| LOW | …e-test/tests/zdu/framework/phases/nuke_and_redeploy.py | 214 | # upgrade. Services absent from the profile just add an unread env var. | COMMENT |
| MEDIUM | smoke-test/tests/e2e/semantic/test_semantic_search.py | 631 | # it is robust to stale documents from prior test runs ranking above ours. | COMMENT |
| MEDIUM | …sources/analytics_backfill/backfill_activity_events.py | 46 | # Entity types for analytics - comprehensive list of DataHub entities | COMMENT |
| MEDIUM | …odules/airflow-plugin/tests/integration/test_plugin.py | 154 | # task instance actually succeeded (the harness's own task dump shows all | COMMENT |
| LOW | …odules/airflow-plugin/tests/integration/test_plugin.py | 860 | # When run directly, just set up a local airflow instance. | COMMENT |
| MEDIUM | …rc/datahub_airflow_plugin/airflow3/datahub_listener.py | 931 | # harness). Requires Airflow 3.x AssetEvent ORM. | COMMENT |
| MEDIUM | .github/scripts/test_resolve_image_builds.sh | 85 | # Same harness as check(), asserting one line of the image_version_env heredoc | COMMENT |
| MEDIUM | .github/scripts/compare_test_weights.py | 42 | """Calculate comprehensive change statistics.""" | STRING |
| MEDIUM | …gestion/tests/unit/test_athena_properties_extractor.py | 541 | # Test comprehensive TBLPROPERTIES for Iceberg | STRING |
| LOW⚡ | …ata-ingestion/tests/unit/test_hive_metastore_source.py | 657 | # Should not crash, just return no lineage | COMMENT |
| LOW | …ata-ingestion/tests/unit/test_hive_metastore_source.py | 631 | # Should not crash, just return no lineage | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/sdk_v2/test_chart.py | 362 | # Add some input datasets for comprehensive testing | COMMENT |
| MEDIUM | …tests/unit/tableau/test_tableau_virtual_connections.py | 339 | """Test comprehensive error handling""" | STRING |
| MEDIUM | …tadata-ingestion/tests/unit/agent/test_probe_parity.py | 186 | # masked name and the notice the CLI appends must both reach the harness. | COMMENT |
| MEDIUM | metadata-ingestion/tests/unit/sigma/test_sigma_api.py | 2671 | # stringify for substring matching so this is robust to the | COMMENT |
| MEDIUM | …-ingestion/tests/unit/snowplow/test_snowplow_client.py | 393 | """Test all API methods for comprehensive coverage.""" | STRING |
| LOW | …ingestion/tests/unit/snowplow/test_schema_processor.py | 211 | # Should not raise, just return empty mapping | COMMENT |
| LOW⚡ | …on/tests/unit/executor/test_sub_process_task_common.py | 83 | # Should just return the base error message | COMMENT |
| LOW | …estion/tests/integration/dbt/jaffle_shop_manifest.json | 1 | {"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v5.json", "dbt_version": "1.1.0", "generate | CODE |
| MEDIUM | …gestion/tests/integration/bigquery_v2/test_bigquery.py | 1192 | # pass) and identity CLL (needs a graph, absent in this mock harness) do not. | COMMENT |
| MEDIUM | …ests/integration/azure_data_factory/test_adf_source.py | 354 | """Generate comprehensive test data for the ADF source.""" | STRING |
| MEDIUM | …tion/tests/integration/postgres/test_postgres_probe.py | 42 | # The parity harness masks its reports against the process-global registry, as | COMMENT |
| MEDIUM | …/tests/integration/kafka_connect/test_kafka_connect.py | 137 | # a double and more robust check here is needed | COMMENT |
| MEDIUM | …stion/tests/integration/cassandra/setup/cassandra.yaml | 1558 | # each write which may be lower in order to facilitate availability. | COMMENT |
| MEDIUM | …-ingestion/tests/integration/mysql/test_mysql_probe.py | 43 | # The parity harness masks its reports against the process-global registry, as | COMMENT |
| MEDIUM | …-ingestion/tests/integration/mssql/test_mssql_probe.py | 39 | # The parity harness masks its reports against the process-global registry, as | COMMENT |
| MEDIUM | …a-ingestion/examples/library/dataflow_comprehensive.py | 9 | # Create a DataFlow with comprehensive metadata | COMMENT |
| MEDIUM | metadata-ingestion/examples/iceberg/create_table.py | 12 | # Define a more comprehensive schema for ski resort data | COMMENT |
| MEDIUM | metadata-ingestion/scripts/connector_registry.py | 111 | """Generate a comprehensive registry of connector metadata across all plugins.""" | STRING |
| MEDIUM | metadata-ingestion/scripts/connector_registry.py | 257 | """Generate a comprehensive connector registry for all ingestion sources.""" | STRING |
| LOW | …ata-ingestion/src/datahub/ingestion/source/superset.py | 900 | # can just return the urn directly | COMMENT |
| LOW | …data-ingestion/src/datahub/ingestion/source/openapi.py | 250 | # TODO: We should just create a requests.Session and set all the auth | COMMENT |
| LOW | …n/src/datahub/ingestion/source/looker/view_upstream.py | 1354 | # Don't throw an error, just return the original field name | COMMENT |
| LOW | …estion/src/datahub/ingestion/source/tableau/tableau.py | 1294 | # and extract the hostname, otherwise just return the connection string. | COMMENT |
| LOW | …src/datahub/ingestion/source/azure/abs_folder_utils.py | 162 | # Unlike container tags, if an object does not have tags, it will just return an empty array | COMMENT |
| MEDIUM | …ahub/ingestion/source/azure_data_factory/adf_source.py | 993 | # Get the Data Flow name using our robust lookup | COMMENT |
| MEDIUM | …src/datahub/ingestion/source/snowflake/snowflake_v2.py | 1084 | # or to handle serde errors gracefully, or to use a robust serialization format instead of pickle, | COMMENT |
| MEDIUM | …n/src/datahub/ingestion/source/kafka_connect/common.py | 256 | # Confluent Cloud Kafka API configuration for comprehensive topic retrieval | COMMENT |
| LOW | …stion/source/powerbi/rest_api_wrapper/data_resolver.py | 53 | # It is not failure so no need to log the message just return with False | COMMENT |
| LOW | …rc/datahub/ingestion/source/powerbi/m_query/_bridge.py | 146 | # If we just set _bridge_instance = None here, Python's GC decides | COMMENT |
| MEDIUM | …-ingestion/src/datahub/ingestion/source/kafka/kafka.py | 472 | # Handle comprehensive schema resolution for topics without schemas | COMMENT |
| LOW | …n/src/datahub/ingestion/source/kafka/kafka_profiler.py | 329 | # If no simple type found, just use the first one | COMMENT |
| LOW | …tion/src/datahub/ingestion/source/aws/s3_boto_utils.py | 66 | # Unlike bucket tags, if an object does not have tags, it will just return an empty array | COMMENT |
| LOW | …tahub/ingestion/source/unstructured/chunking_config.py | 398 | # Don't fail if config file doesn't exist - just use localhost | COMMENT |
| LOW | …tahub/ingestion/source/unstructured/chunking_config.py | 433 | # Don't fail if config file doesn't exist - just return None | COMMENT |
| LOW | …gestion/src/datahub/ingestion/source/git/git_import.py | 47 | # so we can just add one unconditionally. | COMMENT |
| LOW | …gestion/src/datahub/ingestion/source/git/git_import.py | 86 | # we can't just use the --branch flag of Git clone. Doing a blobless clone allows | COMMENT |
| MEDIUM⚡ | …atahub/ingestion/source/sql/hive/hive_thrift_client.py | 755 | # _fetch_*_rows() methods, enabling seamless integration with the parent class. | COMMENT |
| MEDIUM | …-ingestion/src/datahub/emitter/serialization_helper.py | 34 | # the aforementioned assumption in our tests. | COMMENT |
| LOW | …ngestion/src/datahub/utilities/prefix_batch_builder.py | 66 | # However, we'll just use a greedy algorithm for simplicity. | COMMENT |
| LOW | …ata-ingestion/src/datahub/utilities/yaml_sync_utils.py | 32 | # We should support that, but for now, we just use the sequence indent. | COMMENT |
| LOW | metadata-ingestion/src/datahub/sdk/resolver_client.py | 65 | # TODO: In auto methods, should we just create the user/domain/etc if it doesn't exist? | COMMENT |
| LOW | …a-ingestion/src/datahub/sql_parsing/sqlglot_lineage.py | 1891 | # If it fails, just return the original statement. | COMMENT |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | datahub-agent-context/examples/langchain/setup_dev.sh | 29 | echo " export OPENAI_API_KEY='your-api-key-here'" | CODE |
| HIGH | datahub-agent-context/examples/google_adk/setup_dev.sh | 29 | echo " export GOOGLE_API_KEY='your-api-key-here' # Gemini Developer API" | CODE |
| HIGH | …ged-datahub/datahub-api/graphql-api/getting-started.md | 29 | curl -X GET 'https://your-account.acryl.io/api/gms/config' --header <YOUR_TOKEN> | CODE |
| HIGH | docs/how-to/semantic-search-configuration.md | 23 | kubectl create secret generic openai-secret --from-literal=api-key=sk-your-api-key-here | CODE |
| HIGH | docs/how-to/semantic-search-configuration.md | 97 | OPENAI_API_KEY=sk-your-api-key-here | CODE |
| HIGH | docs/dev-guides/semantic-search/CONFIGURATION.md | 225 | OPENAI_API_KEY=sk-your-api-key-here | CODE |
| HIGH | …ct/src/app/ingest/source/builder/RecipeForm/airbyte.ts | 56 | placeholder: 'your-api-key', | CODE |
| HIGH⚡ | …ts/integration/snowplow/docs/REAL_BDP_TESTING_GUIDE.md | 40 | export SNOWPLOW_API_KEY_ID="your-api-key-id-here" | CODE |
| HIGH⚡ | …ts/integration/snowplow/docs/REAL_BDP_TESTING_GUIDE.md | 41 | export SNOWPLOW_API_KEY="your-api-key-secret-here" | CODE |
| HIGH | …tadata-ingestion/docs/sources/fivetran/fivetran_pre.md | 297 | api_key: "your_api_key" | CODE |
| HIGH | …tadata-ingestion/docs/sources/fivetran/fivetran_pre.md | 342 | api_key: "your_api_key" | CODE |
| HIGH | …ta-ingestion/docs/sources/fivetran/fivetran_recipe.yml | 74 | # api_key: "your_api_key" | COMMENT |
| HIGH | …data-ingestion/docs/sources/airbyte/airbyte_recipe.yml | 13 | # api_key: your_api_key # Alternative: API token if available | COMMENT |
| HIGH | …necone/skill_docs/PINECONE_CONNECTOR_IMPLEMENTATION.md | 255 | export PINECONE_API_KEY="your-api-key" | CODE |
| HIGH | …rce/pinecone/skill_docs/PINECONE_CONNECTOR_PLANNING.md | 120 | pc = Pinecone(api_key="YOUR_API_KEY") | CODE |
| HIGH | docs-website/generateDocsDir.ts | 714 | // everything else (code-fence placeholders like <YOUR_TOKEN>, config-table | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | perf-test/authz-perf/lib/metadata.py | 74 | CODE | |
| LOW | …ub-actions/src/datahub_actions/event/event_envelope.py | 50 | CODE | |
| LOW | …ts/zdu/framework/phases/skip_already_migrated_sweep.py | 85 | CODE | |
| LOW | …e-test/tests/zdu/framework/phases/kill_switch_sweep.py | 80 | CODE | |
| LOW | …e-test/tests/zdu/framework/phases/batch_delay_sweep.py | 71 | CODE | |
| LOW | …st/tests/e2e/library_examples/test_library_examples.py | 52 | CODE | |
| LOW | smoke-test/tests/e2e/cli/user_cmd/test_user_add.py | 58 | CODE | |
| LOW | …est/tests/e2e/knowledge/document_search_filter_test.py | 47 | CODE | |
| LOW | …st/tests/e2e/knowledge/document_change_history_test.py | 46 | CODE | |
| LOW | smoke-test/tests/e2e/semantic/test_semantic_search.py | 150 | CODE | |
| LOW | …tion-modules/gx-plugin/src/datahub_gx_plugin/action.py | 80 | CODE | |
| LOW | …/src/datahub_dagster_plugin/sensors/datahub_sensors.py | 73 | CODE | |
| LOW | …les/prefect-plugin/src/prefect_datahub/example/flow.py | 14 | CODE | |
| LOW | metadata-ingestion/tests/unit/test_transform_dataset.py | 1656 | CODE | |
| LOW | metadata-ingestion/tests/unit/test_transform_dataset.py | 3263 | CODE | |
| LOW | metadata-ingestion/tests/unit/test_transform_dataset.py | 3434 | CODE | |
| LOW | metadata-ingestion/tests/unit/test_clickhouse_source.py | 643 | CODE | |
| LOW | metadata-ingestion/tests/unit/hive_test_utils.py | 18 | CODE | |
| LOW | …ta-ingestion/tests/unit/sqlmesh/test_sqlmesh_source.py | 91 | CODE | |
| LOW | metadata-ingestion/tests/unit/glue/test_glue_source.py | 100 | CODE | |
| LOW | …data-ingestion/tests/unit/hex/test_document_builder.py | 37 | CODE | |
| LOW | …stion/tests/unit/bigquery/test_bigquery_policy_tags.py | 30 | CODE | |
| LOW | …/tests/unit/snowflake/test_snowflake_semantic_model.py | 74 | CODE | |
| LOW | metadata-ingestion/tests/unit/odcs/test_odcs_mapper.py | 60 | CODE | |
| LOW | …tadata-ingestion/tests/integration/snowflake/common.py | 201 | CODE | |
| LOW | metadata-ingestion/src/datahub/entrypoints.py | 357 | CODE | |
| LOW | …a-ingestion/src/datahub/ingestion/recording/archive.py | 156 | CODE | |
| LOW | …ub/ingestion/source/looker/looker_template_language.py | 350 | CODE | |
| LOW | …src/datahub/ingestion/source/tableau/tableau_common.py | 1154 | CODE | |
| LOW | …a-ingestion/src/datahub/ingestion/source/hex/mapper.py | 84 | CODE | |
| LOW | …b/ingestion/source/sqlalchemy_profiler/base_adapter.py | 488 | CODE | |
| LOW | …ta-ingestion/src/datahub/ingestion/source/omni/omni.py | 442 | CODE | |
| LOW | …gestion/src/datahub/ingestion/source/sql/clickhouse.py | 700 | CODE | |
| LOW | …ub/ingestion/source/sql/athena_properties_extractor.py | 219 | CODE | |
| LOW | …ngestion/src/datahub/ingestion/source/sql/sql_utils.py | 62 | CODE | |
| LOW | …ngestion/src/datahub/ingestion/source/sql/sql_utils.py | 126 | CODE | |
| LOW | …adata-ingestion/src/datahub/ingestion/graph/openapi.py | 230 | CODE | |
| LOW | …adata-ingestion/src/datahub/ingestion/graph/openapi.py | 338 | CODE | |
| LOW | …adata-ingestion/src/datahub/ingestion/graph/openapi.py | 414 | CODE | |
| LOW | …adata-ingestion/src/datahub/ingestion/graph/openapi.py | 509 | CODE | |
| LOW | …tadata-ingestion/src/datahub/ingestion/graph/client.py | 1007 | CODE | |
| LOW | …tadata-ingestion/src/datahub/ingestion/graph/client.py | 1082 | CODE | |
| LOW | …tadata-ingestion/src/datahub/ingestion/graph/client.py | 1258 | CODE | |
| LOW | …tadata-ingestion/src/datahub/ingestion/graph/client.py | 2097 | CODE | |
| LOW | metadata-ingestion/src/datahub/emitter/rest_emitter.py | 482 | CODE | |
| LOW | metadata-ingestion/src/datahub/emitter/mcp_builder.py | 310 | CODE | |
| LOW | metadata-ingestion/src/datahub/emitter/mcp_builder.py | 440 | CODE | |
| LOW | …data-ingestion/src/datahub/cli/specific/file_loader.py | 26 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/glossary_node.py | 74 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/datajob.py | 67 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/mlmodel.py | 64 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/mlmodel.py | 315 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/semantic_model.py | 165 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/semantic_model.py | 557 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/assertion_client.py | 36 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/chart.py | 62 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/mlmodelgroup.py | 50 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/container.py | 61 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/glossary_term.py | 102 | CODE | |
| LOW | metadata-ingestion/src/datahub/sdk/dataset.py | 510 | CODE | |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/airflow/docker-compose.yaml | 42 | # Feel free to modify this file to suit your needs. | COMMENT |
| MEDIUM | …kedin/metadata/registry/SchemaRegistryServiceImpl.java | 409 | // This is a basic implementation - in production you'd want more sophisticated checking | COMMENT |
| MEDIUM | …kedin/metadata/registry/SchemaRegistryServiceImpl.java | 426 | // This is a basic implementation - in production you'd want more sophisticated checking | COMMENT |
| LOW | …ub/client/v2/entity/RequiresMutableAnnotationTest.java | 15 | * <p>This test ensures developers don't forget to annotate mutation methods, which would bypass | COMMENT |
| MEDIUM | …stion/tests/integration/cassandra/setup/cassandra.yaml | 54 | # initial_token allows you to specify tokens manually. While you can use it with | COMMENT |
| MEDIUM | …stion/tests/integration/cassandra/setup/cassandra.yaml | 819 | # you may want to adjust max_value_size accordingly. This should be positive and less than 2048. | COMMENT |
| MEDIUM | …-ingestion/tests/integration/azure_ad/test_azure_ad.py | 126 | # Azure offers a tool called 'graph-explorer' that you can use to generate fake data, | COMMENT |
| LOW | …n/src/datahub/ingestion/source/looker/looker_source.py | 328 | # for measure, we can also make sure to index the underlying field that the measure uses | COMMENT |
| LOW | …b/ingestion/source/state/redundant_run_skip_handler.py | 207 | # make sure to consider complete time bucket for usage | COMMENT |
| LOW | metadata-ingestion/src/datahub/cli/docker_check.py | 91 | # Yield the client and make sure to close it. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/troubleshooting/quickstart.md | 281 | ## I've modified the default user.props file to include a custom username and password, but I don't see the new user(s) | COMMENT |
| HIGH | …ns/datahub-demo-dataset-governance-validator/README.md | 34 | # In this example, we start with the current stable DataHub image- this can be any GMS image however. | COMMENT |
| HIGH | …gestion/tests/unit/sql_parsing/test_sqlglot_lineage.py | 1138 | # In this example, output col1 should come from table3 and not table1, since the cte is unused. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | metadata-ingestion/tests/unit/test_mode_source.py | 564 | CODE | |
| MEDIUM | metadata-ingestion/tests/unit/test_mode_source.py | 579 | CODE | |
| MEDIUM | metadata-ingestion/tests/unit/test_mode_source.py | 594 | CODE | |
| MEDIUM | metadata-ingestion/tests/unit/test_mode_source.py | 611 | CODE | |
| MEDIUM | metadata-ingestion/tests/unit/test_oracle_source.py | 1885 | CODE | |
| MEDIUM | …-ingestion/tests/unit/test_unity_catalog_usage_join.py | 2046 | CODE | |
| MEDIUM | …-ingestion/tests/unit/test_unity_catalog_usage_join.py | 1126 | CODE | |
| MEDIUM | metadata-ingestion/tests/unit/cube/test_cube_source.py | 309 | CODE | |
| MEDIUM | …tests/unit/bigquery/test_bigquery_queries_extractor.py | 1090 | CODE | |
| MEDIUM | …ata-ingestion/tests/unit/montecarlo/test_montecarlo.py | 2192 | CODE | |
| MEDIUM | …ata-ingestion/tests/unit/montecarlo/test_montecarlo.py | 2214 | CODE | |
| MEDIUM | …-ingestion/tests/unit/vertexai/test_vertexai_source.py | 656 | CODE | |
| MEDIUM | …gestion/source/vertexai/vertexai_training_extractor.py | 205 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/com/linkedin/metadata/service/LineageServiceTest.java | 129 | // TODO: Add tests for permissions once we add permissions for updating lineage | COMMENT |
| LOW | …pp/entityV2/shared/tabs/Dataset/Queries/QueriesTab.tsx | 48 | // TODO: implement search filtering properly | COMMENT |
| LOW | …yV2/summary/properties/hooks/usePropertiesFromAsset.ts | 10 | // TODO: implement loading and transformation of asset properties | COMMENT |
| LOW | datahub-web-react/src/app/homeV3/modules/utils.ts | 22 | // TODO: implement getting of the correct description | COMMENT |
| LOW | …tadata-ingestion/tests/integration/snowflake/common.py | 421 | # TODO: Add tests for view pagination. | STRING |
| LOW | …tadata-ingestion/tests/integration/snowflake/common.py | 603 | # TODO: Add tests for stream pagination. | STRING |
| LOW | metadata-ingestion/src/datahub/cli/lineage_cli.py | 279 | # TODO: implement get_paths_between in LineageClient | COMMENT |
| LOW | metadata-ingestion/src/datahub/sdk/entity_client.py | 115 | # TODO: add error handling around this with a suggested alternative if not yet supported | COMMENT |
| LOW | metadata-ingestion/src/datahub/sdk/entity.py | 197 | # TODO: Add validation to ensure that an "extra aspect" does not conflict | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …gent-skills/test-review/scripts/detect-test-changes.sh | 12 | # Usage: | COMMENT |
| LOW | …sts/integration/hive-metastore/docker-compose.hms3.yml | 13 | # Usage: | COMMENT |
| LOW⚡ | …integration/hive-metastore/kerberos/test-connection.sh | 8 | # Usage: | COMMENT |
| LOW | …tests/integration/recording/test_recording_workflow.sh | 4 | # Usage: | COMMENT |
| LOW | metadata-ingestion/examples/ai/dh_ai_client_sample.py | 40 | # Example usage | COMMENT |
| LOW | …n/src/datahub/api/entities/external/restricted_text.py | 42 | # Usage example | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ub-agent-context/tests/unit/snowflake/test_udf_base.py | 118 | assert "def test_function():" in result | CODE |
| LOW | smoke-test/tests/e2e/utils.py | 275 | def test_function(): | STRING |
| LOW | …n-modules/dagster-plugin/examples/advanced_ops_jobs.py | 52 | def do_stuff(): | CODE |
| LOW | …a-ingestion-modules/dagster-plugin/examples/ops_job.py | 38 | def do_stuff(): | CODE |
| LOW | …stion/tests/unit/vertexai/test_vertexai_ml_metadata.py | 88 | def helper(self, mock_metadata_client, ml_metadata_config, mock_uri_parser): | CODE |
| LOW⚡ | …tests/integration/snowflake/test_snowflake_failures.py | 46 | def my_function(query): | CODE |
| LOW⚡ | …tests/integration/snowflake/test_snowflake_failures.py | 57 | def my_function(query): | CODE |
| LOW | …ion/src/datahub/executor/execution/default_executor.py | 104 | def execute_task( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/managed-datahub/release-notes/v_0_3_12.md | 37 | - Fix incorrect/missing closing parenthesis in links generated by AI | CODE |