Skip to main content

mz-run

Trigger: "run Materialize locally", "start environmentd", "check compilation", "format code", "lint", "cargo check", "cargo fmt", "cargo clippy", "bin/fmt", "bin/lint", or mentions compiling, building, running, formatting, linting, log filters, jemalloc, CockroachDB setup in Materialize. Also "how do I run this" or "it won't compile".

Informações da origem

Repositório
MaterializeInc/materialize
Última atividade na origem
24 de julho de 2026 às 11:41
Idioma detectado do SKILL.md
inglês
Estrelas
6.378
Forks
515

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
mz-run
description
Trigger: "run Materialize locally", "start environmentd", "check compilation", "format code", "lint", "cargo check", "cargo fmt", "cargo clippy", "bin/fmt", "bin/lint", or mentions compiling, building, running, formatting, linting, log filters, jemalloc, CockroachDB setup in Materialize. Also "how do I run this" or "it won't compile".
# Developing Materialize ## Compiling Check compilation with `cargo check`. Do not use `cargo build` or `cargo run` to build or run Materialize. Use `bin/environmentd --build-only` to build without running. `mz_environmentd::Config` is constructed in three places, one of them in a separate crate: `src/environmentd/src/environmentd/main.rs` (production), `src/environmentd/src/test_util.rs` (TestHarness), and `src/sqllogictest/src/runner.rs` (crate `mz-sqllogictest`). Adding a field means updating all three. `cargo check -p mz-environmentd` does NOT cover the sqllogictest constructor, so a missing field there compiles environmentd fine but breaks `mz-sqllogictest`, cascading in CI to clippy, doc-tests, and the environmentd image build (failing every mzcompose job). It looks like infra but is not. Verify with `cargo check -p mz-sqllogictest --all-targets`, not only `-p mz-environmentd`. ## Running locally Start Materialize using `bin/environmentd --optimized`. Pass `--reset` to delete data from prior runs (clears the mzdata directory and resets Postgres schemas), useful when testing catalog changes or starting fresh. `--reset` runs `DROP SCHEMA ... CASCADE` (consensus, tsoracle, storage) against the shared CockroachDB at `localhost:26257`. That persist consensus and timestamp-oracle state is global, not per-worktree: every local `environmentd` across all worktrees shares it (mzdata only holds the blob and environment-id). Resetting while another instance runs wipes its state unrecoverably. Before `--reset`, check for another instance with `ss -ltnp | grep 6875` and `pgrep -af environmentd`. If one exists, reuse it, or point yours at a different metadata backend with `--postgres <url>` (`bin/environmentd`, env `MZDEV_POSTGRES`) instead of the shared default. That can be a dedicated instance you spin up yourself, or a shared-but-different Postgres/CockroachDB you and others already point at deliberately, which avoids both the reset hazard and the cost of spinning up a fresh CRDB per instance. Prefer unit tests or `bin/mzcompose` (own containerized CRDB) over a second bare-metal instance when neither applies. Access Materialize using psql: * `psql -p 6875 -h localhost -U materialize` for regular access. * `psql -p 6877 -h localhost -U mz_system` for system access. If it fails because CockroachDB is not running, start it: ``` docker run --name=cockroach -d -p 26257:26257 -p 26258:8080 \ cockroachdb/cockroach:latest start-single-node --insecure --store=type=mem,size=2G ``` If the container already exists, use `docker start cockroach` instead. Other useful flags: * `--tokio-console` — activate the Tokio console for debugging async tasks. * `--coverage` — build with coverage instrumentation. * `--sanitizer address|memory|thread` — build with the specified sanitizer. ## Formatting and linting Format Rust, Python, and Protobuf files with `bin/fmt`. Takes no file arguments — it always formats the whole tree (only flag: `--check`). Run `bin/lint` to check for lint errors. Run `cargo clippy --all-targets -- -D warnings` to check for Rust-specific warnings. ## Log filters Set `MZ_LOG_FILTER` to a tracing-compatible filter expression. For example, `mz_adapter::catalog::apply=trace,warn` would enable trace logging for the `mz-adapter` crate's `catalog::apply` module, and `warn` for the rest of the system. ## jemalloc On Linux, we link against jemalloc by default. Compile with `--no-default-features` to use the system allocator.
Ver no GitHub