Nicolas
12/22/2025, 11:44 AMStreamReadConstraints.getMaxStringLength()) (through reference chain: io.airbyte.connectorbuilderserver.api.client.model.generated.StreamRead["slices"]-
I'm selfhosting airbyte with abctlkapa.ai
12/22/2025, 11:44 AMStreamReadConstraints limit on maximum string length (20,000,000 bytes). Airbyte is trying to deserialize a very large JSON payload (your connector’s discovered schema / stream definition), and one of the string fields is larger than that limit, causing the JsonMappingException and failing the request. [[Cloud limits](https://docs.airbyte.com/platform/cloud/managing-airbyte-cloud-limits); [April 2024 notes](https://docs.airbyte.com/release_notes/april_2024)] From the available knowledge sources: - Airbyte Cloud and recent OSS versions document a 20MB per-record / per-field size constraint, and note that effective limits can be lower depending on the underlying components. [[Cloud limits](https://docs.airbyte.com/platform/cloud/managing-airbyte-cloud-limits)] - The April 2024 release notes mention that large records are handled per-destination, but they do not describe any way to change the Jackson StreamReadConstraints limit or the builder-service limits you’re hitting. [[April 2024 notes](https://docs.airbyte.com/release_notes/april_2024)] The knowledge sources do not provide: - Any configuration flag or environment variable to increase StreamReadConstraints.getMaxStringLength() for the connector builder or API server. - A documented workaround specific to this exact JsonMappingException in the connector builder context. Given that, the only actions clearly supported by the docs are to reduce the size of what Airbyte has to deserialize so it stays under the 20MB string limit: 1. Reduce the size of the schema / config returned by your custom connector - Avoid putting very large blobs (e.g., huge text fields, base64 data, or entire documents) directly into the connector’s config or discovered schema. - If you’re embedding large static metadata or sample data in the schema, move it out (e.g., keep only field names and types, not huge example values). 2. Split data into smaller logical pieces - If a single field can be extremely large, consider splitting it into multiple fields or separate streams so that no single JSON string exceeds ~20MB before it reaches Airbyte’s backend. 3. Check for oversized “slices” in the builder definition - The error path (StreamRead["slices"]) suggests the builder service is trying to read a very large slices structure. Try simplifying your stream definition (fewer / smaller slices, less embedded data) and re-test. Because the docs do not describe any way to override this Jackson limit in a self‑hosted abctl deployment, I can’t point you to a supported configuration change to raise the 20MB cap; the only documented path is to keep individual strings/records under that size. [[Cloud limits](https://docs.airbyte.com/platform/cloud/managing-airbyte-cloud-limits)] If you can share which part of your connector definition or API response is that large (e.g., config, discover schema, or read data), you can then target that piece to be reduced or split so it stays below the limit.