Skip to content

[PLUGIN-1845] Return null for ErrorDetailsProvider by default#540

Merged
psainics merged 1 commit intodata-integrations:developfrom
cloudsufi:patch/plugin-1845
Jan 23, 2025
Merged

[PLUGIN-1845] Return null for ErrorDetailsProvider by default#540
psainics merged 1 commit intodata-integrations:developfrom
cloudsufi:patch/plugin-1845

Conversation

@psainics
Copy link
Contributor

@psainics psainics commented Jan 21, 2025

Return Null for ErrorDetailsProvider by default to fix DBErrorDetailsProvider export issue

Jira : PLUGIN-1845

Description

Return null for error details provider by default, this is for plugins which have not yet implemented the error details provider.

Code change

  • Modified AbstractDBSource.java

@psainics psainics added the build label Jan 21, 2025
@psainics psainics self-assigned this Jan 21, 2025
@psainics psainics force-pushed the patch/plugin-1845 branch 3 times, most recently from 5624109 to c82b918 Compare January 23, 2025 00:19
@psainics
Copy link
Contributor Author

Adding a not null check, pipeline fails when setting to setErrorDetailsProvider to null.

2025-01-22 11:51:12,434 - ERROR [SparkRunner-phase-1:i.c.c.i.a.r.ProgramControllerServiceAdapter$1@98] - Spark Program 'phase-1' failed.
org.apache.tephra.TransactionFailureException: Exception raised from TxRunnable.run() io.cdap.cdap.internal.app.runtime.AbstractContext$$Lambda$678/1944904184@497cf2e4
	at io.cdap.cdap.data2.transaction.Transactions$CacheBasedTransactional.finishExecute(Transactions.java:236)
	at io.cdap.cdap.data2.transaction.Transactions$CacheBasedTransactional.execute(Transactions.java:221)
	at io.cdap.cdap.internal.app.runtime.AbstractContext.execute(AbstractContext.java:554)
	at io.cdap.cdap.internal.app.runtime.AbstractContext.execute(AbstractContext.java:540)
	at io.cdap.cdap.app.runtime.spark.BasicSparkClientContext.execute(BasicSparkClientContext.java:357)
	at io.cdap.cdap.etl.common.submit.SubmitterPlugin.prepareRun(SubmitterPlugin.java:72)
	at io.cdap.cdap.etl.common.submit.PipelinePhasePreparer.prepare(PipelinePhasePreparer.java:158)
	at io.cdap.cdap.etl.spark.AbstractSparkPreparer.prepare(AbstractSparkPreparer.java:87)
	at io.cdap.cdap.etl.spark.batch.SparkPreparer.prepare(SparkPreparer.java:94)
	at io.cdap.cdap.etl.spark.batch.ETLSpark.initialize(ETLSpark.java:131)
	at io.cdap.cdap.api.spark.AbstractSpark.initialize(AbstractSpark.java:131)
	at io.cdap.cdap.api.spark.AbstractSpark.initialize(AbstractSpark.java:33)
	at io.cdap.cdap.app.runtime.spark.SparkRuntimeService$1.initialize(SparkRuntimeService.java:192)
	at io.cdap.cdap.app.runtime.spark.SparkRuntimeService$1.initialize(SparkRuntimeService.java:187)
	at io.cdap.cdap.internal.app.runtime.AbstractContext.lambda$initializeProgram$8(AbstractContext.java:650)
	at io.cdap.cdap.internal.app.runtime.AbstractContext.execute(AbstractContext.java:608)
	at io.cdap.cdap.internal.app.runtime.AbstractContext.initializeProgram(AbstractContext.java:647)
	at io.cdap.cdap.app.runtime.spark.SparkRuntimeService.initialize(SparkRuntimeService.java:550)
	at io.cdap.cdap.app.runtime.spark.SparkRuntimeService.startUp(SparkRuntimeService.java:234)
	at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:47)
	at io.cdap.cdap.app.runtime.spark.SparkRuntimeService.lambda$null$2(SparkRuntimeService.java:525)
	at java.lang.Thread.run(Thread.java:750)
Caused by: io.cdap.cdap.api.exception.WrappedStageException: Stage 'SQL Server' encountered : java.lang.NullPointerException: null value in entry: io.cdap.pipeline.error.details.provider.classname=null
	at io.cdap.cdap.etl.common.plugin.ExceptionWrappingCaller.call(ExceptionWrappingCaller.java:64)
	at io.cdap.cdap.etl.common.plugin.WrappedBatchSource.prepareRun(WrappedBatchSource.java:52)
	at io.cdap.cdap.etl.common.plugin.WrappedBatchSource.prepareRun(WrappedBatchSource.java:35)
	at io.cdap.cdap.etl.common.submit.SubmitterPlugin.lambda$prepareRun$2(SubmitterPlugin.java:74)
	at io.cdap.cdap.internal.app.runtime.AbstractContext.lambda$execute$5(AbstractContext.java:558)
	at io.cdap.cdap.data2.transaction.Transactions$CacheBasedTransactional.finishExecute(Transactions.java:234)
	... 21 common frames omitted
Caused by: java.lang.NullPointerException: null value in entry: io.cdap.pipeline.error.details.provider.classname=null
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:235)
	at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:144)
	at com.google.common.collect.ImmutableMap.copyOf(ImmutableMap.java:291)
	at io.cdap.cdap.etl.batch.BasicInputFormatProvider.<init>(BasicInputFormatProvider.java:34)
	at io.cdap.cdap.etl.spark.batch.SparkBatchSourceContext.setInput(SparkBatchSourceContext.java:77)
	at io.cdap.plugin.db.source.AbstractDBSource.prepareRun(AbstractDBSource.java:303)
	at io.cdap.plugin.db.source.AbstractDBSource.prepareRun(AbstractDBSource.java:80)
	at io.cdap.cdap.etl.common.plugin.WrappedBatchSource.lambda$prepareRun$0(WrappedBatchSource.java:53)
	at io.cdap.cdap.etl.common.plugin.Caller$1.call(Caller.java:30)
	at io.cdap.cdap.etl.common.plugin.ExceptionWrappingCaller.call(ExceptionWrappingCaller.java:62)
	... 26 common frames omitted

@psainics psainics marked this pull request as ready for review January 23, 2025 01:42
Copy link
Contributor

@itsankit-google itsankit-google left a comment

Choose a reason for hiding this comment

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

Please remember to cherrypick the PRs for release/6.11

@psainics psainics merged commit 93694c4 into data-integrations:develop Jan 23, 2025
10 checks passed
@psainics psainics deleted the patch/plugin-1845 branch January 23, 2025 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants