-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
🎉 New destination: Cassandra #7186
🎉 New destination: Cassandra #7186
Conversation
itaseski seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
Hi Airbyte team :) I would like to submit my Cassandra destination connector for the Airbyte platform. Unfortunately I have the same issue with the acceptance tests as the Elasticsearch connector #7005 (comment). My unit and integration tests run without a problem but the build gets stuck on the acceptance tests, from initial investigation it seems that the running container won't exit after the write command has been executed and that locks the gradle build. |
Also, can you please remove the 'itaseski' user from the CLA issue? I have already signed the agreement with my Github acc. |
thanks for the contribution @itaseskii I added this to our sprint to review. About the acceptance tests any news to solve I'll let you know. If possible run |
|
||
RUN tar xf ${APPLICATION}.tar --strip-components=1 | ||
|
||
LABEL io.airbyte.version=1.0.0 |
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.
please, change the version to 0.1.0
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.
changed to 0.1.0
private static final Logger LOGGER = LoggerFactory.getLogger(CassandraDestination.class); | ||
|
||
public static void main(String[] args) throws Exception { | ||
new IntegrationRunner(new CassandraDestination()).run(args); |
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.
it would be great to add logs around the connector initialization
new IntegrationRunner(new CassandraDestination()).run(args); | |
LOGGER.info("starting destination: {}", CassandraDestination.class); | |
new IntegrationRunner(new CassandraDestination()).run(args); | |
LOGGER.info("completed destination: {}", CassandraDestination.class); |
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.
Since run() is already logging the info that the integration/destination has started and finished isn't that enough? :)
var streamConfig = | ||
cassandraStreams.get(AirbyteStreamNameNamespacePair.fromRecordMessage(messageRecord)); | ||
Preconditions.checkNotNull(streamConfig, "Unrecognized destination stream"); | ||
//var formattedNode = CassandraNameTransformer.formatJsonPath(messageRecord.getData()); |
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.
please, remove commented line if not needed
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.
removed.
if (cassandraContainer == null) { | ||
cassandraContainer = new ConfiguredCassandraContainer(); | ||
// max heap size | ||
// cassandraContainer.addEnv("MAX_HEAP_SIZE", "2048"); |
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.
please, remove commented line if not needed
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.
removed.
Hey @marcosmarxm :) I have formatted the code with |
"address": { | ||
"title": "Address", | ||
"description": "Address to connect to.", | ||
"type": "string", |
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.
please add an example here
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.
added :)
* add cassandra destination connector * refactor and docs. * delete test dockerfile * revert Dockerfile rm change * refactor & fix acceptance tests & format * revert stream peek * remove get pip * add address example * improved copy and code refactor * add docker-compose and improved docs Co-authored-by: itaseski <[email protected]>
What
The MR adds new destination connector for Apache Cassandra
How
Using the Java Datastax driver https://docs.datastax.com/en/developer/java-driver/4.13/
Recommended reading order
CassandraDestination.java
CassandraConfig.java
CassandraMessageConsumer.java
CassandraNameTransformer.java
CassandraStreamConfig.java
CassandraCqlProvider.java
SessionManager.java
TableRecord.java
MetadataTuple.java
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/SUMMARY.md
docs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing./publish
command described hereUpdating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing./publish
command described hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changes