dolphinscheduler-common` dependencies to `-base` — it's kept lean on purpose (like `-spi`).
## Tests
Per sub-module `src/test/java`. Integration-style RPC tests live in the implementing modules (master/worker/alert), not here
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
used for unsafe scripting (e.g. conditional branch expressions). Upgrading the dep is sensitive — test the condition/switch task flows.
- **Scheduler integration via `SchedulerApi`** (from `dolphinscheduler-scheduler-plugin`). The only current impl
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
health,info,metrics` in their `application.yaml`. This module does not ship its own YAML.
## Tests
Minimal — mostly auto-config wiring.
## Related modules
- `dolphinscheduler-common` — compile dep.
- `dolphinscheduler-actuator-authentication
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
warmup + 10 measurement iterations by default. Runs JMH via `Runner` from a JUnit `@Test` method (so the JMH launch is triggered by `mvn test` when you opt in).
- `microbench.rpc.RpcBenchMarkTest` — Netty
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
main DolphinScheduler DB; useful when Zookeeper/Etcd aren't available)
- `dolphinscheduler-registry-it` (integration tests exercising all three)
- **`dolphinscheduler-registry-all`** — uber module that bundles every implementation; depended
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
contract change visible to every task.
## Configuration
None shipped; consumers pass standard Spring profiles.
## Tests
Standard `src/test/java`. Some tests mock `curator-test` for registry; most are pure unit.
## Related modules
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
process with an **H2 in-memory** database. Intended for local development, smoke tests, and lightweight demos — **not** for production.
## Entry point
`StandaloneServer` — a thin `@SpringBootApplication` whose only
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
task artifact handling (not only as the resource store). This is the most battle-tested code path.
- **OBS listStorageEntity** had a bug where subdirectories were not returned — fixed recently
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
lifecycle event that was never published from the executor here.
- **Module has no tests** — coverage comes from `dolphinscheduler-worker` integration tests. Changes here need worker-side verification.
## Related modules
- `dolphinscheduler
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
versions shared with the core; large client libraries (Spark, Flink, Hadoop) are plugin-local.
## Tests
Each plugin has `src/test/java` with mocked clients (e.g., mocked `SparkSubmit`, mocked `HttpClient
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
JDBC URL is exported.
## Configuration
`application.yaml` — primarily datasource config so the tool can connect.
## Tests
`src/test/java` uses Testcontainers (MySQL + PostgreSQL) to run end-to-end schema init + upgrade against
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
Language toggle stored in the `language` cookie (`js-cookie`).
## Gotchas
- **No unit tests** are configured (no `*.spec.ts` / `*.test.ts` found). End-to-end coverage comes from `dolphinscheduler-e2e`.
- **Node version drift
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
AspectJ version is pinned in `dolphinscheduler-bom`** (`aspectj.version`, currently 1.9.7). Upgrading AspectJ is sensitive — test every YARN-based task plugin.
- **Tests use AspectJ syntax to mock YARN**. `YarnClientMoc`, `YarnClientAspectMoc`, `YarnClientMocTest
No other project uses it yet
15k54d agoReviewMountCreate a free account to mount
TYPE=Debug|Release` — defaults to `Release` (`-O3 -DNDEBUG`) when
unset, so benchmark and load-test builds are optimized without opting in.
`-DFUZZER=ON` builds are exempt: they take their
Steady5 mentions in 2 weeks
No other project uses it yet
15k2d agoReviewMountCreate a free account to mount
responding to the user:
- [ ] Update `lat.md/` if you added or changed any functionality, architecture, tests, or behavior
- [ ] Run `lat check` — all wiki links and code refs must pass
14k5mo agoReviewMountCreate a free account to mount
database/sql` compatible driver. Requires Go 1.25+ and supports PostgreSQL 14+ and CockroachDB.
## Build & Test Commands
Every checkout has its own PostgreSQL 14-18 and CockroachDB instances, supervised by
process-compose
14k3y agoReviewMountCreate a free account to mount
research
Use MCP server `research` if your asks you to research something.
## Writing Tests
Use `github.com/stretchr/testify/assert` (and `require` when a failure should stop the test immediately).
### Run tests
```bash
No other project uses it yet
14k10d agoReviewMountCreate a free account to mount
A file Claude Code reads at the start of every session. It holds the commands, conventions and warnings the agent needs for this project.
Where does it go?
At the repository root. Claude Code also reads CLAUDE.md files in subdirectories when it works there.
What should it contain?
Build and test commands, the project's layout, conventions that aren't obvious from the code, and mistakes to avoid. Short files tend to work better than long ones.
CLAUDE.md or AGENTS.md?
Claude Code reads CLAUDE.md; most other agents read AGENTS.md. Many projects keep one and point the other at it.