.withFailureMode(SpannerIO.FailureMode.REPORT_FAILURES) .grouped()); PAssert.that(result.getFailedMutations()) .satisfies( m -> { return null; }); PAssert.that(result.getFailedMutations()).containsInAnyOrder(mutationGroupList); pipeline.run().waitUntilFinish();
@Test public void testSequentialWrite() throws Exception { int numRecords = 100; SpannerWriteResult stepOne = p.apply("first step", GenerateSequence.from(0).to(numRecords)) .apply(ParDo.of(new GenerateMutations(options.getTable()))) .apply( SpannerIO.write() .withProjectId(project) .withInstanceId(options.getInstanceId()) .withDatabaseId(databaseName)); p.apply("second step", GenerateSequence.from(numRecords).to(2 * numRecords)) .apply("Gen mutations", ParDo.of(new GenerateMutations(options.getTable()))) .apply(Wait.on(stepOne.getOutput())) .apply( "write to table2", SpannerIO.write() .withProjectId(project) .withInstanceId(options.getInstanceId()) .withDatabaseId(databaseName)); PipelineResult result = p.run(); result.waitUntilFinish(); assertThat(result.getState(), is(PipelineResult.State.DONE)); assertThat(countNumberOfRecords(), equalTo(2L * numRecords)); }
.withOutputTags(MAIN_OUT_TAG, TupleTagList.of(FAILED_MUTATIONS_TAG))); return new SpannerWriteResult( input.getPipeline(), result.get(MAIN_OUT_TAG),
.apply( "Write mutations " + depth, SpannerIO.write().withSpannerConfig(spannerConfig)); previousComputation = result.getOutput();