Skip to content

Conversation

@Jithendar12
Copy link
Contributor

@Jithendar12 Jithendar12 commented Jul 24, 2025

Issue #, if available:

Description of changes:
This PR introduces support for OAuth-based authentication in the SAP HANA connector using JWT tokens issued by SAP XSUAA. It implements the client_credentials grant type to fetch access tokens and manages them securely via AWS Secrets Manager.

Users must store the following credentials in AWS Secrets Manager:
{
"client_id": "<oauth-client-id>",
"client_secret": "<oauth-client-secret>",
"token_url": "<issuer-url-from-xsuaa-service-key>"
}

The connector uses these credentials to fetch a new access token, updates the secret with {access_token}, {fetched_at}, and {expires_in}, and refreshes the token automatically if it has expired based on those values. Please find attached reference and test document.
OAuth Integration in SAP HANA.docx

saphana-oauth-testing.odt

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

@Jithendar12 Jithendar12 force-pushed the feature/saphana-oauth branch from 5895d3f to 6cf86a6 Compare July 31, 2025 07:45
);
}

secretsManager.getSecretsManager().putSecretValue(builder -> builder
Copy link
Contributor

Choose a reason for hiding this comment

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

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

software.amazon.awssdk.services.secretsmanager.SecretsManagerClient.putSecretValue API can also throw the following exception types: InvalidParameterException, SdkClientException, ResourceExistsException, SecretsManagerException, SdkException, AwsServiceException, InternalServiceErrorException, InvalidRequestException, LimitExceededException, EncryptionFailureException, ResourceNotFoundException. We recommend handling these uncaught exceptions as well.

InputStream responseStream = (responseCode >= 200 && responseCode < 300) ?
conn.getInputStream() : conn.getErrorStream();

String responseBody = new BufferedReader(new InputStreamReader(responseStream))
Copy link
Contributor

Choose a reason for hiding this comment

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

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

InputStreamReader

While converting a byte stream into characters, if no encoding is specified, the constructor assumes the default system runtime encoding, which may not be the correct encoding.

Suggested solution:

Specify an encoding

(likely UTF-8, which is backward compatible with ASCII and has multi-language support)

InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); 

try {
tokenResponse = objectMapper.readTree(responseBody);
}
catch (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.

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

It appears that your code handles a broad swath of exceptions in the catch block, potentially trapping dissimilar issues or problems that should not be dealt with at this point in the program.

Learn more

try {
secretString = objectMapper.writeValueAsString(updatedSecretJson);
}
catch (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.

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

It appears that your code handles a broad swath of exceptions in the catch block, potentially trapping dissimilar issues or problems that should not be dealt with at this point in the program.

Learn more

static HttpURLConnection getHttpURLConnection(String tokenEndpoint, String clientId, String clientSecret) throws IOException
{
URL url = new URL(tokenEndpoint);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Copy link
Contributor

Choose a reason for hiding this comment

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

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

Deprecated client constructor detected. Using deprecated client constructors can lead to security vulnerabilities, performance issues, and lack of support for newer features. Replace with the current recommended client libraries and builder patterns (e.g., HttpClientBuilder, AmazonS3ClientBuilder, MongoClients, etc.).


// OAuth constants
public static final String CLIENT_ID = "client_id";
public static final String CLIENT_SECRET = "client_secret";
Copy link
Contributor

Choose a reason for hiding this comment

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

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

Potential hardcoded credential detected. This code may contain sensitive data such as passwords or API keys embedded directly in the source. Hardcoded credentials can be extracted and misused, leading to unauthorized access to systems or data breaches. To remediate this, store secrets in environment variables or use a secrets management tool like AWS Secrets Manager, Azure Key Vault, or HashiCorp Vault. Avoid committing credentials to version control. For best practices, refer to - https://cwe.mitre.org/data/definitions/798.html

static final String TO_WELL_KNOWN_TEXT_FUNCTION = ".ST_AsWKT()";

// OAuth constants
public static final String CLIENT_ID = "client_id";
Copy link
Contributor

Choose a reason for hiding this comment

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

Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.

Potential hardcoded credential detected. This code may contain sensitive data such as passwords or API keys embedded directly in the source. Hardcoded credentials can be extracted and misused, leading to unauthorized access to systems or data breaches. To remediate this, store secrets in environment variables or use a secrets management tool like AWS Secrets Manager, Azure Key Vault, or HashiCorp Vault. Avoid committing credentials to version control. For best practices, refer to - https://cwe.mitre.org/data/definitions/798.html

@Jithendar12
Copy link
Contributor Author

Addressed CodeGuru review feedback:

1) Regarding character encoding:
    Added explicit StandardCharsets.UTF_8 for InputStreamReader
    Ensures proper encoding for all HTTP responses

2) Regarding deprecated HTTP client:
    Replaced HttpURLConnection with modern java.net.http.HttpClient
    Updated request/response handling to use new API

3) Regarding hardcoded credential constants:
    These are just field names used as keys in JSON configuration
    Organized constants into clear groups (OAuth config, token response, basic auth)
    No actual credentials are hardcoded, all sensitive data is stored in AWS Secrets Manager

4) Regarding exception handling:
    Added specific exception handling with appropriate error codes:
        ResourceNotFoundException -> ENTITY_NOT_FOUND_EXCEPTION
        InvalidParameterException -> INVALID_INPUT_EXCEPTION
        LimitExceededException -> THROTTLING_EXCEPTION
        EncryptionFailureException -> INTERNAL_SERVICE_EXCEPTION
    Each exception type now maps to a specific FederationSourceErrorCode

@burhan94
Copy link
Collaborator

Can we please use the framework being created in this PR here and reuse it for this connector? http://github.com/awslabs/aws-athena-query-federation/pull/2932

@burhan94 burhan94 self-requested a review August 20, 2025 19:55
@Jithendar12
Copy link
Contributor Author

Can we please use the framework being created in this PR here and reuse it for this connector? http://github.com/awslabs/aws-athena-query-federation/pull/2932

Hi @burhan94, yes, we have a plan for this. Once the Gen2 PR is approved and merged, we will update this PR. Thank you!

@burhan94
Copy link
Collaborator

Hi,

#2932 has been merged, can you please update this PR

@codecov
Copy link

codecov bot commented Sep 18, 2025

Codecov Report

❌ Patch coverage is 76.47059% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.60%. Comparing base (fe0a5d9) to head (2ae5a48).
⚠️ Report is 40 commits behind head on master.

Files with missing lines Patch % Lines
...ctors/saphana/SaphanaOAuthCredentialsProvider.java 78.26% 0 Missing and 5 partials ⚠️
...thena/connectors/saphana/SaphanaRecordHandler.java 0.00% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2894      +/-   ##
============================================
+ Coverage     63.67%   64.60%   +0.93%     
- Complexity     4344     4611     +267     
============================================
  Files           621      635      +14     
  Lines         23286    24108     +822     
  Branches       2859     2993     +134     
============================================
+ Hits          14827    15575     +748     
- Misses         7070     7094      +24     
- Partials       1389     1439      +50     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Jithendar12
Copy link
Contributor Author

Jithendar12 commented Sep 18, 2025

Hi,

#2932 has been merged, can you please update this PR

Hi @burhan94 , this PR has been updated. Kindly review. Thanks!

@macohen macohen requested a review from aimethed September 25, 2025 14:07
@burhan94 burhan94 merged commit e949acb into awslabs:master Oct 7, 2025
8 checks passed
github-actions bot pushed a commit that referenced this pull request Oct 16, 2025
  - build(deps): bump io.confluent:kafka-avro-serializer from 8.0.0 to 8.0.2 (#3055)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.35.0 to 2.35.5 (#3057)
  - build(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 (#3061)
  - Remove timestamp case from SnowflakeQueryStringBuilder (#2997)
  - build(deps): bump io.substrait.version from 0.65.0 to 0.66.0 (#3051)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.58.0 to 2.58.1 (#3059)
  - build(deps): bump org.postgresql:postgresql from 42.7.7 to 42.7.8 (#3063)
  - build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 (#3062)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.4 to 4.9.6 (#3058)
  - build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (#3060)
  - build(deps): bump net.sf.jt400:jt400 from 21.0.5 to 21.0.6 (#3053)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.50 to 20.00.00.51 (#3054)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.3 to 9.1.5 (#3056)
  - build(deps): bump org.bouncycastle:bcpkix-jdk18on from 1.81 to 1.82 (#3050)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.6 to 5.2.0 (#3052)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.114.1 to 1.115.0 (#3048)
  - build(deps): bump aws-sdk-v2.version from 2.34.5 to 2.35.0 (#3039)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.1.1 to 4.2 (#3037)
  - build(deps): bump aws-sdk.version from 1.12.791 to 1.12.792 (#3035)
  - build(deps): bump net.java.dev.jna:jna-platform from 5.17.0 to 5.18.1 (#3038)
  - build(deps-dev): bump log4j2Version from 2.25.1 to 2.25.2 (#3029)
  - build(deps): bump io.substrait.version from 0.52.0 to 0.65.0 (#3021)
  - build(deps): bump org.assertj:assertj-core from 3.27.4 to 3.27.6 (#3019)
  - build(deps): bump com.amazonaws:aws-lambda-java-core from 1.3.0 to 1.4.0 (#3020)
  - build(deps): bump net.java.dev.jna:jna from 5.17.0 to 5.18.1 (#3034)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.10 to 2.2.20 (#3027)
  - build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 (#3033)
  - build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.82 (#3022)
  - build(deps): bump org.bouncycastle:bcutil-jdk18on from 1.81 to 1.82 (#3024)
  - build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.9.0 (#3026)
  - build(deps): bump org.codehaus.mojo:license-maven-plugin from 2.6.0 to 2.7.0 (#3023)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.33.8 to 2.35.0 (#3040)
  - Add Support for OAuth in athena-saphana Connector (#2894)
  - build(deps): bump aws-actions/configure-aws-credentials from 4 to 5 (#2975)
  - build(deps): bump actions/setup-node from 4 to 5 (#2976)
  - [Neptune] Add doc details on how multi-valued properties are handled. (#2995)
  - build(deps): bump org.jetbrains.kotlin:kotlin-reflect from 2.2.10 to 2.2.20 (#3028)
  - build(deps): bump software.amazon.glue:schema-registry-serde from 1.1.24 to 1.1.25 (#3030)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 from 2.2.10 to 2.2.20 (#3031)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.49 to 20.00.00.50 (#3032)
  - build(deps): bump aws-sdk-v2.version from 2.34.3 to 2.34.5 (#3017)
  - Add Support for OAuth in athena-sqlserver Connector (#3006)
  - Add Support for OAuth in athena-synapse Connector (#2904)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.113.0 to 1.114.1 (#2979)
  - build(deps): bump org.apache.calcite.version from 1.39.0 to 1.40.0 (#2980)
  - build(deps): bump aws-sdk.version from 1.12.788 to 1.12.791 (#2981)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.4 to 5.1.5 (#2983)
  - build(deps): bump com.clickhouse:clickhouse-jdbc from 0.9.1 to 0.9.2 (#2985)
  - build(deps): bump net.snowflake:snowflake-jdbc from 3.26.0 to 3.26.1 (#2987)
  - build(deps): bump org.yaml:snakeyaml from 2.4 to 2.5 (#2988)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.0.9 to 4.1 (#2998)
  - build(deps): bump aws-sdk-v2.version from 2.32.29 to 2.33.9 (#2999)
  - build(deps): bump org.apache.kafka:kafka-clients from 4.0.0 to 4.1.0 (#3000)
  - build(deps): bump surefire.failsafe.version from 3.5.3 to 3.5.4 (#3001)
  - build(deps): bump com.microsoft.azure:msal4j from 1.22.0 to 1.23.1 (#3002)
  - build(deps): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.1 (#3003)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.55.0 to 2.57.0 (#3004)
  - build(deps): bump com.sap.cloud.db.jdbc:ngdbc from 2.25.12 to 2.26.6 (#3012)
  - build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.14.1 (#3011)
  - Fixing error messages to not leak sensitive info (#3008)
  - Include linked accounts option when querying metric_samples table. (#2922)
Trianz-Akshay pushed a commit to Trianz-Akshay/aws-athena-query-federation that referenced this pull request Nov 3, 2025
github-actions bot pushed a commit to Jithendar12/aws-athena-query-federation that referenced this pull request Nov 28, 2025
  - Update runner and slug
  - Update GitHub Actions workflows to build with Java 11 and 17
  - Remove hard-coded Glue list-jobs --max-results 100 to find all Glue jobs (awslabs#3127)
  - Added unit tests in athena-synapse Connector (awslabs#2963)
  - Updating EncryptionKeyFactory to add overirde AWS request configuration in KMS calls made generate encryption key (awslabs#3103)
  - Fix epoch date conversion correctness issue when machine time zone is not in UTC (awslabs#3108)
  - Fix CVE-2025-48924: Upgrade Apache Commons Lang3 to 3.19.0 (awslabs#3100)
  - Revise Athena Federated Queries instructions in README (awslabs#3069)
  - fix snowflake QPT return empty result (awslabs#3106)
  - add view into oracle paginated query (awslabs#3107)
  - build(deps): bump com.google.protobuf:protobuf-bom from 4.32.1 to 4.33.0 (awslabs#3071)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.7 to 4.9.8 (awslabs#3076)
  - build(deps): bump org.apache.avro:avro from 1.12.0 to 1.12.1 (awslabs#3075)
  - Handle ResourceNotFoundException from Dynamodb as AthenaConnectorExce… (awslabs#3098)
  - Added unit tests for bigquery (awslabs#2950)
  - Update PostgreSQL engine version to 15.10 (awslabs#3099)
  - Add unit tests for athena-oracle. (awslabs#2836)
  - Adding support to use custom SecretManagerClient for Google Big Query (awslabs#2846)
  - Added unit tests for athena-cloudera-impala Connector (awslabs#2880)
  - added unit tests for athena-vertica. (awslabs#2783)
  - added unit tests for athena-redshift. (awslabs#2733)
  - Always include partition column when get-table-layout (awslabs#3045)
  - fix cloudwatch glue connection cfn template (awslabs#3013)
  - Added unit tests for JDBC module (awslabs#2732)
  - Added pagination for Db2 connector (awslabs#2772)
  - [Fix] Include default truststore path when passing JAVA_TOOL_OPTIONS for Java 17 image (awslabs#3007)
  - build(deps): bump com.google.guava:guava from 33.4.0-jre to 33.4.8-jre (awslabs#2728)
  - Handle KMS and DDB NotFoundExceptions by throwing AthenaConnectorException (awslabs#3064)
  - build(deps): bump aws-sdk-v2.version from 2.35.1 to 2.35.5 (awslabs#3047)
  - build(deps): bump io.confluent:kafka-avro-serializer from 8.0.0 to 8.0.2 (awslabs#3055)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.35.0 to 2.35.5 (awslabs#3057)
  - build(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 (awslabs#3061)
  - Remove timestamp case from SnowflakeQueryStringBuilder (awslabs#2997)
  - build(deps): bump io.substrait.version from 0.65.0 to 0.66.0 (awslabs#3051)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.58.0 to 2.58.1 (awslabs#3059)
  - build(deps): bump org.postgresql:postgresql from 42.7.7 to 42.7.8 (awslabs#3063)
  - build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 (awslabs#3062)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.4 to 4.9.6 (awslabs#3058)
  - build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (awslabs#3060)
  - build(deps): bump net.sf.jt400:jt400 from 21.0.5 to 21.0.6 (awslabs#3053)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.50 to 20.00.00.51 (awslabs#3054)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.3 to 9.1.5 (awslabs#3056)
  - build(deps): bump org.bouncycastle:bcpkix-jdk18on from 1.81 to 1.82 (awslabs#3050)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.6 to 5.2.0 (awslabs#3052)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.114.1 to 1.115.0 (awslabs#3048)
  - build(deps): bump aws-sdk-v2.version from 2.34.5 to 2.35.0 (awslabs#3039)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.1.1 to 4.2 (awslabs#3037)
  - build(deps): bump aws-sdk.version from 1.12.791 to 1.12.792 (awslabs#3035)
  - build(deps): bump net.java.dev.jna:jna-platform from 5.17.0 to 5.18.1 (awslabs#3038)
  - build(deps-dev): bump log4j2Version from 2.25.1 to 2.25.2 (awslabs#3029)
  - build(deps): bump io.substrait.version from 0.52.0 to 0.65.0 (awslabs#3021)
  - build(deps): bump org.assertj:assertj-core from 3.27.4 to 3.27.6 (awslabs#3019)
  - build(deps): bump com.amazonaws:aws-lambda-java-core from 1.3.0 to 1.4.0 (awslabs#3020)
  - build(deps): bump net.java.dev.jna:jna from 5.17.0 to 5.18.1 (awslabs#3034)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.10 to 2.2.20 (awslabs#3027)
  - build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 (awslabs#3033)
  - build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.82 (awslabs#3022)
  - build(deps): bump org.bouncycastle:bcutil-jdk18on from 1.81 to 1.82 (awslabs#3024)
  - build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.9.0 (awslabs#3026)
  - build(deps): bump org.codehaus.mojo:license-maven-plugin from 2.6.0 to 2.7.0 (awslabs#3023)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.33.8 to 2.35.0 (awslabs#3040)
  - Add Support for OAuth in athena-saphana Connector (awslabs#2894)
  - build(deps): bump aws-actions/configure-aws-credentials from 4 to 5 (awslabs#2975)
  - build(deps): bump actions/setup-node from 4 to 5 (awslabs#2976)
  - [Neptune] Add doc details on how multi-valued properties are handled. (awslabs#2995)
  - build(deps): bump org.jetbrains.kotlin:kotlin-reflect from 2.2.10 to 2.2.20 (awslabs#3028)
  - build(deps): bump software.amazon.glue:schema-registry-serde from 1.1.24 to 1.1.25 (awslabs#3030)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 from 2.2.10 to 2.2.20 (awslabs#3031)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.49 to 20.00.00.50 (awslabs#3032)
  - build(deps): bump aws-sdk-v2.version from 2.34.3 to 2.34.5 (awslabs#3017)
  - Add Support for OAuth in athena-sqlserver Connector (awslabs#3006)
  - Add Support for OAuth in athena-synapse Connector (awslabs#2904)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.113.0 to 1.114.1 (awslabs#2979)
  - build(deps): bump org.apache.calcite.version from 1.39.0 to 1.40.0 (awslabs#2980)
  - build(deps): bump aws-sdk.version from 1.12.788 to 1.12.791 (awslabs#2981)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.4 to 5.1.5 (awslabs#2983)
  - build(deps): bump com.clickhouse:clickhouse-jdbc from 0.9.1 to 0.9.2 (awslabs#2985)
  - build(deps): bump net.snowflake:snowflake-jdbc from 3.26.0 to 3.26.1 (awslabs#2987)
  - build(deps): bump org.yaml:snakeyaml from 2.4 to 2.5 (awslabs#2988)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.0.9 to 4.1 (awslabs#2998)
  - build(deps): bump aws-sdk-v2.version from 2.32.29 to 2.33.9 (awslabs#2999)
  - build(deps): bump org.apache.kafka:kafka-clients from 4.0.0 to 4.1.0 (awslabs#3000)
  - build(deps): bump surefire.failsafe.version from 3.5.3 to 3.5.4 (awslabs#3001)
  - build(deps): bump com.microsoft.azure:msal4j from 1.22.0 to 1.23.1 (awslabs#3002)
  - build(deps): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.1 (awslabs#3003)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.55.0 to 2.57.0 (awslabs#3004)
  - build(deps): bump com.sap.cloud.db.jdbc:ngdbc from 2.25.12 to 2.26.6 (awslabs#3012)
  - build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.14.1 (awslabs#3011)
  - Fixing error messages to not leak sensitive info (awslabs#3008)
  - Include linked accounts option when querying metric_samples table. (awslabs#2922)
  - Updating Zookeeper to latest version 3.9.4 (awslabs#3005)
  - build(deps): bump com.google.protobuf:protobuf-bom from 4.29.3 to 4.32.0 (awslabs#2991)
  - Add serverless datalakegen2 support (awslabs#2973)
  - Abstract common OAuth handling and add OAuth support to Athena DataLake Gen2 Connector (awslabs#2932)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.32.29 to 2.33.4 (awslabs#2992)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.2 to 9.1.3 (awslabs#2993)
  - build(deps): bump io.lettuce:lettuce-core from 6.8.0.RELEASE to 6.8.1.RELEASE (awslabs#2994)
  - Hbase namespace issue (awslabs#2996)
github-actions bot pushed a commit to Jithendar12/aws-athena-query-federation that referenced this pull request Nov 29, 2025
  - wait for release branch and checkout
  - wait for release branch and checkout
  - Update runner and slug
  - Update GitHub Actions workflows to build with Java 11 and 17
  - Remove hard-coded Glue list-jobs --max-results 100 to find all Glue jobs (awslabs#3127)
  - Added unit tests in athena-synapse Connector (awslabs#2963)
  - Updating EncryptionKeyFactory to add overirde AWS request configuration in KMS calls made generate encryption key (awslabs#3103)
  - Fix epoch date conversion correctness issue when machine time zone is not in UTC (awslabs#3108)
  - Fix CVE-2025-48924: Upgrade Apache Commons Lang3 to 3.19.0 (awslabs#3100)
  - Revise Athena Federated Queries instructions in README (awslabs#3069)
  - fix snowflake QPT return empty result (awslabs#3106)
  - add view into oracle paginated query (awslabs#3107)
  - build(deps): bump com.google.protobuf:protobuf-bom from 4.32.1 to 4.33.0 (awslabs#3071)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.7 to 4.9.8 (awslabs#3076)
  - build(deps): bump org.apache.avro:avro from 1.12.0 to 1.12.1 (awslabs#3075)
  - Handle ResourceNotFoundException from Dynamodb as AthenaConnectorExce… (awslabs#3098)
  - Added unit tests for bigquery (awslabs#2950)
  - Update PostgreSQL engine version to 15.10 (awslabs#3099)
  - Add unit tests for athena-oracle. (awslabs#2836)
  - Adding support to use custom SecretManagerClient for Google Big Query (awslabs#2846)
  - Added unit tests for athena-cloudera-impala Connector (awslabs#2880)
  - added unit tests for athena-vertica. (awslabs#2783)
  - added unit tests for athena-redshift. (awslabs#2733)
  - Always include partition column when get-table-layout (awslabs#3045)
  - fix cloudwatch glue connection cfn template (awslabs#3013)
  - Added unit tests for JDBC module (awslabs#2732)
  - Added pagination for Db2 connector (awslabs#2772)
  - [Fix] Include default truststore path when passing JAVA_TOOL_OPTIONS for Java 17 image (awslabs#3007)
  - build(deps): bump com.google.guava:guava from 33.4.0-jre to 33.4.8-jre (awslabs#2728)
  - Handle KMS and DDB NotFoundExceptions by throwing AthenaConnectorException (awslabs#3064)
  - build(deps): bump aws-sdk-v2.version from 2.35.1 to 2.35.5 (awslabs#3047)
  - build(deps): bump io.confluent:kafka-avro-serializer from 8.0.0 to 8.0.2 (awslabs#3055)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.35.0 to 2.35.5 (awslabs#3057)
  - build(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 (awslabs#3061)
  - Remove timestamp case from SnowflakeQueryStringBuilder (awslabs#2997)
  - build(deps): bump io.substrait.version from 0.65.0 to 0.66.0 (awslabs#3051)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.58.0 to 2.58.1 (awslabs#3059)
  - build(deps): bump org.postgresql:postgresql from 42.7.7 to 42.7.8 (awslabs#3063)
  - build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 (awslabs#3062)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.4 to 4.9.6 (awslabs#3058)
  - build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (awslabs#3060)
  - build(deps): bump net.sf.jt400:jt400 from 21.0.5 to 21.0.6 (awslabs#3053)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.50 to 20.00.00.51 (awslabs#3054)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.3 to 9.1.5 (awslabs#3056)
  - build(deps): bump org.bouncycastle:bcpkix-jdk18on from 1.81 to 1.82 (awslabs#3050)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.6 to 5.2.0 (awslabs#3052)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.114.1 to 1.115.0 (awslabs#3048)
  - build(deps): bump aws-sdk-v2.version from 2.34.5 to 2.35.0 (awslabs#3039)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.1.1 to 4.2 (awslabs#3037)
  - build(deps): bump aws-sdk.version from 1.12.791 to 1.12.792 (awslabs#3035)
  - build(deps): bump net.java.dev.jna:jna-platform from 5.17.0 to 5.18.1 (awslabs#3038)
  - build(deps-dev): bump log4j2Version from 2.25.1 to 2.25.2 (awslabs#3029)
  - build(deps): bump io.substrait.version from 0.52.0 to 0.65.0 (awslabs#3021)
  - build(deps): bump org.assertj:assertj-core from 3.27.4 to 3.27.6 (awslabs#3019)
  - build(deps): bump com.amazonaws:aws-lambda-java-core from 1.3.0 to 1.4.0 (awslabs#3020)
  - build(deps): bump net.java.dev.jna:jna from 5.17.0 to 5.18.1 (awslabs#3034)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.10 to 2.2.20 (awslabs#3027)
  - build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 (awslabs#3033)
  - build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.82 (awslabs#3022)
  - build(deps): bump org.bouncycastle:bcutil-jdk18on from 1.81 to 1.82 (awslabs#3024)
  - build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.9.0 (awslabs#3026)
  - build(deps): bump org.codehaus.mojo:license-maven-plugin from 2.6.0 to 2.7.0 (awslabs#3023)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.33.8 to 2.35.0 (awslabs#3040)
  - Add Support for OAuth in athena-saphana Connector (awslabs#2894)
  - build(deps): bump aws-actions/configure-aws-credentials from 4 to 5 (awslabs#2975)
  - build(deps): bump actions/setup-node from 4 to 5 (awslabs#2976)
  - [Neptune] Add doc details on how multi-valued properties are handled. (awslabs#2995)
  - build(deps): bump org.jetbrains.kotlin:kotlin-reflect from 2.2.10 to 2.2.20 (awslabs#3028)
  - build(deps): bump software.amazon.glue:schema-registry-serde from 1.1.24 to 1.1.25 (awslabs#3030)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 from 2.2.10 to 2.2.20 (awslabs#3031)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.49 to 20.00.00.50 (awslabs#3032)
  - build(deps): bump aws-sdk-v2.version from 2.34.3 to 2.34.5 (awslabs#3017)
  - Add Support for OAuth in athena-sqlserver Connector (awslabs#3006)
  - Add Support for OAuth in athena-synapse Connector (awslabs#2904)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.113.0 to 1.114.1 (awslabs#2979)
  - build(deps): bump org.apache.calcite.version from 1.39.0 to 1.40.0 (awslabs#2980)
  - build(deps): bump aws-sdk.version from 1.12.788 to 1.12.791 (awslabs#2981)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.4 to 5.1.5 (awslabs#2983)
  - build(deps): bump com.clickhouse:clickhouse-jdbc from 0.9.1 to 0.9.2 (awslabs#2985)
  - build(deps): bump net.snowflake:snowflake-jdbc from 3.26.0 to 3.26.1 (awslabs#2987)
  - build(deps): bump org.yaml:snakeyaml from 2.4 to 2.5 (awslabs#2988)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.0.9 to 4.1 (awslabs#2998)
  - build(deps): bump aws-sdk-v2.version from 2.32.29 to 2.33.9 (awslabs#2999)
  - build(deps): bump org.apache.kafka:kafka-clients from 4.0.0 to 4.1.0 (awslabs#3000)
  - build(deps): bump surefire.failsafe.version from 3.5.3 to 3.5.4 (awslabs#3001)
  - build(deps): bump com.microsoft.azure:msal4j from 1.22.0 to 1.23.1 (awslabs#3002)
  - build(deps): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.1 (awslabs#3003)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.55.0 to 2.57.0 (awslabs#3004)
  - build(deps): bump com.sap.cloud.db.jdbc:ngdbc from 2.25.12 to 2.26.6 (awslabs#3012)
  - build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.14.1 (awslabs#3011)
  - Fixing error messages to not leak sensitive info (awslabs#3008)
  - Include linked accounts option when querying metric_samples table. (awslabs#2922)
  - Updating Zookeeper to latest version 3.9.4 (awslabs#3005)
  - build(deps): bump com.google.protobuf:protobuf-bom from 4.29.3 to 4.32.0 (awslabs#2991)
  - Add serverless datalakegen2 support (awslabs#2973)
  - Abstract common OAuth handling and add OAuth support to Athena DataLake Gen2 Connector (awslabs#2932)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.32.29 to 2.33.4 (awslabs#2992)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.2 to 9.1.3 (awslabs#2993)
  - build(deps): bump io.lettuce:lettuce-core from 6.8.0.RELEASE to 6.8.1.RELEASE (awslabs#2994)
  - Hbase namespace issue (awslabs#2996)
github-actions bot pushed a commit to Jithendar12/aws-athena-query-federation that referenced this pull request Nov 29, 2025
  - Update release workflow for Java version builds
  - Enhance cut_release workflow for Java 11 and 17
  - wait for release branch and checkout
  - wait for release branch and checkout
  - Update runner and slug
  - Update GitHub Actions workflows to build with Java 11 and 17
  - Remove hard-coded Glue list-jobs --max-results 100 to find all Glue jobs (awslabs#3127)
  - Added unit tests in athena-synapse Connector (awslabs#2963)
  - Updating EncryptionKeyFactory to add overirde AWS request configuration in KMS calls made generate encryption key (awslabs#3103)
  - Fix epoch date conversion correctness issue when machine time zone is not in UTC (awslabs#3108)
  - Fix CVE-2025-48924: Upgrade Apache Commons Lang3 to 3.19.0 (awslabs#3100)
  - Revise Athena Federated Queries instructions in README (awslabs#3069)
  - fix snowflake QPT return empty result (awslabs#3106)
  - add view into oracle paginated query (awslabs#3107)
  - build(deps): bump com.google.protobuf:protobuf-bom from 4.32.1 to 4.33.0 (awslabs#3071)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.7 to 4.9.8 (awslabs#3076)
  - build(deps): bump org.apache.avro:avro from 1.12.0 to 1.12.1 (awslabs#3075)
  - Handle ResourceNotFoundException from Dynamodb as AthenaConnectorExce… (awslabs#3098)
  - Added unit tests for bigquery (awslabs#2950)
  - Update PostgreSQL engine version to 15.10 (awslabs#3099)
  - Add unit tests for athena-oracle. (awslabs#2836)
  - Adding support to use custom SecretManagerClient for Google Big Query (awslabs#2846)
  - Added unit tests for athena-cloudera-impala Connector (awslabs#2880)
  - added unit tests for athena-vertica. (awslabs#2783)
  - added unit tests for athena-redshift. (awslabs#2733)
  - Always include partition column when get-table-layout (awslabs#3045)
  - fix cloudwatch glue connection cfn template (awslabs#3013)
  - Added unit tests for JDBC module (awslabs#2732)
  - Added pagination for Db2 connector (awslabs#2772)
  - [Fix] Include default truststore path when passing JAVA_TOOL_OPTIONS for Java 17 image (awslabs#3007)
  - build(deps): bump com.google.guava:guava from 33.4.0-jre to 33.4.8-jre (awslabs#2728)
  - Handle KMS and DDB NotFoundExceptions by throwing AthenaConnectorException (awslabs#3064)
  - build(deps): bump aws-sdk-v2.version from 2.35.1 to 2.35.5 (awslabs#3047)
  - build(deps): bump io.confluent:kafka-avro-serializer from 8.0.0 to 8.0.2 (awslabs#3055)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.35.0 to 2.35.5 (awslabs#3057)
  - build(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 (awslabs#3061)
  - Remove timestamp case from SnowflakeQueryStringBuilder (awslabs#2997)
  - build(deps): bump io.substrait.version from 0.65.0 to 0.66.0 (awslabs#3051)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.58.0 to 2.58.1 (awslabs#3059)
  - build(deps): bump org.postgresql:postgresql from 42.7.7 to 42.7.8 (awslabs#3063)
  - build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 (awslabs#3062)
  - build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.4 to 4.9.6 (awslabs#3058)
  - build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (awslabs#3060)
  - build(deps): bump net.sf.jt400:jt400 from 21.0.5 to 21.0.6 (awslabs#3053)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.50 to 20.00.00.51 (awslabs#3054)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.3 to 9.1.5 (awslabs#3056)
  - build(deps): bump org.bouncycastle:bcpkix-jdk18on from 1.81 to 1.82 (awslabs#3050)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.6 to 5.2.0 (awslabs#3052)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.114.1 to 1.115.0 (awslabs#3048)
  - build(deps): bump aws-sdk-v2.version from 2.34.5 to 2.35.0 (awslabs#3039)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.1.1 to 4.2 (awslabs#3037)
  - build(deps): bump aws-sdk.version from 1.12.791 to 1.12.792 (awslabs#3035)
  - build(deps): bump net.java.dev.jna:jna-platform from 5.17.0 to 5.18.1 (awslabs#3038)
  - build(deps-dev): bump log4j2Version from 2.25.1 to 2.25.2 (awslabs#3029)
  - build(deps): bump io.substrait.version from 0.52.0 to 0.65.0 (awslabs#3021)
  - build(deps): bump org.assertj:assertj-core from 3.27.4 to 3.27.6 (awslabs#3019)
  - build(deps): bump com.amazonaws:aws-lambda-java-core from 1.3.0 to 1.4.0 (awslabs#3020)
  - build(deps): bump net.java.dev.jna:jna from 5.17.0 to 5.18.1 (awslabs#3034)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.10 to 2.2.20 (awslabs#3027)
  - build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 (awslabs#3033)
  - build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.82 (awslabs#3022)
  - build(deps): bump org.bouncycastle:bcutil-jdk18on from 1.81 to 1.82 (awslabs#3024)
  - build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.9.0 (awslabs#3026)
  - build(deps): bump org.codehaus.mojo:license-maven-plugin from 2.6.0 to 2.7.0 (awslabs#3023)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.33.8 to 2.35.0 (awslabs#3040)
  - Add Support for OAuth in athena-saphana Connector (awslabs#2894)
  - build(deps): bump aws-actions/configure-aws-credentials from 4 to 5 (awslabs#2975)
  - build(deps): bump actions/setup-node from 4 to 5 (awslabs#2976)
  - [Neptune] Add doc details on how multi-valued properties are handled. (awslabs#2995)
  - build(deps): bump org.jetbrains.kotlin:kotlin-reflect from 2.2.10 to 2.2.20 (awslabs#3028)
  - build(deps): bump software.amazon.glue:schema-registry-serde from 1.1.24 to 1.1.25 (awslabs#3030)
  - build(deps): bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 from 2.2.10 to 2.2.20 (awslabs#3031)
  - build(deps): bump com.teradata.jdbc:terajdbc from 20.00.00.49 to 20.00.00.50 (awslabs#3032)
  - build(deps): bump aws-sdk-v2.version from 2.34.3 to 2.34.5 (awslabs#3017)
  - Add Support for OAuth in athena-sqlserver Connector (awslabs#3006)
  - Add Support for OAuth in athena-synapse Connector (awslabs#2904)
  - build(deps): bump software.amazon.jsii:jsii-runtime from 1.113.0 to 1.114.1 (awslabs#2979)
  - build(deps): bump org.apache.calcite.version from 1.39.0 to 1.40.0 (awslabs#2980)
  - build(deps): bump aws-sdk.version from 1.12.788 to 1.12.791 (awslabs#2981)
  - build(deps): bump org.eclipse.rdf4j:rdf4j-repository-sparql from 5.1.4 to 5.1.5 (awslabs#2983)
  - build(deps): bump com.clickhouse:clickhouse-jdbc from 0.9.1 to 0.9.2 (awslabs#2985)
  - build(deps): bump net.snowflake:snowflake-jdbc from 3.26.0 to 3.26.1 (awslabs#2987)
  - build(deps): bump org.yaml:snakeyaml from 2.4 to 2.5 (awslabs#2988)
  - build(deps-dev): bump nl.jqno.equalsverifier:equalsverifier from 4.0.9 to 4.1 (awslabs#2998)
  - build(deps): bump aws-sdk-v2.version from 2.32.29 to 2.33.9 (awslabs#2999)
  - build(deps): bump org.apache.kafka:kafka-clients from 4.0.0 to 4.1.0 (awslabs#3000)
  - build(deps): bump surefire.failsafe.version from 3.5.3 to 3.5.4 (awslabs#3001)
  - build(deps): bump com.microsoft.azure:msal4j from 1.22.0 to 1.23.1 (awslabs#3002)
  - build(deps): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.1 (awslabs#3003)
  - build(deps): bump com.google.cloud:google-cloud-storage from 2.55.0 to 2.57.0 (awslabs#3004)
  - build(deps): bump com.sap.cloud.db.jdbc:ngdbc from 2.25.12 to 2.26.6 (awslabs#3012)
  - build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.14.1 (awslabs#3011)
  - Fixing error messages to not leak sensitive info (awslabs#3008)
  - Include linked accounts option when querying metric_samples table. (awslabs#2922)
  - Updating Zookeeper to latest version 3.9.4 (awslabs#3005)
  - build(deps): bump com.google.protobuf:protobuf-bom from 4.29.3 to 4.32.0 (awslabs#2991)
  - Add serverless datalakegen2 support (awslabs#2973)
  - Abstract common OAuth handling and add OAuth support to Athena DataLake Gen2 Connector (awslabs#2932)
  - build(deps): bump software.amazon.awssdk:cloudwatchlogs from 2.32.29 to 2.33.4 (awslabs#2992)
  - build(deps): bump org.elasticsearch.client:elasticsearch-rest-client from 9.1.2 to 9.1.3 (awslabs#2993)
  - build(deps): bump io.lettuce:lettuce-core from 6.8.0.RELEASE to 6.8.1.RELEASE (awslabs#2994)
  - Hbase namespace issue (awslabs#2996)
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