<@U04S8PLJWMT> Salesforce incremental job failing ...
# replication-ask-ai
k
@kapa.ai Salesforce incremental job failing with error Exception while syncing stream Contact: Invalid operation
k
The knowledge sources you provided don’t mention an
Invalid operation
error for the Salesforce source, so I can’t say with confidence what the exact root cause is. From the available Salesforce-related docs and threads, the main documented failure patterns are: • Eventual consistency / missing records, fixed by increasing the Lookback Window in the Salesforce source config. This affects missing or duplicated records, not an “Invalid operation” failure. [Missing records] • Query timeouts (
QUERY_TIMEOUT
) on large objects, which show a clear timeout message and are related to long-running SOQL queries, not “Invalid operation”. [QUERY_TIMEOUT] • Other Salesforce issues like Unicode decode errors, record caps, or cursor-field problems, but none reference an “Invalid operation” error on the
Contact
stream. [Salesforce limit records; Cannot use LastModifiedDate] Because “Invalid operation” is not described in these sources, the best I can suggest based on them is: 1. Check the full sync logs around the error to see if Salesforce returns a more specific API error code/message (e.g.,
QUERY_TIMEOUT
, permission error, or request limit). [Salesforce troubleshooting] 2. Confirm: ◦ The
Contact
object is still accessible and hasn’t had permissions restricted. ◦ Your cursor field (e.g.,
SystemModstamp
or
LastModifiedDate
) and sync mode are valid for the
Contact
stream. [Cannot use LastModifiedDate] 3. If you see missing or duplicated records around the time of failure, consider increasing the Lookback Window in the Salesforce source configuration. [Missing records] To get more specific help, you’d need to share the exact log snippet around: •
Exception while syncing stream Contact
• The underlying Salesforce API response (if present) Without that, the knowledge sources don’t provide enough detail to precisely diagnose an “Invalid operation” error. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
k
@kapa.ai During the sync, the following streams did not sync successfully: Contact: TypeError('Invalid operation') 2026-02-24 145816 source > Concurrent read failure Traceback (most recent call last): File "/usr/local/bin/source-salesforce", line 6, in <module> sys.exit(run()) ^^^^^ File "/airbyte/integration_code/source_salesforce/run.py", line 49, in run launch(source, _args) File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/entrypoint.py", line 377, in launch for message in source_entrypoint.run(parsed_args): File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/entrypoint.py", line 207, in run yield from map( File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/entrypoint.py", line 280, in read for message in self.source.read(self.logger, config, catalog, state): File "/airbyte/integration_code/source_salesforce/source.py", line 285, in read yield from super().read(logger, config, catalog, state) File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py", line 62, in read yield from self._concurrent_source.read(abstract_streams) File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/sources/concurrent_source/concurrent_source.py", line 126, in read yield from self._consume_from_queue( File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/sources/concurrent_source/concurrent_source.py", line 154, in _consume_from_queue if queue.empty() and concurrent_stream_processor.is_done(): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py", line 223, in is_done raise AirbyteTracedException( airbyte_cdk.utils.traced_exception.AirbyteTracedException: Concurrent read failure
k
The knowledge sources don’t describe a
TypeError('Invalid operation')
for the Salesforce
Contact
stream specifically, but they do show the same “Concurrent read failure” pattern you’re seeing, coming from the CDK’s concurrent reader. [Gorgias rate limit; HubSpot concurrent read] From those issues we can say: •
Concurrent read failure
is a wrapper error: the real cause is in the per‑stream worker, but the top‑level CDK only surfaces
AirbyteTracedException: Concurrent read failure
. [Gorgias rate limit; Zendesk concurrent read] • In other connectors, the underlying cause has been things like rate limits or 401 auth errors, which then bubble up as a concurrent read failure. [Gorgias rate limit; Amazon Ads 401] However, none of the provided Salesforce docs or forum threads mention a
TypeError('Invalid operation')
or show a stack trace inside the Salesforce stream worker itself, so I can’t say exactly what “Invalid operation” refers to in the Salesforce connector code. Given these limitations, here’s what you can concretely do next, based on how similar issues are handled: 1. Get the inner error for the Contact stream The important part is before the
Concurrent read failure
in the logs, where the worker for
Contact
logs its own exception. In other connectors, that’s where you see the real cause (e.g., rate limit, 401, invalid query). [Gorgias rate limit; HubSpot concurrent read] ◦ Re-run the sync with debug/verbose logs and search for: ▪︎
Exception while syncing stream Contact
▪︎ or any traceback that mentions
Contact
before the concurrent read failure. 2. Try disabling concurrency for isolation The knowledge sources show that concurrency is what wraps the underlying error into
Concurrent read failure
. [Gorgias rate limit; Zendesk concurrent read] ◦ If your Airbyte UI / source config exposes a “Max workers” / concurrency setting for Salesforce (similar to other connectors), set it to
1
and re-run: ▪︎ This often makes the connector run in a single thread and surface the raw
TypeError('Invalid operation')
without the concurrent wrapper, which is much easier to debug. 3. Check for known Salesforce‑specific issues From the Salesforce docs and threads we have: ◦ BULK vs REST API behavior: some objects or field types can’t be handled by BULK and fall back to REST, or vice versa. [Usage of BULK vs REST] ◦ QUERY_TIMEOUT and other HTTP 400/403 errors are handled specially; some are logged and skipped instead of failing the whole sync. [QUERY_TIMEOUT handling; Salesforce error handling snippet] ◦ But none of these mention a
TypeError
or “Invalid operation” string. Because of that, I can’t reliably map your
Invalid operation
to a specific Salesforce limitation or field type from the docs. 4. When to open an issue Since the error is happening only on
Contact
and is surfaced as a Python
TypeError
inside a concurrent read, and there’s no mention of this in the Salesforce docs or forum posts, this may be a bug in the current Salesforce connector version. If, after: ◦ lowering concurrency to 1, and ◦ capturing the full inner traceback for
Contact
you still see
TypeError('Invalid operation')
without a clear Salesforce API error code, I’d recommend opening a GitHub issue for
source-salesforce
and attaching: ◦ Full logs from the failing sync (with debug if possible) ◦ Airbyte version ◦ Salesforce source connector version ◦ Whether
Contact
is incremental vs full refresh, and which cursor field you’re using This is the same path other users followed for Salesforce issues like
QUERY_TIMEOUT
and unsupported BULK entities. [QUERY_TIMEOUT issue; Bulk INVALIDENTITY] Because the knowledge sources don’t document
TypeError('Invalid operation')
for Salesforce, I can’t give a precise root cause, but the steps above should help you surface the underlying error and, if needed, provide enough detail for the Airbyte team to investigate. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.