Skip to content

Conversation

@pratapaditya04
Copy link
Contributor

Dear Gobblin maintainers,

Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!

JIRA

Description

  • Here are some details about my PR, including screenshots (if applicable):
    Summary
    Add SSL mode support for MySQL connections in MysqlStateStore with sslMode=VERIFY_IDENTITY when enabled via configuration.
    Changes
    ConfigurationKeys.java: Fixed constant STATE_STORE_DB_SSL_MODE_ENABLED (was incorrectly mapped to "state.store.db.user")
    MysqlStateStore.java:
    Added constants SSL_MODE_PROPERTY and SSL_MODE_VERIFY_IDENTITY
    Added conditional logic to set sslMode=VERIFY_IDENTITY driver property when state.store.db.sslModeEnabled=true
    MysqlStateStoreTest.java: Added 3 test cases covering enabled/disabled/default SSL mode configurations

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds SSL mode support for MySQL connections in the Gobblin metastore by enabling certificate-based authentication with the VERIFY_IDENTITY SSL mode when configured.

Key Changes:

  • Added a new configuration key state.store.db.sslModeEnabled to enable SSL mode
  • Modified MysqlStateStore.newDataSource() to conditionally set sslMode=VERIFY_IDENTITY on the HikariDataSource
  • Added comprehensive unit tests to verify SSL mode behavior in enabled, disabled, and default configurations

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java Adds the STATE_STORE_DB_SSL_MODE_ENABLED configuration constant for controlling SSL mode
gobblin-metastore/src/main/java/org/apache/gobblin/metastore/MysqlStateStore.java Implements SSL mode logic by adding datasource property when configuration is enabled
gobblin-metastore/src/test/java/org/apache/gobblin/metastore/MysqlStateStoreTest.java Adds unit tests covering SSL mode enabled, disabled, and default (not configured) scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Blazer-007 Blazer-007 merged commit 85dbbc6 into apache:master Dec 3, 2025
11 of 12 checks passed
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