Skip to content

Conversation

@VardhanThigle
Copy link
Contributor

@VardhanThigle VardhanThigle commented Mar 20, 2025

Adding InsertOnly Mode for Bulk.

  1. This will help the user run Bulk in parallel with dual writes.
  2. Added integration test changes for testing inserts vs upserts in end to end migration.

Note that MigrateTableTransform does not have a UT wired as yet. This PR is adding a small one line change in the same file.

@VardhanThigle VardhanThigle force-pushed the small-fix branch 3 times, most recently from d0ecd0e to 1b097b9 Compare March 20, 2025 12:05
@VardhanThigle VardhanThigle force-pushed the small-fix branch 2 times, most recently from 1dc93e4 to a38d640 Compare March 20, 2025 12:29
@codecov
Copy link

codecov bot commented Mar 20, 2025

Codecov Report

Attention: Patch coverage is 71.42857% with 2 lines in your changes missing coverage. Please review.

Project coverage is 54.21%. Comparing base (900080c) to head (c0e6310).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...d/teleport/v2/templates/MigrateTableTransform.java 0.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2260      +/-   ##
============================================
+ Coverage     48.97%   54.21%   +5.23%     
+ Complexity     4512     1696    -2816     
============================================
  Files           911      429     -482     
  Lines         55223    23643   -31580     
  Branches       5892     2378    -3514     
============================================
- Hits          27047    12817   -14230     
+ Misses        26256    10091   -16165     
+ Partials       1920      735    -1185     
Components Coverage Δ
spanner-templates 71.41% <71.42%> (+1.35%) ⬆️
spanner-import-export ∅ <ø> (∅)
spanner-live-forward-migration 78.42% <ø> (ø)
spanner-live-reverse-replication 80.31% <ø> (ø)
spanner-bulk-migration 88.65% <71.42%> (-0.01%) ⬇️
Files with missing lines Coverage Δ
...leport/v2/transformer/SourceRowToMutationDoFn.java 97.91% <100.00%> (+0.09%) ⬆️
...d/teleport/v2/templates/MigrateTableTransform.java 0.00% <0.00%> (ø)

... and 499 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@VardhanThigle VardhanThigle marked this pull request as ready for review March 21, 2025 10:06
@VardhanThigle VardhanThigle requested a review from a team as a code owner March 21, 2025 10:06
@VardhanThigle
Copy link
Contributor Author

As of runs/13986321278, sourcedb-to-spanner IT has passed. Unrelated IT is failing.

@VardhanThigle VardhanThigle merged commit 1f850cc into GoogleCloudPlatform:main Mar 24, 2025
14 checks passed
taherkl pushed a commit to ollionorg/DataflowTemplates-fork that referenced this pull request Mar 24, 2025
taherkl pushed a commit to ollionorg/DataflowTemplates-fork that referenced this pull request Apr 2, 2025
taherkl pushed a commit to ollionorg/DataflowTemplates-fork that referenced this pull request Apr 2, 2025
VardhanThigle added a commit that referenced this pull request Apr 3, 2025
* Acceptance Test Fixes

* sync upstream/main (#98)

* Enhanced Retry Logic (#2196)

Co-authored-by: pawankashyapollion <v-pawan.kumar@ollion.com>

* Adding support for Cassandra map (#2209)

* Adding test table for Map types

* Adding support for cassandra map

* changes (#2212)

* Fix inf issues in Datastream reader (#2213)

* add inf fix to ts

fixing bug on timestamp type

* Update FormatDatastreamRecordToJson.java

use equals not ==

* Upgrade Beam version to 2.63.0 (#2206)

* Upgrade Beam version to 2.63.0

* add cache factory to local spanner io

* remove cache pass to ReadChangeStreamPartitionDoFn

* Add unimplemented/unused stubs to TestChangeStreamMutation

* Use java Instant instead of threeten Instant

* Fix low watermark setter call

* fix testchangestreammutation

* Recreate validation PR

* fix import order

* linux-env requirements files

* fix v1 pom

* SkipShade for Spanner common module (#2194)

* Add load test for cross db txn (#2199)

* Add load test for cross db txn

* Change test timeout to 2 days

* Revert spanner-pr.yml changes

* Report Lineage for CsvToBigQuery template (#2205)

* Report Lineage for CsvToBigQuery template

* Reply beampr-32662 to CsvConverters

* Spanner Import/Export INTERLEAVE IN (#2128)

* Changes to write read interleave type from information schema, and write/read the type to/from avro. No change to tests yet.

* Fix warnings, bug in InformationSchemaScanner, and bug in AvroSchemaToDdlConverter. Also properly default to IN PARENT when emitting ddl, in case the interleave type is not set (really only necessary for tests, since otherwise it will always be set.

* Set interleaveType in InfoSchemaScanner

* Style fixes, and only generate INTERLEAVE IN ddl for gsql.

* another style fix - remove unused import

* Make conditions more readable and add comments

* Tests

* Fix condition

* Add interleave in table to ExportPipelineIT

* Add SCRAM-SHA-512 authentication support to Kafka templates (#2181)

Added SCRAM-SHA-512 authentication support to Kafka to Kafka, Kafka to GCS, and Kafka to BigQuery templates.

* Update the required Java version in the base doc, then regenerate docs (#2218)

* Update java requirement

* Generate docs

* Post 2.63.0 fixes (#2216)

* Uncomment kinesis

* bump protoc to 4 in v2

* bug-fix: Use jdbc connection properties for reverse migration (#2198)

* changes

* Changes

* changes

* changes

* docs

* Support partitioned reads for DateTime column type in JDBC to BigQuery template (#2084)

* Support partitioned reads for DateTime column type

* minor changes

* Support backward compatibility and timezone in lower/upper bounds

* removed test cases for bounds in unit tests as derby does not support timezone

* Fixed typo's in JdbcToBigQuery.java
Corrected testcases expected output

* Corrected unit test cases expected output. Removed DateTime integration test cases.

* Corrected a typo

* Added default value for partitionColumnType

* spotless apply

* Disabling flaky test to unblock dataflow release (#2220)

* disabling flaky test to unblock dataflow release

* minor change

* Add logic to skip runnerV2 for the ITs (#2219)

* skip runnerv2 tests in TemplateTestBase

* add logic to skip use_runner_v2 experiment in the launchTemplate

* Remove redundant property skipRunnerV2Test in pom and update logic in launchTemplate

* Fix format violations using mvn spotless:apply

* Add warning about caching with plugin (#2221)

* [DatastreamToSpanner] Spanner Exception handling (#2185)

* SpannerExceptionClassifier class and IT

* Unit tests and Integration tests

* Formatting changes

* Correcting UT

* Unit test for SpannerResourceManager

* Creating Spanner Migration Exception

* Formatting changes

* Correcting tests

* Addressing comments

* Correcting a UT

* Addressing comments

* Changing SpannerMigrationException to extend RuntimeException

* Remove Python version from `pom.xml` (#2234)

* Update pom.xml

* Update pom.xml

* Add SkipRunnerV2Test category to JmsToPubsubIT and PubSubCdcToBigQueryIT (#2235)

* Fix a bug in CSVToBigQuery where commas in fields are not handled correctly. (#2229)

* Attempt to fix csv bug where commas in fields are not handled correctly.

* Replace ImmutableList with Iterable

* Add tests to cover the scenario of commas within quotes.

* Polish tests and add a test case to cover csv without headers.

* Update Dockerfile-template-yaml (#2222)

* Update Dockerfile-template-yaml

* Update Dockerfile-template-yaml

* Update Dockerfile-template-yaml

* Update Dockerfile-template-yaml

* Adding All Datatypes IT for Cassandra Migration (#2230)

* Add IF NOT EXISTS clause for spanner ddls used in ITs (#2237)

* Enable DatastreamToSpannerIT with if not exists clause

* Update Datastream to Spanner IT spanner schemas with if not exists

* Update BULK IT spanner schemas with if not exists

* Update reverse replications ITs spanner schemas with if not exists

* Add space after if not exists

* Using set of random buckets for spanner ITs (#2223)

* Using set of random buckets for spanner ITs

* reverse replication test

* checkstyle fix

* adding more buckets

* removed ignore for testing

* spotless fix

* fixing UT

* skip the flaky test again

* addressing comments

* spotless fix

* Add promote artifact method in release plugin (#2227)

* Add promote artifact method

* address comments; also fixed stagingArtifactRegistry support us.gcr.io

* Consolidate method

* fixed default DLQ path (#2241)

* Fix stagingArtifactRegistry support raw us.gcr.io artifact registry (#2243)

* Print error response on wget call (#2245)

* This helps debugging e.g. permission issues

* Moving local spanner io to a different namespace (#2231)

* Removed LocalSpannerIO

* Moving all of SpannerIO into Teleport

* Copying tests also

* Updated tests and excluded SpannerIO changestream from coverage checks

* spotless apply

* Excluding coverage check

* Adding retry settings which were overwritten in LocalSpannerAccessor

* Changing deprecated retrysettings function calls

* Added warning and TODO comments to remove the local copy

* spotless

* Adding Cassandra Type Options to IT test (#2242)

* Bump timeouts for tests involving FKs/interleaved dependenceis (#2239)

* Bump timeouts for datastream to spanner test

* Update FK timeout for reverse template

* Bump timeouts for old reverse repl template

* Enable SpannerToSourceDbInterleaveMultiShardIT

* Revert loadtest timeout

* Load Tests - Cassandra Reverse Replication (#2163)

* * Addition of Load Tests in SpannerToSourceDB For Cassandra (#89)

* Addition of Load Tests in SpannerToSourceDB For Cassandra

* Address Merge conflict

* Added LT Refectored (#92)

* Added POM Dependecies

* sync upstream/main (#98)

* RR LOAD TEST FIXES (#101)

* Resolved PR comments (#115)

* Added Module Dependency Fixes

* Added Copyrigh

* Added missing commit

* Enhanced Retry Logic (#2196)

Co-authored-by: pawankashyapollion <v-pawan.kumar@ollion.com>

* Adding support for Cassandra map (#2209)

* Adding test table for Map types

* Adding support for cassandra map

* changes (#2212)

* Fix inf issues in Datastream reader (#2213)

* add inf fix to ts

fixing bug on timestamp type

* Update FormatDatastreamRecordToJson.java

use equals not ==

* Upgrade Beam version to 2.63.0 (#2206)

* Upgrade Beam version to 2.63.0

* add cache factory to local spanner io

* remove cache pass to ReadChangeStreamPartitionDoFn

* Add unimplemented/unused stubs to TestChangeStreamMutation

* Use java Instant instead of threeten Instant

* Fix low watermark setter call

* fix testchangestreammutation

* Recreate validation PR

* fix import order

* linux-env requirements files

* fix v1 pom

* SkipShade for Spanner common module (#2194)

* Add load test for cross db txn (#2199)

* Add load test for cross db txn

* Change test timeout to 2 days

* Revert spanner-pr.yml changes

* Report Lineage for CsvToBigQuery template (#2205)

* Report Lineage for CsvToBigQuery template

* Reply beampr-32662 to CsvConverters

* Spanner Import/Export INTERLEAVE IN (#2128)

* Changes to write read interleave type from information schema, and write/read the type to/from avro. No change to tests yet.

* Fix warnings, bug in InformationSchemaScanner, and bug in AvroSchemaToDdlConverter. Also properly default to IN PARENT when emitting ddl, in case the interleave type is not set (really only necessary for tests, since otherwise it will always be set.

* Set interleaveType in InfoSchemaScanner

* Style fixes, and only generate INTERLEAVE IN ddl for gsql.

* another style fix - remove unused import

* Make conditions more readable and add comments

* Tests

* Fix condition

* Add interleave in table to ExportPipelineIT

* Add SCRAM-SHA-512 authentication support to Kafka templates (#2181)

Added SCRAM-SHA-512 authentication support to Kafka to Kafka, Kafka to GCS, and Kafka to BigQuery templates.

* Update the required Java version in the base doc, then regenerate docs (#2218)

* Update java requirement

* Generate docs

* Post 2.63.0 fixes (#2216)

* Uncomment kinesis

* bump protoc to 4 in v2

* bug-fix: Use jdbc connection properties for reverse migration (#2198)

* changes

* Changes

* changes

* changes

* docs

* Support partitioned reads for DateTime column type in JDBC to BigQuery template (#2084)

* Support partitioned reads for DateTime column type

* minor changes

* Support backward compatibility and timezone in lower/upper bounds

* removed test cases for bounds in unit tests as derby does not support timezone

* Fixed typo's in JdbcToBigQuery.java
Corrected testcases expected output

* Corrected unit test cases expected output. Removed DateTime integration test cases.

* Corrected a typo

* Added default value for partitionColumnType

* spotless apply

* Disabling flaky test to unblock dataflow release (#2220)

* disabling flaky test to unblock dataflow release

* minor change

* Add logic to skip runnerV2 for the ITs (#2219)

* skip runnerv2 tests in TemplateTestBase

* add logic to skip use_runner_v2 experiment in the launchTemplate

* Remove redundant property skipRunnerV2Test in pom and update logic in launchTemplate

* Fix format violations using mvn spotless:apply

* Add warning about caching with plugin (#2221)

* [DatastreamToSpanner] Spanner Exception handling (#2185)

* SpannerExceptionClassifier class and IT

* Unit tests and Integration tests

* Formatting changes

* Correcting UT

* Unit test for SpannerResourceManager

* Creating Spanner Migration Exception

* Formatting changes

* Correcting tests

* Addressing comments

* Correcting a UT

* Addressing comments

* Changing SpannerMigrationException to extend RuntimeException

* Added Cassandra Resource Manager Refectoring and removed Generics

* Added Keyspace Voilation fixes

* minor changes

* Create session for row check

---------

Co-authored-by: taherkl <taher.lakdawala@ollion.com>
Co-authored-by: Akash Thawait <aakash@ollion.com>
Co-authored-by: pawankashyapollion <v-pawan.kumar@ollion.com>
Co-authored-by: Vardhan Vinay Thigle <39047439+VardhanThigle@users.noreply.github.com>
Co-authored-by: Astha Mohta <35952883+asthamohta@users.noreply.github.com>
Co-authored-by: Jack McCluskey <34928439+jrmccluskey@users.noreply.github.com>
Co-authored-by: Yi Hu <yathu@google.com>
Co-authored-by: jjfox15 <seanfox@google.com>
Co-authored-by: vgnanasekaran <venku123@gmail.com>
Co-authored-by: Danny McCormick <dannymccormick@google.com>
Co-authored-by: shreyakhajanchi <92910380+shreyakhajanchi@users.noreply.github.com>
Co-authored-by: Rudra-Gujarathi <rudragujarathi@google.com>
Co-authored-by: Derrick Williams <derrickaw@google.com>
Co-authored-by: darshan-sj <darshan-sj@users.noreply.github.com>

* Added Missing Case

* Added IT for Delete

* Added For testing

* Added IT for Emty and Custom handling

* fixed cassandra schema

* Added And removed unwanted Table

* Added And removed unwanted

* Added Missing case and removed Delete case

* Spoltless fixes

* Handle Null in custom Transformation

* revert delete changes

* Handle Checkstyle fixes

* removed unwanted toSting

---------

Co-authored-by: taherkl <taher.lakdawala@ollion.com>
Co-authored-by: Taher Lakdawala <78196491+taherkl@users.noreply.github.com>
Co-authored-by: pawankashyapollion <v-pawan.kumar@ollion.com>
Co-authored-by: Vardhan Vinay Thigle <39047439+VardhanThigle@users.noreply.github.com>
Co-authored-by: Astha Mohta <35952883+asthamohta@users.noreply.github.com>
Co-authored-by: Jack McCluskey <34928439+jrmccluskey@users.noreply.github.com>
Co-authored-by: Yi Hu <yathu@google.com>
Co-authored-by: jjfox15 <seanfox@google.com>
Co-authored-by: vgnanasekaran <venku123@gmail.com>
Co-authored-by: Danny McCormick <dannymccormick@google.com>
Co-authored-by: shreyakhajanchi <92910380+shreyakhajanchi@users.noreply.github.com>
Co-authored-by: Rudra-Gujarathi <rudragujarathi@google.com>
Co-authored-by: Derrick Williams <derrickaw@google.com>
Co-authored-by: darshan-sj <darshan-sj@users.noreply.github.com>
Co-authored-by: Svetak Sundhar <svetaksundhar@google.com>
Co-authored-by: Shunping Huang <shunping@google.com>
Co-authored-by: Andrej Galad <dedo.cibula@gmail.com>

* ADDED Missing Combination (#160)

* Adding missing col combination assert for empty (#161)

* ADDED Missing Combination

* Address the assert the same

* Schema Fixes

* Schema FIxes

* Added SCHEMA FIXES

* Schema Correction

* Added Fixes

* Added Schema Fixes

* Adding InsertOnly Mode for Bulk job (#2260)

* Adding Lgs

* Handle Null Explicit

* removed logs

* revert ignore change

* revert additional changes

* Added UT for Null and Empty Case (#171)

---------

Co-authored-by: taherkl <taher.lakdawala@ollion.com>
Co-authored-by: Taher Lakdawala <78196491+taherkl@users.noreply.github.com>
Co-authored-by: pawankashyapollion <v-pawan.kumar@ollion.com>
Co-authored-by: Vardhan Vinay Thigle <39047439+VardhanThigle@users.noreply.github.com>
Co-authored-by: Astha Mohta <35952883+asthamohta@users.noreply.github.com>
Co-authored-by: Jack McCluskey <34928439+jrmccluskey@users.noreply.github.com>
Co-authored-by: Yi Hu <yathu@google.com>
Co-authored-by: jjfox15 <seanfox@google.com>
Co-authored-by: vgnanasekaran <venku123@gmail.com>
Co-authored-by: Danny McCormick <dannymccormick@google.com>
Co-authored-by: shreyakhajanchi <92910380+shreyakhajanchi@users.noreply.github.com>
Co-authored-by: Rudra-Gujarathi <rudragujarathi@google.com>
Co-authored-by: Derrick Williams <derrickaw@google.com>
Co-authored-by: darshan-sj <darshan-sj@users.noreply.github.com>
Co-authored-by: Svetak Sundhar <svetaksundhar@google.com>
Co-authored-by: Shunping Huang <shunping@google.com>
Co-authored-by: Andrej Galad <dedo.cibula@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants