Skip to content

Conversation

@JawedRakib
Copy link
Contributor

Description of changes:

As part of query federation feature we have added support for Substrait query plan in the GoogleBigQuery connector to use the plan and execute the queries.

We have also made updates in Athena Federation SDK in the SubstraitFunctionParser in order to add additional support for the following:

Existing methods unchanged: All current functionality preserved

Additive enhancement: New method doesn't affect existing code paths

We have made sure that these are backwards compatible.

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

@amazon-inspector-n-virginia
Copy link

⏳ I'm reviewing this pull request for security vulnerabilities and code quality issues. I'll provide an update when I'm done

1 similar comment
@amazon-inspector-n-virginia
Copy link

⏳ I'm reviewing this pull request for security vulnerabilities and code quality issues. I'll provide an update when I'm done

@amazon-inspector-n-virginia
Copy link

✅ I finished the code review, and didn't find any security or code quality issues.

1 similar comment
@amazon-inspector-n-virginia
Copy link

✅ I finished the code review, and didn't find any security or code quality issues.

@AbdulR3hman
Copy link
Contributor

hi; this change is touching too many packages at the same time; reverting it in case of a bug will be really problematic; can you please split them out to three if possible; or at least the changes to the two different plugins to be done separately. thanks.

In the mean time I'll do a quick review here.

*/
public boolean offerValue(String fieldName, int row, Object value, boolean hasQueryPlan)
{
if (!hasQueryPlan && !constraintEvaluator.apply(fieldName, value)) {
Copy link
Contributor

Choose a reason for hiding this comment

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

should this be an ||?

Copy link
Contributor

Choose a reason for hiding this comment

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

the reason I'm asking is that all other methods here check only for constraintEvaluator.apply being true; I guess why the new condition is needed?

Copy link
Contributor

Choose a reason for hiding this comment

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

just finished going through the unit test; it seems you only want this method to work with a plan and not constraint object. my concern is that we are expecting other methods to work with both except for this one method,

try (BlockAllocatorImpl allocator = new BlockAllocatorImpl()) {
int resolvedSerDeVersion = SerDeVersion.SERDE_VERSION;
byte[] allInputBytes = com.google.common.io.ByteStreams.toByteArray(inputStream);
logger.info("allInputBytes: '{}'", new String(allInputBytes, StandardCharsets.UTF_8));
Copy link
Contributor

Choose a reason for hiding this comment

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

should this be debug to reduce noise?

private static final String SECRET_ARN_KEY = "secret_arn";
private static final String AUTH_DB_KEY = "AUTHENTICATION_DATABASE";

// JSON credential field names
Copy link
Contributor

Choose a reason for hiding this comment

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

should all these be here; athena-docdb/src/main/java/com/amazonaws/athena/connectors/docdb/DocDBEnvironmentProperties.java ?

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.

2 participants