multipleOf decimal.DivisionImpossible
When using the output of tap-oracle, the target fails with the following error:
CRITICAL [<class 'decimal.DivisionImpossible'>]
Traceback (most recent call last):
File "/usr/bin/target-snowflake", line 10, in <module>
sys.exit(main())
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/target_snowflake/__init__.py", line 85, in main
raise exc
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/target_snowflake/__init__.py", line 72, in main
main_implementation()
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/target_snowflake/__init__.py", line 64, in main_implementation
process_input(config, input)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/target_snowflake/__init__.py", line 40, in process_input
target.process_line(line)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/target_snowflake/target_snowflake.py", line 246, in process_line
stream, o["record"], self.key_properties[stream]
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/target_snowflake/target_snowflake.py", line 388, in validate_record
self.validators[stream].validate(float_to_decimal(record))
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/jsonschema/validators.py", line 129, in validate
for error in self.iter_errors(*args, **kwargs):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/jsonschema/validators.py", line 105, in iter_errors
for error in errors:
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/jsonschema/_validators.py", line 304, in properties_draft4
schema_path=property,
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/jsonschema/validators.py", line 121, in descend
for error in self.iter_errors(instance, schema):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/jsonschema/validators.py", line 105, in iter_errors
for error in errors:
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/jsonschema/_validators.py", line 127, in multipleOf
failed = instance % dB
decimal.InvalidOperation: [<class 'decimal.DivisionImpossible'>]
ERROR could not find io module state (interpreter shutdown?)
Traceback (most recent call last):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 776, in _request_exec
auth=SnowflakeAuth(token),
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/sessions.py", line 451, in request
prep = self.prepare_request(req)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/sessions.py", line 382, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/models.py", line 307, in prepare
self.prepare_body(data, files, json)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/models.py", line 436, in prepare_body
length = super_len(data)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/utils.py", line 59, in super_len
fileno = o.fileno()
RuntimeError: could not find io module state (interpreter shutdown?)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 648, in _request_exec_wrapper
**kwargs)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 865, in _request_exec
raise RetryRequest(err)
snowflake.connector.network.RetryRequest: could not find io module state (interpreter shutdown?)
ERROR could not find io module state (interpreter shutdown?)
Traceback (most recent call last):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 776, in _request_exec
auth=SnowflakeAuth(token),
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/sessions.py", line 451, in request
prep = self.prepare_request(req)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/sessions.py", line 382, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/models.py", line 307, in prepare
self.prepare_body(data, files, json)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/models.py", line 436, in prepare_body
length = super_len(data)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/utils.py", line 59, in super_len
fileno = o.fileno()
RuntimeError: could not find io module state (interpreter shutdown?)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 648, in _request_exec_wrapper
**kwargs)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 865, in _request_exec
raise RetryRequest(err)
snowflake.connector.network.RetryRequest: could not find io module state (interpreter shutdown?)
ERROR could not find io module state (interpreter shutdown?)
Traceback (most recent call last):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 776, in _request_exec
auth=SnowflakeAuth(token),
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/sessions.py", line 451, in request
prep = self.prepare_request(req)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/sessions.py", line 382, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/models.py", line 307, in prepare
self.prepare_body(data, files, json)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/models.py", line 436, in prepare_body
length = super_len(data)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/botocore/vendored/requests/utils.py", line 59, in super_len
fileno = o.fileno()
RuntimeError: could not find io module state (interpreter shutdown?)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 648, in _request_exec_wrapper
**kwargs)
File "/code/virtualenvs/target-snowflake/lib/python3.7/site-packages/snowflake/connector/network.py", line 865, in _request_exec
raise RetryRequest(err)
snowflake.connector.network.RetryRequest: could not find io module state (interpreter shutdown?)
It appears to be affected by two floating point fields that have the schema element multipleOf set to 1e-38
Complete schema:
{
"properties": {
"freight_value": {
"multipleOf": 1e-38,
"type": [
"null",
"number"
]
},
"order_id": {
"type": [
"null",
"string"
]
},
"order_item_id": {
"minimum": -99999999999999999999999999999999999999,
"maximum": 99999999999999999999999999999999999999,
"type": [
"null",
"integer"
]
},
"price": {
"multipleOf": 1e-38,
"type": [
"null",
"number"
]
},
"product_id": {
"type": [
"null",
"string"
]
},
"seller_id": {
"type": [
"null",
"string"
]
},
"shipping_limit_date": {
"format": "date-time",
"type": [
"null",
"string"
]
}
},
"type": "object"
}
Edited by Andrew Madonna