Skip to content

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

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

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

Conversation

@psainics
Copy link
Copy Markdown

@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
Copy Markdown
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
Copy Markdown
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

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