Skip to Content
We are live but in Staging πŸŽ‰
CLI GuideGaps & Troubleshooting

Gaps & Troubleshooting

What the CLI covers β€” and what it doesn’t

The dodil vbase CLI focuses on the GA serverless flow and the common Milvus operations. Some API capabilities have no first-class CLI command:

CapabilityCLIAlternative
Allocate / list / use / drop databasesYes β€” db commandsβ€”
Create / list / show / load / release / drop collectionsYes β€” collectionβ€”
Create / drop index (FLAT/HNSW/IVF_FLAT/IVF_SQ8, L2/IP/COSINE)Yes β€” indexβ€”
Insert one row; top-K search (L2)Yes β€” dataβ€”
Health / versionYes β€” status, versionβ€”
Batch insert, filtered/hybrid search, partitions, queries, other metricsNoMilvus SDK
Dedicated clusters, backup/restoreNoPreview API (not GA yet)
Arbitrary Milvus RPCs through the gatewayNoRunCommand API

The CLI’s data commands are intentionally a thin slice. For anything richer, connect with the Milvus SDK against the same endpoint db use resolved.

How config resolves

VBase commands read ~/.config/unified-cli/config.yaml:

PathMeaningSet by
global.tokenBearer token for gateway and Milvus callsdodil login
global.org_idOrganization ID for db commandsdodil login
global.org_nameOrganization name forwarded on some callsdodil login
vbase.gateway_hostControl-plane gateway (default https://api.dev.dodil.io)config
vbase.hostActive database endpoint hostdb use
vbase.portActive database portdb use
vbase.db_nameActive Milvus database namedb use
vbase.service_nameActive database service_iddb use

Resolution order: read global auth/org, then vbase.* connection fields, then fall back to top-level gateway_host/db_name, then to the default gateway. The Milvus-direct commands transport-detect from the endpoint string β€” https:// or :443 uses TLS, otherwise insecure.

Troubleshooting

db commands work, but collection/data/index fail

The Milvus-direct commands need an active connection context.

  1. Run dodil vbase db use <service_id> again.
  2. Confirm vbase.host, vbase.port, and vbase.db_name are set in ~/.config/unified-cli/config.yaml.
  3. Confirm the database is RUNNING (dodil vbase db list). A CREATING database is not yet connectable.

Search returns nothing, or the wrong fields

  1. Make sure the collection is loaded β€” dodil vbase collection load <name> β€” and has an index on the vector field.
  2. --vector-field must match the collection’s vector field; --id-field must match its primary-key field.
  3. The query vector dimension must equal the collection’s dim.
  4. data search queries with metric_type=L2. If you built the index with IP or COSINE, rankings may not match β€” index on L2 for CLI search, or search through the Milvus SDK with the matching metric.

unauthorized / permission errors

  1. Re-authenticate with dodil login.
  2. Confirm global.token exists in the config file.
  3. Confirm you are operating in the right organization (global.org_id).

Gateway connectivity vs auth

Run dodil vbase db test-grpc to dial the gateway over gRPC and list databases. If it succeeds but other db commands fail, the problem is request-specific rather than transport or auth.

collection create rejects a custom schema

Custom --field mode requires exactly one pk field. Vector fields need a dim= param (e.g. vector:float_vector:dim=768). Field types must be one of the supported names listed in Collections, Data & Index.


See also