Heya folks, where can I find `.args`? I having a ...
# troubleshooting
d
Heya folks, where can I find
.args
? I having a job fail with this error:
Copy code
Loading failed (1): target_postgres.exceptions.SingerStreamError: ('Invalid records detected above threshold: 0. See `.args` for details.', [(<ValidationError: "Decimal('1000.450000000000045474735088646411895751953125') is not a multiple of Decimal('0.01')">, {'type': 'RECORD', 'stream': 'things-employees', 'record': {'id': '12341234-1234-1234-1234-123412341235', 'first_name': 'Dean', 'last_name': 'Morn', 'salary': Decimal('1000.450000000000045474735088646411895751953125'), '_sdc_deleted_at': None}, 'version': 1619545365804, 'time_extracted': '2021-04-27T19:25:13.350999Z', '__raw_line_size': 309})])
v
Not sure what .args is but it's target_postgres specefic. I've seen the error though it's to do with your tap including a multipleOf in the schema. That causes all kinda of problems for me so I've honestly just been removing it from my catalog. I don't have a great answer for the MultipleOf problem other than I just remove it from the catalog. Maybe someone has a better answer? I really dislike how the data is represented but it does make sense if the data is actually stored in decimal form in the source (kinda)
d
Thanks @visch! I had to do some reading on how singer works to understand this better. So if I understand correctly, I’ll want to run something like:
Copy code
meltano invoke --dump=catalog my-plugin > catalog.json
Then edit the auto-generated version of the catalog.json and provide that in my etl run?
v
Yes that works, that's the way I've been doing it thus far. Really I want my source's discovery to not give me certain info so I'm going to probably fork the source and change what I don't like. But yes that will work. You can also run dump as a part of your elt run so
meltano elt --dump=catalog tap-something target-something >catalog.out
Sometimes that's easier depending on what you're doing just an fyi (I think that works!)