-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Kinesis connector #476
Kinesis connector #476
Conversation
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Outdated
Show resolved
Hide resolved
@ankitdixit i'd love to review this, but i don't have enough bandwidth now. 😞 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some high level comments from a quick scan of the code.
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorConfig.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/SessionVariables.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/SessionVariables.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some initial comments
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/resources/META-INF/services/com.facebook.presto.spi.Plugin
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/TestKinesisConnectorConfig.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/TestKinesisConnectorConfig.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisTableDescriptionSupplier.java
Show resolved
Hide resolved
Is it acceptable to include KCL (amazon-kinesis-client)? KCL is licensed under Amazon Software License and its compatibility with Apache License had been argued in some other open source projects. Probably it's OK if the connector will be distributed as source code and users build by themselves. |
@takezoe and @ankitdixit: We looked over the license, and it seems ok for a connector. We will need to update the NOTICE file, the README file, and we will add a banner in the docs for this connector to let users know the license has additional restrictions. We will handle theses changes, so you don't need to do anything extra for this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build is failing due to the old version number in the new presto-kinesis/pom.xml
file. Can you update that an resubmit so that Travis runs?
Also, I just skimmed over the code, and I think you missed a bunch of comments from @electrum.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some more comments.
BTW, did you forget to push some updates or is github getting confused with the merge commits? It doesn't seem to be showing updates based on earlier review comments.
Can you rebase on top of master and get rid of the merge commits to see if that fixes it?
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisClientManager.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisColumnHandle.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConfig.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConfig.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnector.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnector.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnector.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnector.java
Outdated
Show resolved
Hide resolved
4efa077
to
848dafd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ankitdixit, it looks like some comments that are marked as resolved are still not addressed. Did some changes get lost when you squashed the commits?
return iterFromTimestamp; | ||
} | ||
|
||
@Config("kinesis.iter-from-timestamp") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This still has the old name. Can you update?
return iterOffsetSeconds; | ||
} | ||
|
||
@Config("kinesis.iter-offset-seconds") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here.
848dafd
to
fa6b9b0
Compare
Yes, seems i missed them while squashing, fixed now. |
35b4465
to
3fd0c3e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still reviewing, but some initial comments
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisMetadata.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisPlugin.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisPlugin.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/MockKinesisClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/MockKinesisClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/MockKinesisClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisPlugin.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisRecordSet.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisRecordSet.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisRecordSet.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisRecordSet.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisSessionProperties.java
Outdated
Show resolved
Hide resolved
9c9019d
to
5a7baf5
Compare
@ankitdixit Have you managed to address all comments you got? |
6be40c2
to
bfedeb9
Compare
@martint @electrum @kokosing I have gone through all the conversations and have tried to resolve all the comments
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some additional comments. Also, it looks like you missed some comments from @electrum.
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConfig.java
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisConnectorFactory.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/TestUtils.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/TestUtils.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/TestUtils.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/TestUtils.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/test/java/io/prestosql/plugin/kinesis/util/TestUtils.java
Outdated
Show resolved
Hide resolved
7118f81
to
4e044aa
Compare
4e044aa
to
3d01675
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a bunch of minor stylistic comments. For anything else, let's create a separate issue to track them and we can tackle them after we merge this first version.
The only issues I've found that we should address before merging are:
- the "statefulness" of ConnectorFactory, which can cause problems when the connector is instantiated multiple times. If you'd like to chat about this more, please ping me on Slack.
- some errors are being swallowed, which cause result in silent and subtle issues.
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisRecordSet.java
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisSessionProperties.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisShardCheckpointer.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/s3config/S3TableConfigClient.java
Outdated
Show resolved
Hide resolved
674026c
to
10dfef1
Compare
10dfef1
to
1bb6309
Compare
Made a couple of minor adjustments and merged it. Thanks! |
No description provided.