Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: back out Connect auto-import feature #3386

Merged
merged 2 commits into from
Sep 20, 2019

Conversation

agavra
Copy link
Contributor

@agavra agavra commented Sep 19, 2019

Description

After discussions with @derekjn and @MichaelDrogalis we think it's probably better to back out the connect auto-import. Instead, describing a supported connector will list the topics available (see unit tests).

Testing done

  • Added some unit tests
  • E2E Local Testing

Reviewer checklist

  • Ensure docs are updated if necessary. (eg. if a user visible feature is being added or changed).
  • Ensure relevant issues are linked (description should include text like "Fixes #")

@agavra agavra requested review from JimGalasyn and a team as code owners September 19, 2019 19:28
Copy link
Member

@JimGalasyn JimGalasyn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for taking care of this!

@big-andy-coates
Copy link
Contributor

Boo!

What is our approach to actually providing this as an integrated solution then? We are planning on having proper auto-import right? Otherwise I'd say it will still feel like too products and not the integrated solution we were targeting.

Copy link
Contributor

@big-andy-coates big-andy-coates left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @agavra

See comment above.

Plus few nits & suggestions.

sources
sources,
topics,
warnings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like ConnectorDescription is only ever created with either the topics list or a single warning.

Might be worth codifying this. i.e. the topics param passed in to ConnectorDescription should be a union type of either the topic list or a single warning.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future we might want to supply other warnings that are unrelated to the list of topics (e.g. failed to connect to Connect) - I don't think that coupling necessarily makes sense.

return ImmutableList.of();
}

return admin.listTopics().names().get(5, TimeUnit.SECONDS)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider making this timeout configurable?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haha calling me out on indolence.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I looked into this a little bit, we don't have any configureable timeouts at the moment (in KsqlConfig anyway). I'm going to follow this PR with one that adds a DEFAULT_EXTERNAL_SERVICE_TIMEOUT and then we can add specific overrides for it.

@MichaelDrogalis
Copy link
Contributor

Boo!

What is our approach to actually providing this as an integrated solution then? We are planning on having proper auto-import right? Otherwise I'd say it will still feel like too products and not the integrated solution we were targeting.

We need to figure out how to do this without providing special support in KSQL for particular connectors. We don't want to be in the business of having to implement particular interfaces for every connector out there and always playing catch-up.

@agavra
Copy link
Contributor Author

agavra commented Sep 20, 2019

Building off of what @MichaelDrogalis said, it's not just per-connector things (even after this revert we still have per-connector things that we'll need to remove) it's that the experience around auto-import isn't great and extremely limited, and the overhead of typing one CREATE statement (without a schema, thanks to SR) isn't that high.

@agavra agavra merged commit d4c748c into confluentinc:master Sep 20, 2019
@agavra agavra deleted the remove_connect branch September 20, 2019 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants