Error when changing connector's version

  • Is this your first time deploying Airbyte?: No
  • OS Version / Instance: Ubuntu 5.4.0-107-generic
  • Deployment: Docker
  • Airbyte Version: 0.40.0-alpha
  • Source name/version: All
  • Destination name/version: All
  • Step: Change connector’s version
  • Description:
    I want to update version of all connectors, but I got an error “Sorry. Something went wrong…”
    For example, MySQL

In airbyte-server logs I see:

**ERROR** i.a.s.e.UncaughtExceptionMapper(toResponse):22 - Uncaught exception

java.lang.NullPointerException: Get Spec job return null spec
..
**ERROR** i.a.s.RequestLogger(filter):110 - REQ 172.21.0.3 POST 500 /api/v1/source_definitions/update - {"sourceDefinitionId":"435bb9a5-7887-4809-aa58-28c27df0d7ad","dockerImageTag":"0.6.1"}

server-logs.txt (7.3 MB)

but when I try docker run --rm airbyte/source-mysql:0.6.1 spec
it’s ok

2022-08-11 10:47:48 INFO i.a.i.s.m.MySqlSource(main):210 - starting source: class io.airbyte.integrations.source.mysql.MySqlSource

2022-08-11 10:47:48 INFO i.a.i.b.IntegrationCliParser(parseOptions):118 - integration args: {spec=null}

2022-08-11 10:47:48 INFO i.a.i.b.IntegrationRunner(runInternal):104 - Running integration: io.airbyte.integrations.base.ssh.SshWrappedSource

2022-08-11 10:47:48 INFO i.a.i.b.IntegrationRunner(runInternal):105 - Command: SPEC

2022-08-11 10:47:48 INFO i.a.i.b.IntegrationRunner(runInternal):106 - Integration config: IntegrationConfig{command=SPEC, configPath='null', catalogPath='null', statePath='null'}

{"type":"SPEC","spec":{"documentationUrl":"https://docs.airbyte.io/integrations/sources/mysql","connectionSpecification":{"$schema":"http://json-schema.org/draft-07/schema#","title":"MySql Source Spec","type":"object","required":["host","port","database","username","replication_method"],"properties":{"host":{"description":"The host name of the database.","title":"Host","type":"string","order":0},"port":{"description":"The port to connect to.","title":"Port","type":"integer","minimum":0,"maximum":65536,"default":3306,"examples":["3306"],"order":1},"database":{"description":"The database name.","title":"Database","type":"string","order":2},"username":{"description":"The username which is used to access the database.","title":"Username","type":"string","order":3},"password":{"description":"The password associated with the username.","title":"Password","type":"string","airbyte_secret":true,"order":4},"jdbc_url_params":{"description":"Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3).","title":"JDBC URL Params","type":"string","order":5},"ssl":{"title":"SSL Connection","description":"Encrypt data using SSL.","type":"boolean","default":true,"order":6},"replication_method":{"type":"string","title":"Replication Method","description":"Replication method which is used for data extraction from the database. STANDARD replication requires no setup on the DB side but will not be able to represent deletions incrementally. CDC uses the Binlog to detect inserts, updates, and deletes. This needs to be configured on the source database itself.","order":7,"default":"STANDARD","enum":["STANDARD","CDC"]},"tunnel_method":{"type":"object","title":"SSH Tunnel Method","description":"Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use.","oneOf":[{"title":"No Tunnel","required":["tunnel_method"],"properties":{"tunnel_method":{"description":"No ssh tunnel needed to connect to database","type":"string","const":"NO_TUNNEL","order":0}}},{"title":"SSH Key Authentication","required":["tunnel_method","tunnel_host","tunnel_port","tunnel_user","ssh_key"],"properties":{"tunnel_method":{"description":"Connect through a jump server tunnel host using username and ssh key","type":"string","const":"SSH_KEY_AUTH","order":0},"tunnel_host":{"title":"SSH Tunnel Jump Server Host","description":"Hostname of the jump server host that allows inbound ssh tunnel.","type":"string","order":1},"tunnel_port":{"title":"SSH Connection Port","description":"Port on the proxy/jump server that accepts inbound ssh connections.","type":"integer","minimum":0,"maximum":65536,"default":22,"examples":["22"],"order":2},"tunnel_user":{"title":"SSH Login Username","description":"OS-level username for logging into the jump server host.","type":"string","order":3},"ssh_key":{"title":"SSH Private Key","description":"OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa )","type":"string","airbyte_secret":true,"multiline":true,"order":4}}},{"title":"Password Authentication","required":["tunnel_method","tunnel_host","tunnel_port","tunnel_user","tunnel_user_password"],"properties":{"tunnel_method":{"description":"Connect through a jump server tunnel host using username and password authentication","type":"string","const":"SSH_PASSWORD_AUTH","order":0},"tunnel_host":{"title":"SSH Tunnel Jump Server Host","description":"Hostname of the jump server host that allows inbound ssh tunnel.","type":"string","order":1},"tunnel_port":{"title":"SSH Connection Port","description":"Port on the proxy/jump server that accepts inbound ssh connections.","type":"integer","minimum":0,"maximum":65536,"default":22,"examples":["22"],"order":2},"tunnel_user":{"title":"SSH Login Username","description":"OS-level username for logging into the jump server host","type":"string","order":3},"tunnel_user_password":{"title":"Password","description":"OS-level password for logging into the jump server host","type":"string","airbyte_secret":true,"order":4}}}]}}},"supportsNormalization":false,"supportsDBT":false,"supported_destination_sync_modes":[]}}

2022-08-11 10:47:48 INFO i.a.i.b.IntegrationRunner(runInternal):152 - Completed integration: io.airbyte.integrations.base.ssh.SshWrappedSource

2022-08-11 10:47:48 INFO i.a.i.s.m.MySqlSource(main):212 - completed source: class io.airbyte.integrations.source.mysql.MySqlSource

Could you try again? I have the same version and was able to change from 0.6.1 to 0.5.15 and back to 0.6.1

I have the same mistake again

@coca-alex this happens only for MySQL or to other connectors? Do you mind capturing the API request when trying to update the connector?

  1. It happens with all connectors, not only MySQL
  2. What do you mean? I captured API Request (I shared full server logs in my post)
**ERROR** i.a.s.RequestLogger(filter):110 - REQ 172.21.0.3 POST 500 /api/v1/source_definitions/update - {"sourceDefinitionId":"435bb9a5-7887-4809-aa58-28c27df0d7ad","dockerImageTag":"0.6.1"}

Please check this to intercept the API call:
https://www.loom.com/share/17b0dbba83fa46d582af85c98dc4225f