mapbox / mapbox/tilelive

Option to skip and report, or improved logging of failed tiles.

Open
#225 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
540
Forks
106
PR merge metrics
No merged PRs in 30d

Description

👋 When running `tilelive-copy --scheme=list --list=/list_of_tiles.txt` I occasionally see the following error, which stops tilelive-copy from any further processing of the `list_of_tiles.txt` list :

```
if (err) throw err;
^

TypeError: required parameters (z, x, and y) must be greater then or equal to zero
at TypeError (native)
at Function.Bridge.getVector (/usr/local/lib/node_modules/tilelive-bridge/index.js:243:21)
at /usr/local/lib/node_modules/tilelive-bridge/index.js:185:20
at dispense (/usr/local/lib/node_modules/tilelive-bridge/node_modules/generic-pool/lib/generic-pool.js:258:16)
at Object.me.release (/usr/local/lib/node_modules/tilelive-bridge/node_modules/generic-pool/lib/generic-pool.js:368:5)
at /usr/local/lib/node_modules/tilelive-bridge/index.js:282:21
```

I've inspected my tiles list a number of ways and I can't determine the problematic tile, so it would be helpful to have a `--skip-failed-tiles` flag, or similar, which would simply move on to the next tile (while outputting the failed tile info) and/or a `--debug` / `--verbose` flag to print out the current tile that's being processed, so it's easier to debug when this case occurs.

I can work on a PR for either/both, would love opinions on whether this approach would be sensible/helpful.

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the tilelive-copy command with --scheme=list and inspect how it processes each tile from --list and reports errors. Reproduce the failure with a tile list, then clarify whether the intended result is identifying failed tiles, skipping them, or both; done means the chosen behavior is observable and processing matches that decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.