FlowiseAI/Flowise · error · Error

${e}

Error message

${e}

What it means

Wraps any failure from WeaviateStore.withRecordManager(...).addDocuments() or WeaviateStore.fromDocuments() during the Weaviate node's add/init chain. `new Error(e)` flattens the underlying Weaviate/LangChain error to a string, dropping stack and cause.

Source

Thrown at packages/components/nodes/vectorstores/Weaviate/Weaviate.ts:328

                    const vectorStore = (await WeaviateStore.fromExistingIndex(embeddings, obj)) as unknown as VectorStore
                    await recordManager.createSchema()
                    const res = await index({
                        docsSource: finalDocs,
                        recordManager,
                        vectorStore,
                        options: {
                            cleanup: recordManager?.cleanup,
                            sourceIdKey: recordManager?.sourceIdKey ?? 'source',
                            vectorStoreName: weaviateTextKey ? weaviateIndex + '_' + weaviateTextKey : weaviateIndex
                        }
                    })
                    return res
                } else {
                    await WeaviateStore.fromDocuments(finalDocs, embeddings, obj)
                    return { numAdded: finalDocs.length, addedDocs: finalDocs }
                }
            } catch (e) {
                throw new Error(e)
            }
        },
        async delete(nodeData: INodeData, ids: string[], options: ICommonObject): Promise<void> {
            const weaviateHost = nodeData.inputs?.weaviateHost as string
            const weaviateGrpcHost = nodeData.inputs?.weaviateGrpcHost as string
            const weaviateHttpSecure = nodeData.inputs?.weaviateHttpSecure as boolean
            const weaviateGrpcSecure = nodeData.inputs?.weaviateGrpcSecure as boolean
            const weaviateConnectionType = nodeData.inputs?.weaviateConnectionType as string
            const weaviateIndex = nodeData.inputs?.weaviateIndex as string
            const weaviateTextKey = nodeData.inputs?.weaviateTextKey as string
            const weaviateMetadataKeys = nodeData.inputs?.weaviateMetadataKeys as string
            const embeddings = nodeData.inputs?.embeddings as Embeddings
            const recordManager = nodeData.inputs?.recordManager

            const credentialData = await getCredentialData(nodeData.credential ?? '', options)
            const weaviateApiKey = getCredentialParam('weaviateApiKey', credentialData, nodeData)

            const client = await createWeaviateClient(

View on GitHub (pinned to abe4a8601a)

Solutions

  1. Inspect the literal text after "Error:" — it is the flattened Weaviate/LangChain error; act on that (auth, dimension, not-found).
  2. Verify weaviateHost and weaviateGrpcHost resolve and that http (8080) and grpc (50051) ports are correct and reachable.
  3. Confirm the class schema's vector dimension matches the configured embeddings model output.
  4. If using recordManager cleanup, verify the record manager backend is reachable.
  5. Patch the catch to rethrow e unchanged (see exampleFix).

Example fix

// before
} catch (e) {
    throw new Error(e)
}

// after
} catch (e) {
    throw e instanceof Error ? e : new Error(String(e))
}
Defensive patterns

Strategy: try-catch

Validate before calling

// Pre-flight: verify Weaviate connection + class schema dimensions
async function preflightWeaviate(client, indexName, embeddingDim) {
    const schema = await client.collections.get(indexName)
    // confirm vector dimension matches embeddingDim if externally embedded
}

Type guard

null

Try / catch

// Preserve original Weaviate/LangChain error
try {
    if (recordManager) await WeaviateStore.withRecordManager(recordManager, embeddings, obj).addDocuments(finalDocs)
    else await WeaviateStore.fromDocuments(finalDocs, embeddings, obj)
} catch (e) {
    throw e instanceof Error ? e : new Error(String(e))
}

Prevention

When it happens

Trigger: Wrong weaviateHost or weaviateGrpcHost (port/protocol), cloud apiKey missing or rejected, embeddings vector dimension mismatch with the existing class schema, weaviateIndex (class) does not exist with auto-schema disabled, recordManager cleanup error, gRPC dial failure.

Common situations: Weaviate class was created with a different vectorizer/dimension than the configured embeddings; weaviateGrpcHost port wrong (default 8080 http / 50051 grpc swapped); WCS cluster paused; recordManager store (e.g. Redis/DB) unreachable when cleanup enabled.

Related errors


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/75b38efd91e130a3. Report an issue: GitHub.