Skip to content

Source MSSQL: java.lang.NullPointerException: null value in entry: max_seconds_before_source_state_message_emitted=null #16326

Open
@ramonvermeulen

Description

@ramonvermeulen

Environment

  • Airbyte version: 0.40.2
  • OS Version / Instance: GKE (Google Kubernetes Engine)
  • Deployment: Kubernetes (helm chart)
  • Source Connector and version: MSSQL 0.4.18
  • Destination Connector and version: BigQuery 1.1.16
  • Step where error happened: Sync job / Setup new connection after updating the connector from 0.4.17 to 0.4.18

Current Behavior

The MSSQL connector started throwing errors after upgrading from 0.4.17 to 0.4.18. I think due to a change in the configuration scheme code? Didn't had time to look deep into this, but this is the commit which might have introduced this problem: 28a6add

Besides that it feels a bit like something that shouldn't be in a patch, but in a minor/major release, since it is a breaking change. Although I understand it since the connector is still in alpha.

Expected Behavior

Expected that the connector keeps on working after a patch.

Logs

2022-09-04 18:55:42 �[1;31mERROR�[m i.a.s.p.JobNotifier(notifyJob):133 - Unable to read configuration:
java.lang.NullPointerException: null value in entry: max_seconds_before_source_state_message_emitted=null
	at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:33) ~[guava-31.0.1-jre.jar:?]
	at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:337) ~[guava-31.0.1-jre.jar:?]
	at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:447) ~[guava-31.0.1-jre.jar:?]
	at io.airbyte.scheduler.persistence.job_tracker.TrackingMetadata.generateJobAttemptMetadata(TrackingMetadata.java:114) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.scheduler.persistence.JobNotifier.notifyJob(JobNotifier.java:82) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.scheduler.persistence.JobNotifier.notifyJob(JobNotifier.java:61) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.scheduler.persistence.JobNotifier.failJob(JobNotifier.java:167) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.workers.temporal.scheduling.activities.JobCreationAndStatusUpdateActivityImpl.jobFailure(JobCreationAndStatusUpdateActivityImpl.java:206) ~[io.airbyte-airbyte-workers-0.40.2.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:578) ~[?:?]
	at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [?:?]
	at java.lang.Thread.run(Thread.java:1589) [?:?]
2022-09-04 18:55:42 �[1;31mERROR�[m i.a.c.l.Exceptions(swallow):66 - Swallowed error.
java.lang.NullPointerException: null value in entry: max_seconds_before_source_state_message_emitted=null
	at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:33) ~[guava-31.0.1-jre.jar:?]
	at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:337) ~[guava-31.0.1-jre.jar:?]
	at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:447) ~[guava-31.0.1-jre.jar:?]
	at io.airbyte.scheduler.persistence.job_tracker.TrackingMetadata.generateJobAttemptMetadata(TrackingMetadata.java:114) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.scheduler.persistence.job_tracker.JobTracker.generateJobAttemptMetadata(JobTracker.java:352) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.scheduler.persistence.job_tracker.JobTracker.lambda$trackSync$3(JobTracker.java:135) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.commons.lang.Exceptions.swallow(Exceptions.java:64) ~[io.airbyte-airbyte-commons-0.40.2.jar:?]
	at io.airbyte.scheduler.persistence.job_tracker.JobTracker.trackSync(JobTracker.java:123) ~[io.airbyte.airbyte-scheduler-scheduler-persistence-0.40.2.jar:?]
	at io.airbyte.workers.temporal.scheduling.activities.JobCreationAndStatusUpdateActivityImpl.trackCompletion(JobCreationAndStatusUpdateActivityImpl.java:345) ~[io.airbyte-airbyte-workers-0.40.2.jar:?]
	at io.airbyte.workers.temporal.scheduling.activities.JobCreationAndStatusUpdateActivityImpl.jobFailure(JobCreationAndStatusUpdateActivityImpl.java:208) ~[io.airbyte-airbyte-workers-0.40.2.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:578) ~[?:?]
	at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
	at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [?:?]
	at java.lang.Thread.run(Thread.java:1589) [?:?]
2022-09-04 18:55:42 �[32mINFO�[m i.a.c.f.EnvVariableFeatureFlags(autoDisablesFailingConnections):17 - Auto Disable Failing Connections: false

Steps to Reproduce

  1. Have a valid MSSQL configuration
  2. Upgrade from 0.4.17 to 0.4.18
  3. Rerun the sync

Are you willing to submit a PR?

No

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions