• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 41124663765
93%

Build:
DEFAULT BRANCH: main
Ran 30 Oct 2026 08:49PM UTC
Jobs 11
Files 1800
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Oct 2026 08:37PM UTC coverage: 93.069%. Remained the same
41124663765

push

github

web-flow
Open the sandboxer's local store with the configured options (#23722)

## Background

The sandboxer opens the same local store as `pantsd`, but `StoreCliOpt`
(the options passed to the sandboxer process) only carried the store
path. `create_store` therefore opened the store with
`LocalOptions::default()`, ignoring the `[GLOBAL].local_store_*`
options:

- With a non-default `local_store_shard_count`, the sandboxer looks for
digests in the wrong shards, so materializing a sandbox fails with "Was
not present in the local store".
- Even with default options, the sandboxer's built-in sizes (64 GiB for
files, 8 GiB for directories) differ from the Python defaults `pantsd`
uses (256 GiB and 16 GiB). The two processes therefore open the same
LMDB environments with different map sizes. Whichever writes last
records its map size in the environment's meta page, and LMDB then makes
the other process's transactions fail with `MDB_MAP_RESIZED`.

The sandboxer is enabled by default as of 2.34, so this now applies to
everyone.

## Change

- `StoreCliOpt` gains four optional flags:
`--local-store-files-max-size-bytes`,
`--local-store-directories-max-size-bytes`, `--local-store-shard-count`
and `--local-store-lease-time-secs`. `local_options` reads them back,
defaulting any unset value as before.
- `new_local_only` takes the `LocalOptions` and sets those fields. In
`Core::new`, the remote branch sets them directly from `pantsd`'s own
local store options.
- `create_store` opens the local store with those options.

## Tests

- `create_store_uses_local_options`: stores a blob in a single-shard
store, then reads it back through a store created from `StoreCliOpt`. It
fails without the fix (`MissingDigest("Was not present in the local
store", ...)`).
- The flags round-trip through `to_cli_args` and `new_local_only`, and a
parse without the flags falls back to the defaults.
- `./cargo test -p store` passes (116 tests). `test_sandboxer_process`
in `sandboxer/tests/integration_... (continued)

97894 of 105184 relevant lines covered (93.07%)

3.65 hits per line

Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_4/10 - 41124663765.1 30 Oct 2026 09:03PM UTC 1254
58.85
GitHub Action Run
2 test_python_linux_x86_64_2/10 - 41124663765.2 30 Oct 2026 08:56PM UTC 1225
59.03
GitHub Action Run
3 test_python_linux_arm64 - 41124663765.3 30 Oct 2026 08:49PM UTC 1210
53.14
GitHub Action Run
4 test_python_linux_x86_64_0/10 - 41124663765.4 30 Oct 2026 08:57PM UTC 1245
56.86
GitHub Action Run
5 test_python_linux_x86_64_6/10 - 41124663765.5 30 Oct 2026 08:56PM UTC 1221
49.66
GitHub Action Run
6 test_python_linux_x86_64_8/10 - 41124663765.6 30 Oct 2026 08:59PM UTC 1228
53.19
GitHub Action Run
7 test_python_linux_x86_64_3/10 - 41124663765.7 30 Oct 2026 08:57PM UTC 1223
51.86
GitHub Action Run
8 test_python_linux_x86_64_9/10 - 41124663765.8 30 Oct 2026 08:54PM UTC 1235
54.38
GitHub Action Run
9 test_python_linux_x86_64_1/10 - 41124663765.9 30 Oct 2026 08:55PM UTC 1224
48.69
GitHub Action Run
10 test_python_linux_x86_64_5/10 - 41124663765.10 30 Oct 2026 08:54PM UTC 1240
60.17
GitHub Action Run
11 test_python_linux_x86_64_7/10 - 41124663765.11 30 Oct 2026 09:00PM UTC 1228
50.89
GitHub Action Run
Source Files on build 41124663765
  • Tree
  • List 1800
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #41124663765
  • c395a5ef on github
  • Prev Build on main (#40845801144)
  • Next Build on main (#41268032730)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc