{
  "ticket": "U38 #75",
  "status": "passed",
  "startedAt": "2026-10-30T11:28:42.360389+08:00",
  "finishedAt": "2026-10-30T11:30:19.431504+08:00",
  "input": "python3 labs/seata/run.py",
  "exitCode": 0,
  "environment": {
    "os": "macOS-27.2-arm64-arm-64bit",
    "arch": "arm64",
    "python": "3.9.6",
    "declaredVersions": {
      "spring-boot": "2.7.18",
      "seata": "2.5.0",
      "mysql-connector-j": "9.7.0",
      "spring-cloud-alibaba": "2025.1.0.0",
      "java": "21",
      "modules": "core(seata-all)+starter(spring-boot-starter)"
    },
    "jdk": "Picked up JAVA_TOOL_OPTIONS: -Xms32m -Xmx192m -XX:ActiveProcessorCount=2 -Dio.netty.eventLoopThreads=2\nopenjdk version \"21.0.11\" 2026-04-21 LTS\nOpenJDK Runtime Environment (build 21.0.11+11-LTS)\nOpenJDK 64-Bit Server VM (build 21.0.11+11-LTS, mixed mode, sharing)",
    "maven": "Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)\nMaven home: <user-home>/develop/maven-3.9.9\nJava version: 21.0.11, vendor: BellSoft, runtime: /Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home\nDefault locale: zh_CN_#Hans, platform encoding: UTF-8\nOS name: \"mac os x\", version: \"27.2\", arch: \"aarch64\", family: \"mac\"\nPicked up JAVA_TOOL_OPTIONS: -Xms32m -Xmx192m -XX:ActiveProcessorCount=2 -Dio.netty.eventLoopThreads=2",
    "dependencies": {
      "com.zaxxer:HikariCP": "4.0.3",
      "org.slf4j:slf4j-api": "1.7.36",
      "org.apache.seata:seata-all": "2.5.0",
      "org.springframework:spring-context": "5.3.31",
      "org.springframework:spring-expression": "5.3.31",
      "org.springframework:spring-core": "5.3.31",
      "org.springframework:spring-jcl": "5.3.31",
      "org.springframework:spring-beans": "5.3.31",
      "org.springframework:spring-aop": "5.3.31",
      "org.springframework:spring-webmvc": "5.3.31",
      "org.springframework:spring-web": "5.3.31",
      "org.springframework:spring-tx": "5.3.31",
      "io.netty:netty-all": "4.1.101.Final",
      "io.netty:netty-buffer": "4.1.101.Final",
      "io.netty:netty-codec": "4.1.101.Final",
      "io.netty:netty-codec-dns": "4.1.101.Final",
      "io.netty:netty-codec-haproxy": "4.1.101.Final",
      "io.netty:netty-codec-http": "4.1.101.Final",
      "io.netty:netty-codec-http2": "4.1.101.Final",
      "io.netty:netty-codec-memcache": "4.1.101.Final",
      "io.netty:netty-codec-mqtt": "4.1.101.Final",
      "io.netty:netty-codec-redis": "4.1.101.Final",
      "io.netty:netty-codec-smtp": "4.1.101.Final",
      "io.netty:netty-codec-socks": "4.1.101.Final",
      "io.netty:netty-codec-stomp": "4.1.101.Final",
      "io.netty:netty-codec-xml": "4.1.101.Final",
      "io.netty:netty-common": "4.1.101.Final",
      "io.netty:netty-handler": "4.1.101.Final",
      "io.netty:netty-transport-native-unix-common": "4.1.101.Final",
      "io.netty:netty-handler-proxy": "4.1.101.Final",
      "io.netty:netty-handler-ssl-ocsp": "4.1.101.Final",
      "io.netty:netty-resolver": "4.1.101.Final",
      "io.netty:netty-resolver-dns": "4.1.101.Final",
      "io.netty:netty-transport": "4.1.101.Final",
      "io.netty:netty-transport-rxtx": "4.1.101.Final",
      "io.netty:netty-transport-sctp": "4.1.101.Final",
      "io.netty:netty-transport-udt": "4.1.101.Final",
      "io.netty:netty-transport-classes-epoll": "4.1.101.Final",
      "io.netty:netty-transport-classes-kqueue": "4.1.101.Final",
      "io.netty:netty-resolver-dns-classes-macos": "4.1.101.Final",
      "io.netty:netty-transport-native-epoll": "4.1.101.Final",
      "io.netty:netty-transport-native-kqueue": "4.1.101.Final",
      "io.netty:netty-resolver-dns-native-macos": "4.1.101.Final",
      "org.antlr:antlr4": "4.8",
      "org.antlr:antlr4-runtime": "4.8",
      "org.antlr:antlr-runtime": "3.5.2",
      "org.antlr:ST4": "4.3",
      "org.abego.treelayout:org.abego.treelayout.core": "1.0.3",
      "org.glassfish:javax.json": "1.0.4",
      "com.ibm.icu:icu4j": "61.1",
      "com.alibaba:fastjson": "1.2.83",
      "com.alibaba:druid": "1.2.20",
      "com.typesafe:config": "1.2.1",
      "commons-lang:commons-lang": "2.6",
      "org.apache.commons:commons-pool2": "2.11.1",
      "commons-pool:commons-pool": "1.6",
      "org.apache.dubbo.extensions:dubbo-filter-seata": "1.0.2",
      "aopalliance:aopalliance": "1.0",
      "com.google.guava:guava": "32.1.3-jre",
      "com.google.guava:failureaccess": "1.0.1",
      "com.google.code.findbugs:jsr305": "3.0.2",
      "org.checkerframework:checker-qual": "3.37.0",
      "com.google.errorprone:error_prone_annotations": "2.21.1",
      "com.google.j2objc:j2objc-annotations": "2.8",
      "com.github.ben-manes.caffeine:caffeine": "2.9.3",
      "net.bytebuddy:byte-buddy": "1.12.23",
      "com.mysql:mysql-connector-j": "9.7.0",
      "com.fasterxml.jackson.core:jackson-databind": "2.13.5",
      "com.fasterxml.jackson.core:jackson-annotations": "2.13.5",
      "com.fasterxml.jackson.core:jackson-core": "2.13.5",
      "org.junit.jupiter:junit-jupiter": "5.8.2",
      "org.junit.jupiter:junit-jupiter-api": "5.8.2",
      "org.opentest4j:opentest4j": "1.2.0",
      "org.junit.platform:junit-platform-commons": "1.8.2",
      "org.apiguardian:apiguardian-api": "1.1.2",
      "org.junit.jupiter:junit-jupiter-params": "5.8.2",
      "org.junit.jupiter:junit-jupiter-engine": "5.8.2",
      "org.junit.platform:junit-platform-engine": "1.8.2",
      "study.seata:seata-lab-core": "u38",
      "org.apache.seata:seata-spring-boot-starter": "2.5.0",
      "org.apache.seata:seata-spring-autoconfigure-client": "2.5.0",
      "org.apache.seata:seata-spring-autoconfigure-core": "2.5.0",
      "org.springframework.boot:spring-boot-starter-jdbc": "2.7.18",
      "org.springframework.boot:spring-boot-starter": "2.7.18",
      "org.springframework.boot:spring-boot": "2.7.18",
      "org.springframework.boot:spring-boot-autoconfigure": "2.7.18",
      "org.springframework.boot:spring-boot-starter-logging": "2.7.18",
      "ch.qos.logback:logback-classic": "1.2.12",
      "ch.qos.logback:logback-core": "1.2.12",
      "org.apache.logging.log4j:log4j-to-slf4j": "2.17.2",
      "org.apache.logging.log4j:log4j-api": "2.17.2",
      "org.slf4j:jul-to-slf4j": "1.7.36",
      "jakarta.annotation:jakarta.annotation-api": "1.3.5",
      "org.yaml:snakeyaml": "1.30",
      "org.springframework:spring-jdbc": "5.3.31",
      "org.springframework.boot:spring-boot-starter-test": "2.7.18",
      "org.springframework.boot:spring-boot-test": "2.7.18",
      "org.springframework.boot:spring-boot-test-autoconfigure": "2.7.18",
      "com.jayway.jsonpath:json-path": "2.7.0",
      "net.minidev:json-smart": "2.4.11",
      "net.minidev:accessors-smart": "2.4.11",
      "org.ow2.asm:asm": "9.3",
      "jakarta.xml.bind:jakarta.xml.bind-api": "2.3.3",
      "jakarta.activation:jakarta.activation-api": "1.2.2",
      "org.assertj:assertj-core": "3.22.0",
      "org.hamcrest:hamcrest": "2.2",
      "org.mockito:mockito-core": "4.5.1",
      "net.bytebuddy:byte-buddy-agent": "1.12.23",
      "org.objenesis:objenesis": "3.2",
      "org.mockito:mockito-junit-jupiter": "4.5.1",
      "org.skyscreamer:jsonassert": "1.5.1",
      "com.vaadin.external.google:android-json": "0.0.20131108.vaadin1",
      "org.springframework:spring-test": "5.3.31",
      "org.xmlunit:xmlunit-core": "2.9.1"
    }
  },
  "expectedTestCount": 8,
  "expectedTests": {
    "study.seata.SeataAtTest": [
      "atCommitRollbackUndoLog",
      "atDirtyWriteUnretriable",
      "atGlobalLockConflict",
      "atTimeoutAutoRollback"
    ],
    "study.seata.SeataXaTest": [
      "xaCommitRollbackIsolation"
    ],
    "study.seata.SeataRecoveryTest": [
      "tcRestartRecoversPendingRollback"
    ],
    "study.seata.SeataTccFenceTest": [
      "tccFenceProtocol"
    ],
    "study.seata.SeataStarterTest": [
      "starterGlobalTransactional"
    ]
  },
  "reports": [
    {
      "name": "study.seata.SeataAtTest",
      "tests": "4",
      "failures": "0",
      "errors": "0",
      "skipped": "0",
      "testNames": [
        "atCommitRollbackUndoLog",
        "atGlobalLockConflict",
        "atTimeoutAutoRollback",
        "atDirtyWriteUnretriable"
      ],
      "sha256": "97995f6140415f1e25bb9126e046550f20919f3dee785fa17cce97283aa07ec9",
      "module": "core"
    },
    {
      "name": "study.seata.SeataRecoveryTest",
      "tests": "1",
      "failures": "0",
      "errors": "0",
      "skipped": "0",
      "testNames": [
        "tcRestartRecoversPendingRollback"
      ],
      "sha256": "379292674c50ab22a4752f098d377144b06f0bcaad5680018c0e665940370d37",
      "module": "core"
    },
    {
      "name": "study.seata.SeataXaTest",
      "tests": "1",
      "failures": "0",
      "errors": "0",
      "skipped": "0",
      "testNames": [
        "xaCommitRollbackIsolation"
      ],
      "sha256": "460fa59dc061acc190669133f73255499b3bb3338d3b0f8173f18bde41d413f8",
      "module": "core"
    },
    {
      "name": "study.seata.SeataStarterTest",
      "tests": "1",
      "failures": "0",
      "errors": "0",
      "skipped": "0",
      "testNames": [
        "starterGlobalTransactional"
      ],
      "sha256": "ba3d9ee5491f55bea53b2dd435a026aa0894bf59d274965344bcf7f2df6fa4cd",
      "module": "starter"
    },
    {
      "name": "study.seata.SeataTccFenceTest",
      "tests": "1",
      "failures": "0",
      "errors": "0",
      "skipped": "0",
      "testNames": [
        "tccFenceProtocol"
      ],
      "sha256": "7600744f79178c85cdcb48bc1c3b79cceb0ef01955e50c6dcc2e8d774bf607ef",
      "module": "starter"
    }
  ],
  "testCount": 8,
  "observed": [
    "U38 atCommitRollback=PASS",
    "U38 atGlobalLock=PASS",
    "U38 atTimeoutRollback=PASS",
    "U38 atDirtyWrite=PASS",
    "U38 xaIsolation=PASS",
    "U38 tcRestartRecovery=PASS",
    "U38 tccFence=PASS",
    "U38 starterBoot2=PASS",
    "U38 cleanup=PASS"
  ],
  "results": [
    {
      "name": "jdk",
      "command": [
        "/Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home/bin/java",
        "-version"
      ],
      "cwd": "<user-home>/Documents/面试/software-engineering-study/labs/seata",
      "startedAt": "2026-10-30T11:28:42.383387+08:00",
      "finishedAt": "2026-10-30T11:28:42.408604+08:00",
      "exitCode": 0,
      "runnerExitCode": 0,
      "timedOut": false,
      "failure": null,
      "log": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/jdk.log",
      "logSha256": "b89fea5c3ab1753ae3e33871f15e795f3b3f327d022a5fcf15ea574b5156b00d",
      "observed": []
    },
    {
      "name": "maven",
      "command": [
        "<user-home>/develop/maven-3.9.9/bin/mvn",
        "-version"
      ],
      "cwd": "<user-home>/Documents/面试/software-engineering-study/labs/seata",
      "startedAt": "2026-10-30T11:28:42.409168+08:00",
      "finishedAt": "2026-10-30T11:28:42.832901+08:00",
      "exitCode": 0,
      "runnerExitCode": 0,
      "timedOut": false,
      "failure": null,
      "log": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/maven.log",
      "logSha256": "f85854a5dab66c97f7c491961f3cb4a55a0971a816ce444d35209aff47f81a8e",
      "observed": []
    },
    {
      "name": "test",
      "command": [
        "<user-home>/develop/maven-3.9.9/bin/mvn",
        "-o",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "<user-home>/Documents/面试/software-engineering-study/labs/seata/pom.xml",
        "clean",
        "test",
        "-DskipTests=false",
        "-Dmaven.test.skip=false",
        "-Dmaven.clean.skip=false",
        "-Dmaven.test.failure.ignore=false",
        "-DfailIfNoTests=true"
      ],
      "cwd": "<user-home>/Documents/面试/software-engineering-study/labs/seata",
      "startedAt": "2026-10-30T11:28:42.833455+08:00",
      "finishedAt": "2026-10-30T11:30:14.830587+08:00",
      "exitCode": 0,
      "runnerExitCode": 0,
      "timedOut": false,
      "failure": null,
      "log": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/test.log",
      "logSha256": "c8af50e6339698ff5653f24ac00dd70e58071cdadf3c83c2c045a5756e6df297",
      "observed": [
        "U38 atCommitRollback=PASS",
        "U38 atGlobalLock=PASS",
        "U38 atTimeoutRollback=PASS",
        "U38 atDirtyWrite=PASS",
        "U38 xaIsolation=PASS",
        "U38 tcRestartRecovery=PASS",
        "U38 tccFence=PASS",
        "U38 starterBoot2=PASS"
      ]
    },
    {
      "name": "dependencies-core",
      "command": [
        "<user-home>/develop/maven-3.9.9/bin/mvn",
        "-o",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "<user-home>/Documents/面试/software-engineering-study/labs/seata/pom.xml",
        "-pl",
        "core",
        "-am",
        "test-compile",
        "dependency:list",
        "-DskipTests",
        "-DincludeScope=test",
        "-DappendOutput=false",
        "-DoutputFile=<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/core-dependencies.txt"
      ],
      "cwd": "<user-home>/Documents/面试/software-engineering-study/labs/seata",
      "startedAt": "2026-10-30T11:30:14.858721+08:00",
      "finishedAt": "2026-10-30T11:30:16.711717+08:00",
      "exitCode": 0,
      "runnerExitCode": 0,
      "timedOut": false,
      "failure": null,
      "log": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/dependencies-core.log",
      "logSha256": "d16bf5867171ea20b078c1aa28e457f57de802b3f2f99b56c43e5aa5dd745917",
      "observed": []
    },
    {
      "name": "dependencies-starter",
      "command": [
        "<user-home>/develop/maven-3.9.9/bin/mvn",
        "-o",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "<user-home>/Documents/面试/software-engineering-study/labs/seata/pom.xml",
        "-pl",
        "starter",
        "-am",
        "test-compile",
        "dependency:list",
        "-DskipTests",
        "-DincludeScope=test",
        "-DappendOutput=false",
        "-DoutputFile=<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/starter-dependencies.txt"
      ],
      "cwd": "<user-home>/Documents/面试/software-engineering-study/labs/seata",
      "startedAt": "2026-10-30T11:30:16.712158+08:00",
      "finishedAt": "2026-10-30T11:30:17.991791+08:00",
      "exitCode": 0,
      "runnerExitCode": 0,
      "timedOut": false,
      "failure": null,
      "log": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/dependencies-starter.log",
      "logSha256": "d16bf5867171ea20b078c1aa28e457f57de802b3f2f99b56c43e5aa5dd745917",
      "observed": []
    },
    {
      "name": "sca-resolve",
      "command": [
        "<user-home>/develop/maven-3.9.9/bin/mvn",
        "-o",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "<user-home>/Documents/面试/software-engineering-study/labs/seata/pom.xml",
        "-pl",
        "starter",
        "-am",
        "-Psca",
        "test-compile",
        "dependency:list",
        "-DskipTests",
        "-DincludeScope=test",
        "-DappendOutput=false",
        "-DoutputFile=<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/starter-sca-dependencies.txt"
      ],
      "cwd": "<user-home>/Documents/面试/software-engineering-study/labs/seata",
      "startedAt": "2026-10-30T11:30:17.992560+08:00",
      "finishedAt": "2026-10-30T11:30:19.257427+08:00",
      "exitCode": 0,
      "runnerExitCode": 0,
      "timedOut": false,
      "failure": null,
      "log": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/sca-resolve.log",
      "logSha256": "d16bf5867171ea20b078c1aa28e457f57de802b3f2f99b56c43e5aa5dd745917",
      "observed": []
    }
  ],
  "seataHome": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/dist/extracted-bin/apache-seata-2.5.0-incubating-bin/seata-server",
  "scaResolution": {
    "bom": "com.alibaba.cloud:spring-cloud-alibaba-dependencies:2025.1.0.0",
    "mode": "dependency:list（仅解析，未运行）",
    "verified": {
      "study.seata:seata-lab-core": "u38",
      "com.zaxxer:HikariCP": "4.0.3",
      "com.mysql:mysql-connector-j": "9.7.0",
      "com.fasterxml.jackson.core:jackson-databind": "2.13.5",
      "com.fasterxml.jackson.core:jackson-annotations": "2.13.5",
      "com.fasterxml.jackson.core:jackson-core": "2.13.5",
      "org.apache.seata:seata-spring-boot-starter": "2.5.0",
      "org.apache.seata:seata-spring-autoconfigure-client": "2.5.0",
      "org.apache.seata:seata-spring-autoconfigure-core": "2.5.0",
      "org.apache.seata:seata-all": "2.5.0",
      "org.springframework:spring-context": "5.3.31",
      "org.springframework:spring-expression": "5.3.31",
      "org.springframework:spring-core": "5.3.31",
      "org.springframework:spring-jcl": "5.3.31",
      "org.springframework:spring-beans": "5.3.31",
      "org.springframework:spring-aop": "5.3.31",
      "org.springframework:spring-webmvc": "5.3.31",
      "org.springframework:spring-web": "5.3.31",
      "org.springframework:spring-tx": "5.3.31",
      "io.netty:netty-all": "4.1.101.Final",
      "io.netty:netty-buffer": "4.1.101.Final",
      "io.netty:netty-codec": "4.1.101.Final",
      "io.netty:netty-codec-dns": "4.1.101.Final",
      "io.netty:netty-codec-haproxy": "4.1.101.Final",
      "io.netty:netty-codec-http": "4.1.101.Final",
      "io.netty:netty-codec-http2": "4.1.101.Final",
      "io.netty:netty-codec-memcache": "4.1.101.Final",
      "io.netty:netty-codec-mqtt": "4.1.101.Final",
      "io.netty:netty-codec-redis": "4.1.101.Final",
      "io.netty:netty-codec-smtp": "4.1.101.Final",
      "io.netty:netty-codec-socks": "4.1.101.Final",
      "io.netty:netty-codec-stomp": "4.1.101.Final",
      "io.netty:netty-codec-xml": "4.1.101.Final",
      "io.netty:netty-common": "4.1.101.Final",
      "io.netty:netty-handler": "4.1.101.Final",
      "io.netty:netty-transport-native-unix-common": "4.1.101.Final",
      "io.netty:netty-handler-proxy": "4.1.101.Final",
      "io.netty:netty-handler-ssl-ocsp": "4.1.101.Final",
      "io.netty:netty-resolver": "4.1.101.Final",
      "io.netty:netty-resolver-dns": "4.1.101.Final",
      "io.netty:netty-transport": "4.1.101.Final",
      "io.netty:netty-transport-rxtx": "4.1.101.Final",
      "io.netty:netty-transport-sctp": "4.1.101.Final",
      "io.netty:netty-transport-udt": "4.1.101.Final",
      "io.netty:netty-transport-classes-epoll": "4.1.101.Final",
      "io.netty:netty-transport-classes-kqueue": "4.1.101.Final",
      "io.netty:netty-resolver-dns-classes-macos": "4.1.101.Final",
      "io.netty:netty-transport-native-epoll": "4.1.101.Final",
      "io.netty:netty-transport-native-kqueue": "4.1.101.Final",
      "io.netty:netty-resolver-dns-native-macos": "4.1.101.Final",
      "org.antlr:antlr4": "4.8",
      "org.antlr:antlr4-runtime": "4.8",
      "org.antlr:antlr-runtime": "3.5.2",
      "org.antlr:ST4": "4.3",
      "org.abego.treelayout:org.abego.treelayout.core": "1.0.3",
      "org.glassfish:javax.json": "1.0.4",
      "com.ibm.icu:icu4j": "61.1",
      "com.alibaba:fastjson": "2.0.58",
      "com.alibaba.fastjson2:fastjson2-extension": "2.0.58",
      "com.alibaba.fastjson2:fastjson2": "2.0.58",
      "com.alibaba:druid": "1.2.27",
      "com.typesafe:config": "1.2.1",
      "org.slf4j:slf4j-api": "1.7.36",
      "commons-lang:commons-lang": "2.6",
      "org.apache.commons:commons-pool2": "2.11.1",
      "commons-pool:commons-pool": "1.6",
      "org.apache.dubbo.extensions:dubbo-filter-seata": "1.0.2",
      "aopalliance:aopalliance": "1.0",
      "com.google.guava:guava": "33.4.8-jre",
      "com.google.guava:failureaccess": "1.0.3",
      "org.jspecify:jspecify": "1.0.0",
      "com.google.errorprone:error_prone_annotations": "2.36.0",
      "com.google.j2objc:j2objc-annotations": "3.0.0",
      "com.github.ben-manes.caffeine:caffeine": "2.9.3",
      "org.checkerframework:checker-qual": "3.19.0",
      "net.bytebuddy:byte-buddy": "1.12.23",
      "org.springframework.boot:spring-boot-starter-jdbc": "2.7.18",
      "org.springframework.boot:spring-boot-starter": "2.7.18",
      "org.springframework.boot:spring-boot": "2.7.18",
      "org.springframework.boot:spring-boot-autoconfigure": "2.7.18",
      "org.springframework.boot:spring-boot-starter-logging": "2.7.18",
      "ch.qos.logback:logback-classic": "1.2.12",
      "ch.qos.logback:logback-core": "1.2.12",
      "org.apache.logging.log4j:log4j-to-slf4j": "2.17.2",
      "org.apache.logging.log4j:log4j-api": "2.17.2",
      "org.slf4j:jul-to-slf4j": "1.7.36",
      "jakarta.annotation:jakarta.annotation-api": "1.3.5",
      "org.yaml:snakeyaml": "1.30",
      "org.springframework:spring-jdbc": "5.3.31",
      "org.springframework.boot:spring-boot-starter-test": "2.7.18",
      "org.springframework.boot:spring-boot-test": "2.7.18",
      "org.springframework.boot:spring-boot-test-autoconfigure": "2.7.18",
      "com.jayway.jsonpath:json-path": "2.7.0",
      "net.minidev:json-smart": "2.4.11",
      "net.minidev:accessors-smart": "2.4.11",
      "org.ow2.asm:asm": "9.3",
      "jakarta.xml.bind:jakarta.xml.bind-api": "2.3.3",
      "jakarta.activation:jakarta.activation-api": "1.2.2",
      "org.assertj:assertj-core": "3.22.0",
      "org.hamcrest:hamcrest": "2.2",
      "org.junit.jupiter:junit-jupiter": "5.8.2",
      "org.junit.jupiter:junit-jupiter-api": "5.8.2",
      "org.opentest4j:opentest4j": "1.2.0",
      "org.junit.platform:junit-platform-commons": "1.8.2",
      "org.apiguardian:apiguardian-api": "1.1.2",
      "org.junit.jupiter:junit-jupiter-params": "5.8.2",
      "org.junit.jupiter:junit-jupiter-engine": "5.8.2",
      "org.junit.platform:junit-platform-engine": "1.8.2",
      "org.mockito:mockito-core": "4.5.1",
      "net.bytebuddy:byte-buddy-agent": "1.12.23",
      "org.objenesis:objenesis": "3.2",
      "org.mockito:mockito-junit-jupiter": "4.5.1",
      "org.skyscreamer:jsonassert": "1.5.1",
      "com.vaadin.external.google:android-json": "0.0.20131108.vaadin1",
      "org.springframework:spring-test": "5.3.31",
      "org.xmlunit:xmlunit-core": "2.9.1",
      "com.alibaba.cloud:spring-cloud-starter-alibaba-seata": "2025.1.0.0",
      "org.springframework.boot:spring-boot-webclient": "4.0.0",
      "org.springframework.boot:spring-boot-http-client": "4.0.0",
      "org.springframework.boot:spring-boot-http-converter": "4.0.0",
      "org.springframework:spring-webflux": "5.3.31",
      "io.projectreactor:reactor-core": "3.4.34",
      "org.reactivestreams:reactive-streams": "1.0.4",
      "org.springframework.boot:spring-boot-http-codec": "4.0.0",
      "org.springframework.boot:spring-boot-starter-aspectj": "4.0.0",
      "org.aspectj:aspectjweaver": "1.9.7"
    },
    "report": {
      "path": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/sca-dependencies.txt",
      "sha256": "10aac5dfe1d3d7912538602a4529ee19a01974acd65662d97c418e2cbed596e2"
    }
  },
  "artifacts": {
    "pom.xml": "c3507d015d3ff5d162d0bf3fa77881a7330736344465441914bdfe60c25348e0",
    "run.py": "5d7a65352ac8d16009e700e5e9594b9260feb2988ad8e9d771e5db676150cd05",
    "README.md": "fb9a05d8db89510847b66d4fc3f2b8a5a9953e05288ca9a4d3f3b6e9bc102b3f",
    "core/pom.xml": "db9ce09532c5347b9e098d4ee2c6fd9b25df3e643c364fe5f8784416f0241cfc",
    "starter/pom.xml": "7b235414b8f537fd674ea6f154b5fe6bc678b10d5938e8301d929ad409481872",
    "core/src/main/java/study/seata/DataSourceHolder.java": "674c7ed249d9ecb40eef4acb657b832c20c2a2bacb6adf7c65dc8f4905c03102",
    "core/src/main/java/study/seata/Harness.java": "b8959ea40a53b5dc63dc78b5449a2d1523c8da94222653f8943c36ebfd88fb54",
    "core/src/main/resources/sql/seata-server-mysql.sql": "8ddb7d0294e703de7f07e988e6951f96d30413fefa77028ae6112640631922c7",
    "core/src/main/resources/sql/tcc_fence_log-mysql.sql": "51192927cde896af6cb604e9dce06c7632f8156f809c9cce57afb96e2b32623b",
    "core/src/main/resources/sql/undo_log-mysql.sql": "8dcd994e28d31d494b0d3f90663c74d788fdb7250ef6ce0b8267b66170e91ce9",
    "core/src/test/java/study/seata/SeataAtTest.java": "b3735af56ea0fd548b52acbf726295d708f9c7c69f542c5c229b8609a47cc2a1",
    "core/src/test/java/study/seata/SeataRecoveryTest.java": "e1096f1370548d6b5c24e630af5d02df5e9cdf1f3f6c97e6c14043aae181ad5d",
    "core/src/test/java/study/seata/SeataXaTest.java": "8fae98593a8490a6a4e8911ed574f15224bd72c8a3846375edcf43a2699aa69f",
    "core/src/test/resources/file.conf": "9bed8af54eef4e435a2694c865ff61a4d08a3ad322ee2ac67a14a7cb68ee1f36",
    "core/src/test/resources/logback-test.xml": "952e8a91cc2e16a32523d8968b199be0410197134035b7eb1376caaffdfbb9f4",
    "core/src/test/resources/registry.conf": "15b78d12a2a140d09327413d72e68e5dc8a26c885272351072ea96dcf144c597",
    "starter/src/test/java/study/seata/SeataStarterTest.java": "7754689984626238aa1563e1562d789340c024c9b8516f9f865bb67efd687576",
    "starter/src/test/java/study/seata/SeataTccFenceTest.java": "1e6dd0131904ae5cd30ca72d73d62e4ef9491727ee29faac14be17611f33b675",
    "starter/src/test/resources/file.conf": "9bed8af54eef4e435a2694c865ff61a4d08a3ad322ee2ac67a14a7cb68ee1f36",
    "starter/src/test/resources/logback-test.xml": "952e8a91cc2e16a32523d8968b199be0410197134035b7eb1376caaffdfbb9f4",
    "starter/src/test/resources/registry.conf": "15b78d12a2a140d09327413d72e68e5dc8a26c885272351072ea96dcf144c597",
    "loopback/LoopbackAgent.java": "e721d75a39eaf22c531b4824a462ccdb5d7feb45816999cc1bdb6878041c95e0",
    "loopback/build.py": "49636551e294a40717809dcf63e920b814f473008331e609868746a298b6da51",
    "loopback/build.sh": "30326f8ca2439ad5a8791a532c3a30a1ae5bf58d180262b48a96b06b77801795"
  },
  "logs": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv",
  "cleanup": {
    "processGroups": "seata-server 由测试 JVM 直接管理并回收；mvn 进程由本入口同步等待",
    "resources": "study_u38_* 专用库由测试 JVM shutdown hook 删除；seata-server 进程与临时目录一并回收；run.py 复核端口与进程",
    "reports": [
      {
        "module": "core",
        "runId": "2530da5de5794ed69e94a530117f1bd1",
        "workRoot": "/var/folders/nj/d71mzd2s3hd50q4h30fcsq7r0000gn/T/u38-seata-4169965003592185976",
        "report": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/core-seata-cleanup.json",
        "sha256": "a4600619a8f5c97ff228848503d52bee3cf53efe8a44fc80bde55f1e48cfbc67"
      },
      {
        "module": "starter",
        "runId": "011b7359a2c04c5b9de8a4199e64a11f",
        "workRoot": "/var/folders/nj/d71mzd2s3hd50q4h30fcsq7r0000gn/T/u38-seata-4766371754801498822",
        "report": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/starter-seata-cleanup.json",
        "sha256": "938f26ccfe0e6758fb96c5bfded17e927fed77c952c12d088e04d168733aebc3"
      }
    ],
    "detail": "两个模块的数据库与独占临时目录已核验清理",
    "recovery": "Picked up JAVA_TOOL_OPTIONS: -Xms32m -Xmx192m -XX:ActiveProcessorCount=2 -Dio.netty.eventLoopThreads=2"
  },
  "limits": [
    "实验 agent 将 Seata 2.5.0 RPC 监听地址改为 127.0.0.1；事务实现未修改，原版默认通配监听",
    "TC 为单机 seata-server 2.5.0 发行版进程（store.mode=db，端口 18091）；无注册中心、无多 TC 集群",
    "SAGA 状态机引擎、Redis/raft store、namingserver、生产参数调优为推演，未运行",
    "starter 用例运行在 Seata 官方构建基线 Boot 2.7.18；课程 Boot 4.0.9 与 Seata 2.5.0 的组合未运行",
    "SCA spring-cloud-starter-alibaba-seata 2025.1.0.0 仅做依赖解析，不等于该组合实跑通过",
    "MySQL 实际版本记录于 runtimeObservations；主从/断电级崩溃恢复（kill -9 仅进程级）与生产容量不在证明范围"
  ],
  "runtimeJars": {
    "seataJarsSha256": {
      "target/seata-server.jar": "1eee5700a5651ca6bedb4b36a3c10287244488d6cb0dbb00c60c17fd026c945a",
      "lib/seata-core-2.5.0.jar": "6000b0640a4c0a74614b5e2bd785e1a45a91793af98c93e9307ce05b8f1b1d40",
      "lib/asm-6.0.jar": "dd8971c74a4e697899a8e95caae4ea8760ea6c486dc6b97b1795e75760420461"
    },
    "mysqlDriver": {
      "path": "<user-home>/.m2/repository/com/mysql/mysql-connector-j/9.7.0/mysql-connector-j-9.7.0.jar",
      "sha256": "0353648eaa1c91e0f4020c959abf756bc866ffd583df22ae6b6f6e0cbd43eb44",
      "version": "9.7.0"
    },
    "limits": "只固定并核对列出的三个 JAR 及其局部元数据，未验证其他依赖或完整发行包来源。"
  },
  "runtimeObservations": {
    "mysql": [
      {
        "file": "mysql-011b7359a2c04c5b9de8a4199e64a11f.txt",
        "version": "8.4.7"
      },
      {
        "file": "mysql-2530da5de5794ed69e94a530117f1bd1.txt",
        "version": "8.4.7"
      }
    ],
    "listeners": [
      {
        "file": "listener-011b7359a2c04c5b9de8a4199e64a11f-36109.txt",
        "output": "agentSha256=47c83bc520bac5d52850c3b5650a8d5cf711b7947f199ea0c35c6c009e400577\nCOMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME\njava    36109 gaochao  304u  IPv6 0xccd8ab970cbdf622      0t0  TCP 127.0.0.1:18091 (LISTEN)"
      },
      {
        "file": "listener-2530da5de5794ed69e94a530117f1bd1-35500.txt",
        "output": "agentSha256=a5afd46e582e179bef6d94adb8104a5e1b78692f130d3fccc9a3c3fcd0667572\nCOMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME\njava    35500 gaochao  304u  IPv6 0x473db0ee3a358f45      0t0  TCP 127.0.0.1:18091 (LISTEN)"
      },
      {
        "file": "listener-2530da5de5794ed69e94a530117f1bd1-35789.txt",
        "output": "agentSha256=5032f233bdf994619380a3b45da581a75c44598a791c2bcc4049211732b88544\nCOMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME\njava    35789 gaochao  304u  IPv6 0xe6ef1999d07d1507      0t0  TCP 127.0.0.1:18091 (LISTEN)"
      }
    ],
    "workdirs": [
      {
        "file": "workdir-011b7359a2c04c5b9de8a4199e64a11f.txt",
        "path": "/var/folders/nj/d71mzd2s3hd50q4h30fcsq7r0000gn/T/u38-seata-4766371754801498822"
      },
      {
        "file": "workdir-2530da5de5794ed69e94a530117f1bd1.txt",
        "path": "/var/folders/nj/d71mzd2s3hd50q4h30fcsq7r0000gn/T/u38-seata-4169965003592185976"
      }
    ]
  },
  "homeSeataLogs": {
    "homeDirWrites": 0,
    "files": []
  },
  "dependencyReport": {
    "path": "<user-home>/.cache/software-engineering-study/java-depth-impl/u38/run-xwuu7dmv/dependencies.txt",
    "sha256": "de987ab6b5d9065d2447e4f9002a33aaaa4982fd9b8a791acead0b140673b948"
  }
}
