Skip to content

Conversation

@amoeba
Copy link
Member

@amoeba amoeba commented Sep 15, 2025

Creates a way of manually testing dbc against a CDN full of fake drivers. The number of drivers and number of versions per driver is configurable. This uses pixi just for convenience.

Closes #34.

@zeroshade
Copy link
Member

Should we just use the manifest and test packages in cmd/dbc/testdata as our fake index?

@amoeba
Copy link
Member Author

amoeba commented Sep 15, 2025

Should we just use the manifest and test packages in cmd/dbc/testdata as our fake index?

We could but I'm not sure we'd want to check in a test scenario like 100 drivers with 100 versions so having a way to dynamically test things is good IMO. I've already found this setup useful for catching issues that aren't covered by the current test suite.

@amoeba
Copy link
Member Author

amoeba commented Sep 18, 2025

Here's my worst-case scenario test,

$ pixi run cdn-generate -d 100 -v 100
$ wc -l cdn-dev/manifest.yaml
  140701 cdn-dev/manifest.yaml
$ go run ./cmd/dbc search
#  4m 51s goes by...

@amoeba
Copy link
Member Author

amoeba commented Sep 18, 2025

and since dbc install searches first, I see this for at least 4min 51s,

$ go run ./cmd/dbc install yard
[⠋] searching...
[ ] downloading
[ ] installing
[ ] verifying signature```

@zeroshade
Copy link
Member

Looking into while this is running and hanging, it looks like it actually is the yaml decoding

image

which is ludicrous. It's only 5.4MB of yaml, I'll see if i can figure out what's going on

@amoeba
Copy link
Member Author

amoeba commented Sep 18, 2025

Thanks for looking! It could be worth the time now to consider switching the serialization format or switching to another YAML package (which I see you're doing already in this PR). Maybe even to a streamable format?

@amoeba
Copy link
Member Author

amoeba commented Sep 18, 2025

Awesome, the new package is snappy! Merging.

@amoeba amoeba merged commit 27c0a91 into columnar-tech:main Sep 18, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create a tool to create a fake driver index for testing who dbc scales

2 participants