Skip to content

GOBBLIN-2263: Refresh DagAction latency anchor#4198

Open
agam-99 wants to merge 1 commit into
apache:masterfrom
agam-99:agsingh/fix-dag-action-latency-anchor
Open

GOBBLIN-2263: Refresh DagAction latency anchor#4198
agam-99 wants to merge 1 commit into
apache:masterfrom
agam-99:agsingh/fix-dag-action-latency-anchor

Conversation

@agam-99
Copy link
Copy Markdown
Contributor

@agam-99 agam-99 commented May 27, 2026

Dear Gobblin maintainers,

Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!

JIRA

Description

  • Here are some details about my PR, including screenshots (if applicable):
    • Refreshes dagAction.launch.storeInsertTimeMillis on each job's JobSpec immediately before executor submission, using the current DagAction lease timestamp instead of the original flow LAUNCH timestamp.
    • Threads the current LeaseParams through launch, reevaluate, and resume DagProc submission paths so downstream jobs in multi-hop DAGs measure their own DagAction queueing latency rather than elapsed DAG runtime.
    • Updates serialized job properties alongside the Typesafe config so GaaSJobObservabilityEvent and GridGateway metric emission observe the same fresh anchor.
    • Uses binary UTF-8 collations for orchestration identifier tables so non-ASCII flow/job identifiers can be compared safely; dag_node_id/parent_dag_id use utf8_bin to stay within MySQL index limits.

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:
    • Added DagProcUtilsTest.testSubmitJobToExecutorReplacesStaleStoreInsertTimeMillis to verify stale anchors are replaced in both JobSpec config and properties before submission.
    • Added ReevaluateDagProcTest.testCurrentJobToRunReplacesStaleStoreInsertTimeMillis to cover the downstream REEVALUATE path.
    • JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_282-msft.jdk/Contents/Home" ./gradlew :gobblin-service:compileJava :gobblin-service:compileTestJava
    • JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_282-msft.jdk/Contents/Home" ./gradlew :gobblin-service:test --tests "org.apache.gobblin.service.modules.orchestration.proc.DagProcUtilsTest"
    • Attempted JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_282-msft.jdk/Contents/Home" ./gradlew :gobblin-service:test --tests "org.apache.gobblin.service.modules.orchestration.proc.DagProcUtilsTest" --tests "org.apache.gobblin.service.modules.orchestration.proc.ReevaluateDagProcTest" --tests "org.apache.gobblin.service.modules.orchestration.proc.LaunchDagProcTest"; the suite compiled but failed during TestMetastoreDatabaseFactory setup because Docker/Testcontainers is not available in this environment.
    • git diff --check
    • mint build not applicable: this checkout is not a LinkedIn multiproduct directory.

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Made with Cursor

Stamp each submitted job with the current DagAction store insert time
so the launch latency metric measures per-action queueing rather than
elapsed DAG runtime. Also use UTF-8 binary collations for orchestration
identifier tables so non-ASCII flow names can be compared safely.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant