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

Athena to Amazon Neptune connector code #222

Merged
merged 36 commits into from
Oct 15, 2020

Conversation

abhishekpradeepmishra
Copy link
Contributor

Issue #, if available:

Description of changes:
Athena to Amazon Neptune connector code

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@avirtuos
Copy link
Contributor

Thanks Abhishek, per our chime chat I'll get you some feedback tomorrow. Very excited that you and the team have been working on this.

Copy link
Contributor

@avirtuos avirtuos left a comment

Choose a reason for hiding this comment

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

Looks like a reasonable starting point. Most of my comments are easy to address. The most meaningful comment is about moving RecordHandler to use the extractor framework which is significantly faster (2x-4x) than the current structuring used.

@avirtuos
Copy link
Contributor

avirtuos commented Sep 3, 2020

Hey team, any updates here?

@abhishekpradeepmishra
Copy link
Contributor Author

Hey team, any updates here?

Done with code review comments and additional code related to mocking up RecordHandler Test . Sending new pull request

@abhishekpradeepmishra
Copy link
Contributor Author

Sending new pull request

@abhishekpradeepmishra
Copy link
Contributor Author

Re-opening as requested to have context of changes

2Fixed most of the checkstyle issues except for import ordr and wld crd
@avirtuos
Copy link
Contributor

avirtuos commented Oct 1, 2020

@abhishekpradeepmishra Ill get you feedback in the next 24hrs, sorry for the delay.

Copy link
Contributor

@avirtuos avirtuos left a comment

Choose a reason for hiding this comment

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

We do not generally commit .gitignore in our projects. Can you remove this file?

athena-neptune/athena-neptune.yaml Outdated Show resolved Hide resolved
@@ -158,16 +157,20 @@ protected void readWithConstraint(final BlockSpiller spiller, final ReadRecordsR
final Map<Object, Object> obj = graphTraversalFinal.next();
return (rowWriter.writeRow(block, rowNum, (Object) obj) ? 1 : 0);
});
} catch (final Exception e) {
}
catch (final Exception e) {
logger.info("readWithContraint: Exception occured " + e);
Copy link
Contributor

Choose a reason for hiding this comment

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

You need to re-throw this exception otherwise a customer using Athena will not see a useful error message. They might only see empty results and not even know there was an error.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed internal try catch block

@@ -158,16 +157,20 @@ protected void readWithConstraint(final BlockSpiller spiller, final ReadRecordsR
final Map<Object, Object> obj = graphTraversalFinal.next();
return (rowWriter.writeRow(block, rowNum, (Object) obj) ? 1 : 0);
});
} catch (final Exception e) {
}
catch (final Exception e) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Catching Exception is a bad practice, please catch only RuntimeException + any specific checked exceptions that the code requires (for example IOException is a specific exception that the compiler will complain about if code in your 'try' can throw it but you dont have a corresponding catch.

Copy link
Contributor

Choose a reason for hiding this comment

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

Fixed.

.settings/org.eclipse.m2e.core.prefs
.vscode/settings.json
Copy link
Contributor

Choose a reason for hiding this comment

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

We do not typically commit the .gitignore file to our project.

@avirtuos
Copy link
Contributor

avirtuos commented Oct 2, 2020

@abhishekpradeepmishra Great progress! I posted a few new comments but they are mostly minor. I resolved ~100 of the previously opened comments. Getting very close! Let me know what you are ready for another review.

@avirtuos avirtuos self-assigned this Oct 2, 2020
avirtuos
avirtuos previously approved these changes Oct 14, 2020
Copy link
Contributor

@avirtuos avirtuos left a comment

Choose a reason for hiding this comment

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

looks good to me. I think this is ready to be merged. Thanks for working with us on this contribution.

@avirtuos
Copy link
Contributor

Looks like there are a few checkstyle issues as you mentioned on IM. Let me know when you have these resolved and I can do a final review before merging. I'll also speak with the team to see when we can schedule final testing and deployment to serverless application repository on our side. @abhishekpradeepmishra

@avirtuos
Copy link
Contributor

Do not merge yet, im discussing 1 issue with the team

@avirtuos avirtuos merged commit b178e51 into awslabs:master Oct 15, 2020
@avirtuos
Copy link
Contributor

@abhishekpradeepmishra and @sandeepveldi Thanks for this awesome contribution! I'll work with the team to get this into the next official release and also get a pre-built version into Serverless Application Repository.

@abhishekpradeepmishra
Copy link
Contributor Author

cool, thanks for guidance

@sandeepveldi
Copy link
Contributor

Thank you @avirtuos.

abhishekpradeepmishra added a commit to abhishekpradeepmishra/aws-athena-query-federation that referenced this pull request Oct 15, 2020
Initial merge of Athena's Neptune connector.

Co-authored-by: Sandeep Veldi <veldi@amazon.com>
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.

3 participants