Arango logo

Importer Limits and Quotas

The concurrency, size, timeout, and provider limits the Importer service enforces, and which of them you can change

This page lists the limits the Importer enforces. They fall into three kinds:

  • Hard: the request is rejected or the job fails. You cannot raise them.
  • Soft: a default you can override, or that your operator can change at install time.
  • Fixed: a built-in value that is not exposed as a setting.

Concurrency and jobs

LimitValueKind
Concurrent imports or reclusters per replica1Hard
Retained completed jobs per replica100Fixed
Concurrent chat calls (CHAT_MAX_CONCURRENT_CALLS)16Soft
Concurrent embedding calls (EMBEDDING_MAX_CONCURRENT_CALLS)16Soft

A single lock serializes both import endpoints and POST /v1/recluster on a given replica, whichever partitions they touch. Completed jobs are held in memory, so they are lost when the pod restarts. See Asynchronous import lifecycle.

Request size

There is no application-level rate limiting, and no limit on the number of files or the total size of a POST /v1/import-multiple request.

In practice, a large inline upload is bounded by the memory available to the service, which defaults to 256 MiB at the HTTP layer and 2 GiB for the import itself, and by the 15-minute request timeout of the platform route. Neither is an install parameter.

Reference large files by file_id instead of embedding them as base64 file_content. The Importer then resolves them from the File Manager without the bytes passing through the request at all.

Providers

  • custom requires a non-empty API URL for that side (chat_api_url or embedding_api_url). custom chat additionally requires an explicit chat_model.
  • OpenAI-compatible providers require at least one API key.
  • Image descriptions require an OpenAI-compatible vision endpoint. See Vision model requirements.

Graphs and sharding

LimitValueKind
shard_count for a new SmartGraph or sharded Enterprise Graphexactly 1Hard
smart_graph_attributemust be partition_id, which must also be setHard
is_disjoint on a new Enterprise Graphmust be falseHard
partition_id length1-254 UTF-8 bytesHard
partition_id charactersNo whitespace, no :. Allowed: A-Z a-z 0-9 _ - . @ ( ) + , = ; $ ! * ' %Hard
Replication factor3, or the cluster’s minReplicationFactor if that is higherFixed

Multi-shard SmartGraphs are not supported in this version, because ArangoDB trains the vector index per shard. For a graph that already exists, shard_count is ignored. See SmartGraph and sharding.

Chunking

ParameterDefaultRule
chunk_token_size1024Must not be smaller than chunk_overlap_token_size. Equal values are accepted
chunk_overlap_token_size128
chunk_min_token_size64Smaller chunks are merged with their neighbors
batch_size1000ArangoDB insert batch size
entity_extract_max_gleaning1

Vector index

  • embedding_dim defaults to 512 and has to match the embedding model you configured. See LLM Configuration.
  • vector_index_metric accepts cosine (default), innerProduct, and l2. Any other value is rejected.
  • vector_index_n_lists must be a positive integer when set. When omitted, it is computed as 8 * sqrt(collection_size) and capped at the collection size. It is ignored when vector_index_use_hnsw is true.

Document conversion

LimitValueKind
Markdown accepted per document64 MiBSoft. A larger result excludes that file as MARKDOWN_TOO_LARGE

Which formats can be converted is not an Importer limit. See Format support.

Images

LimitValueNotes
Local image size20 MiBLarger images are skipped, not failed
http:// and https:// image fetchesAllowlist-gatedOnly hosts on the operator’s allowlist (IMAGE_FETCH_ALLOWED_HOSTS) are fetched. If no allowlist is set, only File Manager URLs are fetched
File Manager and s3:// artifact routesNot allowlist-gatedRead through the platform’s storage path instead of being fetched by URL, so the host allowlist does not apply
data: URIsStored as-isInline base64 images are kept unchanged
Any other URL schemeRefused

Timeouts and retries

SettingDefaultKind
ArangoDB request timeout (ARANGODB_REQUEST_TIMEOUT_SECONDS)900 sSoft
Platform route timeout15 minFixed
Chat request timeout600 s, with a 120 s connect timeoutFixed
Embedding request timeout120 sFixed
Vector index training waitup to 3600 sFixed
Provider retry attempts (OPENAI_MAX_RETRY_ATTEMPTS)10, where 0 means unlimitedSoft
Provider retry window (OPENAI_MAX_RETRY_DURATION_SECONDS)3600 sSoft
Image upload retries (IMAGE_UPLOAD_MAX_RETRIES)3Soft

Token limits

  • CHAT_MAX_COMPLETION_TOKENS is derived from the chat model’s context window, falling back to 8192.
  • EMBEDDING_MAX_INPUT_TOKENS defaults to 8192.

See Token budget for chat models for the full set of chat controls.

Project naming

The project name is not validated by the Importer, but it is used verbatim as the prefix of every collection it creates. It therefore has to satisfy ArangoDB’s collection naming rules:

  • It must start with a letter or an underscore (_).
  • It may only contain letters, digits, underscores (_), and hyphens (-).
  • It must not exceed 256 characters, including suffixes such as _Documents.

An invalid name is not caught at startup; collection creation fails at runtime. See Prerequisites.