Skip to content

[SNOW-3249917] JDBC removal Step 8e: Swap ALL imports to ingest versions#1126

Closed
sfc-gh-ggeng wants to merge 1 commit intojdbc-removal-step8d-storage-clientsfrom
jdbc-removal-step8e-swap-all-imports
Closed

[SNOW-3249917] JDBC removal Step 8e: Swap ALL imports to ingest versions#1126
sfc-gh-ggeng wants to merge 1 commit intojdbc-removal-step8d-storage-clientsfrom
jdbc-removal-step8e-swap-all-imports

Conversation

@sfc-gh-ggeng
Copy link
Copy Markdown
Contributor

Summary

Swap all remaining JDBC imports to ingest versions. InternalStage, InternalStageManager, and SnowflakeFileTransferMetadataWithAge are now completely free of JDBC imports.

Changes

  • InternalStage: all 7 JDBC imports swapped to ingest versions, removed parseConfigureResponseMapper (Jackson version workaround no longer needed), simplified parseFileLocationInfo
  • InternalStageManager: SnowflakeSQLException → ingest version
  • SnowflakeFileTransferMetadataWithAge: SnowflakeFileTransferMetadataV1 → ingest version
  • InternalStageTest: all imports swapped
  • fileTransferAgent package: removed JDBC imports for same-package types (StageInfo, SqlState, ObjectMapperFactory, SnowflakeFileTransferMetadataV1) in 7 files

JDBC imports remaining (Steps 9a-9c)

Only in replicated classes and telemetry:

  • SFSession/SFBaseSession/SFSessionProperty in storage clients and SnowflakeFileTransferAgent
  • SFException in SnowflakeSQLException (unused constructor)
  • 12 imports in SnowflakeSQLLoggedException (telemetry)
  • 6 imports in TelemetryClient (session path)
  • ObjectMapperFactory/SecretDetector in telemetry classes
  • Various JDBC utils kept in storage clients (SnowflakeUtil.assureOnlyUserAccessibleFilePermissions, HttpUtil, RestRequest, etc.)

Stacked on #1124.

Test plan

  • mvn compiler:compile passes (0 errors)
  • mvn test-compile passes (0 errors)
  • ./format.sh passes
  • Full test suite

🤖 Generated with Claude Code

Now that the full JDBC storage stack is replicated, swap all remaining
JDBC imports to ingest versions:

InternalStage (now JDBC-free):
- SnowflakeFileTransferAgent, SnowflakeFileTransferConfig,
  SnowflakeFileTransferMetadataV1, SnowflakeSQLException,
  StageInfo, RemoteStoreFileEncryptionMaterial → ingest versions
- OCSPMode → ingest's utils.OCSPMode
- Removed parseConfigureResponseMapper (Jackson version workaround
  no longer needed — both mappers are same version)
- Simplified parseFileLocationInfo (no more String roundtrip)

InternalStageManager: SnowflakeSQLException → ingest version
SnowflakeFileTransferMetadataWithAge: SnowflakeFileTransferMetadataV1 → ingest
InternalStageTest: all imports swapped to ingest versions

fileTransferAgent package: removed JDBC imports for same-package types
(StageInfo, SqlState, ObjectMapperFactory, SnowflakeFileTransferMetadataV1)
in ErrorCode, IcebergFileTransferAgent, IcebergStorageClientFactory,
IcebergAzureClient, IcebergGCSClient, SnowflakeFileTransferAgent,
SnowflakeSQLLoggedException.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sfc-gh-ggeng sfc-gh-ggeng requested review from a team as code owners March 27, 2026 22:39
@sfc-gh-ggeng
Copy link
Copy Markdown
Contributor Author

Postponed — will do the import swap after all replication steps (9a-9c) are complete, as one final step.

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.

1 participant