gaetan_podevijn
04/12/2023, 2:20 PM{"type":"RECORD","stream":"my-topic"record":{},"time_extracted":"2023-04-12T14:05:57.915891+00:00"}
gaetan_podevijn
04/12/2023, 2:22 PMairbyte_config:
protocol:
sasl_jaas_config: org.apache.kafka.common.security.plain.PlainLoginModule
required username="<redacted>" password="<redacted>";
security_protocol: SASL_SSL
sasl_mechanism: PLAIN
MessageFormat:
schema_registry_url: https://<redacted>.eu-central-1.aws.confluent.cloud
schema_registry_username: <redacted>
schema_registry_password: <redacted>
deserialization_type: AVRO
deserialization_strategy: TopicNameStrategy
bootstrap_servers: <redacted>.eu-west-1.aws.confluent.cloud:9092
subscription:
topic_pattern: my-avro-topic
subscription_type: subscribe
auto_offset_reset: earliest
client_dns_lookup: use_all_dns_ips
enable_auto_commit: false
receive_buffer_bytes: -1
polling_time: 2000
alexander_butler
04/12/2023, 2:24 PMalexander_butler
04/12/2023, 2:25 PMluis_vicente
04/12/2023, 2:25 PMgaetan_podevijn
04/12/2023, 2:26 PMalexander_butler
04/12/2023, 2:26 PMalexander_butler
04/12/2023, 2:26 PMalexander_butler
04/12/2023, 2:27 PMhead
alexander_butler
04/12/2023, 2:29 PMmeltano invoke tap-… —discover
which does the airbyte discovery and minimal translation outputting to stdout.gaetan_podevijn
04/12/2023, 2:29 PMProperties ... were present in the 'my-avro-topic' stream but not found in catalog schema. Ignoring.
alexander_butler
04/12/2023, 2:29 PMalexander_butler
04/12/2023, 2:32 PMgaetan_podevijn
04/12/2023, 2:33 PM"schema": {
"properties": {
"value": {
"type": "string"
}
},
"type": "object"
},
luis_vicente
04/12/2023, 2:34 PMalexander_butler
04/12/2023, 2:34 PMvalue
?luis_vicente
04/12/2023, 2:35 PMvalue
of the KafkaMessagealexander_butler
04/12/2023, 2:35 PMalexander_butler
04/12/2023, 2:37 PMalexander_butler
04/12/2023, 2:45 PMpop_deselected_record_properties
or something like that we are trying to avoid in order to introspect the actual structure of the messages without the sdk mutating them. Changing that type conformance value, IIRC, is a proxy for disabling that. If not you can override that method/function directly. Again this is just for the purposes of introspection :)luis_vicente
04/12/2023, 2:46 PMluis_vicente
04/12/2023, 2:47 PMalexander_butler
04/12/2023, 2:48 PMalexander_butler
04/12/2023, 2:48 PMluis_vicente
04/12/2023, 2:49 PMluis_vicente
04/12/2023, 2:49 PMalexander_butler
04/12/2023, 2:51 PMWe have the following:
Properties ... were present in the 'my-avro-topic' stream but not found in catalog schema. Ignoring.
For context. I am helping you prevent this message which itself indicates the SDK is mutating/pruning your RECORD messages of all properties except value
This is so we can see the actual records and their key/values as replicated by Airbyte BEFORE meltano does it’s conformance.alexander_butler
04/12/2023, 2:56 PMdiscover
I don’t know enough about the internals of that source to help. But I can point you in that direction at least.
Also if removing the pruning actually helps, we can make that configurable in tap-airbyte itself as a sort of user override. I disable it myself on my own taps since I often use schemaless (no schema needed up front) destinations and don’t need to waste cycles on pointless checks.alexander_butler
04/12/2023, 2:57 PMoh, we changed the wrong class actuallyThe class should be in
tap.py
I think the whole wrapper fits in one py file so you will see the class that inherits from Stream. Probably near the bottom.luis_vicente
04/12/2023, 2:59 PMluis_vicente
04/12/2023, 3:02 PMluis_vicente
04/12/2023, 3:02 PMalexander_butler
04/12/2023, 3:06 PMTypeConformanceLevel.NONE
does not fix it. You may need to figure out where that pop deselected function is called. That’s really the culprit. I was hoping the type conformance would disable that call but it seems not 😢
If your python savvy and you are in this deep, it would not be much more work to find the method where that function is called and override it removing the call. Up to you though.luis_vicente
04/12/2023, 3:07 PMalexander_butler
04/12/2023, 3:08 PMpop_deselected_record_properties
And called in the stream class
Yeah NP, and good luckluis_vicente
04/12/2023, 5:49 PMluis_vicente
04/12/2023, 5:50 PMluis_vicente
04/12/2023, 5:50 PMluis_vicente
04/12/2023, 5:52 PM_validate_and_parse
method of the syncalexander_butler
04/12/2023, 6:17 PMluis_vicente
04/13/2023, 10:15 AMerwan_jezequel
08/29/2023, 7:32 AM