{"record":{"id":"75b38efd91e130a3","repo":"FlowiseAI/Flowise","slug":"e-75b38e","errorCode":null,"errorMessage":"${e}","messagePattern":"\\$\\{e\\}","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/components/nodes/vectorstores/Weaviate/Weaviate.ts","lineNumber":328,"sourceCode":"                    const vectorStore = (await WeaviateStore.fromExistingIndex(embeddings, obj)) as unknown as VectorStore\n                    await recordManager.createSchema()\n                    const res = await index({\n                        docsSource: finalDocs,\n                        recordManager,\n                        vectorStore,\n                        options: {\n                            cleanup: recordManager?.cleanup,\n                            sourceIdKey: recordManager?.sourceIdKey ?? 'source',\n                            vectorStoreName: weaviateTextKey ? weaviateIndex + '_' + weaviateTextKey : weaviateIndex\n                        }\n                    })\n                    return res\n                } else {\n                    await WeaviateStore.fromDocuments(finalDocs, embeddings, obj)\n                    return { numAdded: finalDocs.length, addedDocs: finalDocs }\n                }\n            } catch (e) {\n                throw new Error(e)\n            }\n        },\n        async delete(nodeData: INodeData, ids: string[], options: ICommonObject): Promise<void> {\n            const weaviateHost = nodeData.inputs?.weaviateHost as string\n            const weaviateGrpcHost = nodeData.inputs?.weaviateGrpcHost as string\n            const weaviateHttpSecure = nodeData.inputs?.weaviateHttpSecure as boolean\n            const weaviateGrpcSecure = nodeData.inputs?.weaviateGrpcSecure as boolean\n            const weaviateConnectionType = nodeData.inputs?.weaviateConnectionType as string\n            const weaviateIndex = nodeData.inputs?.weaviateIndex as string\n            const weaviateTextKey = nodeData.inputs?.weaviateTextKey as string\n            const weaviateMetadataKeys = nodeData.inputs?.weaviateMetadataKeys as string\n            const embeddings = nodeData.inputs?.embeddings as Embeddings\n            const recordManager = nodeData.inputs?.recordManager\n\n            const credentialData = await getCredentialData(nodeData.credential ?? '', options)\n            const weaviateApiKey = getCredentialParam('weaviateApiKey', credentialData, nodeData)\n\n            const client = await createWeaviateClient(","sourceCodeStart":310,"sourceCodeEnd":346,"githubUrl":"https://github.com/FlowiseAI/Flowise/blob/abe4a8601a058047b350c260676826e21dd14101/packages/components/nodes/vectorstores/Weaviate/Weaviate.ts#L310-L346","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Inspect the literal text after \"Error:\" — it is the flattened Weaviate/LangChain error; act on that (auth, dimension, not-found).","Verify weaviateHost and weaviateGrpcHost resolve and that http (8080) and grpc (50051) ports are correct and reachable.","Confirm the class schema's vector dimension matches the configured embeddings model output.","If using recordManager cleanup, verify the record manager backend is reachable.","Patch the catch to rethrow e unchanged (see exampleFix)."],"exampleFix":"// before\n} catch (e) {\n    throw new Error(e)\n}\n\n// after\n} catch (e) {\n    throw e instanceof Error ? e : new Error(String(e))\n}","handlingStrategy":"try-catch","validationCode":"// Pre-flight: verify Weaviate connection + class schema dimensions\nasync function preflightWeaviate(client, indexName, embeddingDim) {\n    const schema = await client.collections.get(indexName)\n    // confirm vector dimension matches embeddingDim if externally embedded\n}","typeGuard":"null","tryCatchPattern":"// Preserve original Weaviate/LangChain error\ntry {\n    if (recordManager) await WeaviateStore.withRecordManager(recordManager, embeddings, obj).addDocuments(finalDocs)\n    else await WeaviateStore.fromDocuments(finalDocs, embeddings, obj)\n} catch (e) {\n    throw e instanceof Error ? e : new Error(String(e))\n}","preventionTips":["Verify http (8080) and grpc (50051) host/port pairs separately before ingest.","Keep the Weaviate class vector dimension in lockstep with the configured embeddings model.","Re-throw caught errors unchanged; do not flatten with `new Error(e)`."],"tags":["weaviate","vectorstore","error-wrapping","schema","grpc"],"backgroundTag":null,"analyzedSha":"abe4a8601a058047b350c260676826e21dd14101","analyzedAt":"2026-08-12T16:04:40.823Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}