I have a set of many streams that are all incremen...
# troubleshooting
a
I have a set of many streams that are all incremental replication, except 1 full_table replication. It's convenient to set the replication key and method globally, and then override the 1 stream. But, I'm now getting an error (meltano version 2.17) that I wasn't seeing before. Inspecting the catalog and code, the replication key is being analyzed, even though the replication method is
FULL_TABLE
. I had thought that setting the general values and then overriding the specific values was a best practice. And I wasn't getting this error before. What is the best way to configure this? Here is the configuration
Copy code
metadata:
        "*":
          replication-method: INCREMENTAL
          replication-key: UpdateDateUtc
        dbo-TourDates:
          replication-method: FULL_TABLE
The catalog generates the nonsensical property pair for `dbo-TourDates`:
Copy code
"replication-method": "FULL_TABLE",
            "replication-key": "UpdateDateUtc"
And the exception when the singer internals attempts to read properties of the nonexistent
dbo-TourDates.UpdateDateUtc
Copy code
2023-08-22T18:09:17.308097Z [info     ]   File "/workspace/.meltano/extractors/tap-rentler-sql/venv/lib/python3.9/site-packages/singer_sdk/helpers/_typing.py", line 137, in is_datetime_type cmd_type=extractor name=tap-rentler-sql-leads run_id=4b4b694c-6f5d-4e74-a763-b5157a6b5e28 state_id=2023-08-22T180847--tap-rentler-sql-leads--target-rentler-sql stdio=stderr
2023-08-22T18:09:17.308470Z [info     ]     raise EmptySchemaTypeError cmd_type=extractor name=tap-rentler-sql-leads run_id=4b4b694c-6f5d-4e74-a763-b5157a6b5e28 state_id=2023-08-22T180847--tap-rentler-sql-leads--target-rentler-sql stdio=stderr
2023-08-22T18:09:17.308851Z [info     ] singer_sdk.helpers._typing.EmptySchemaTypeError: Could not detect type from empty type_dict. Did you forget to define a property in the stream schema?
e
Hi @adam_roderick! Did you recently bump Meltano to v2.17? If so, from which version did you jump? (I don't see anything in the changelog that would impact
metadata
functionality) Have you tried setting
replication-key
explicitly to
null
?
Copy code
metadata:
        "*":
          replication-method: INCREMENTAL
          replication-key: UpdateDateUtc
        dbo-TourDates:
          replication-method: FULL_TABLE
          replication-key: null
a
Hey! No, I think it is the same version as before. I found
replication-key: ""
works as intended.
thank you for the idea, null might be more descriptive
e
I also see your custom tap uses the SDK, so I wonder if the change might come from there
a
That is possible. I thought we had tested this same tap with these settings before. But that's a likely explanation