Ask Your Question
1

Exception in Salesforce Platform Event processing

asked 2018-06-04 06:10:21 -0500

Jakub Sterba gravatar image

updated 2018-06-05 09:23:29 -0500

metadaddy gravatar image

I'm having an issue with Salesforce Platform Events. I configured a new Origin (Salesforce) with a platform event - this event contains just firstname and lastname of Contact object. When I start the pipeline and change Contact object in Salesforce I get Java exception: java.lang.NumberFormatException: For input string: "2018-06-04T08:53:07Z". This date is CreatedDate of the platform event.

This is the full stack trace:

java.lang.NumberFormatException: For input string: "2018-06-05T06:58:56Z" at 
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at 
java.lang.Long.parseLong(Long.java:589) at 
java.lang.Long.parseLong(Long.java:631) at 
com.streamsets.pipeline.api.impl.LongTypeSupport.convert(LongTypeSupport.java:30) at 
com.streamsets.pipeline.api.impl.LongTypeSupport.convert(LongTypeSupport.java:22) at 
com.streamsets.pipeline.api.Field$Type.convert(Field.java:112) at 
com.streamsets.pipeline.api.Field$Type.access$100(Field.java:82) at 
com.streamsets.pipeline.api.Field.create(Field.java:433) at 
com.streamsets.pipeline.api.Field.create(Field.java:417) at 
com.streamsets.pipeline.lib.salesforce.PlatformEventRecordCreator.createField(PlatformEventRecordCreator.java:146) at 
com.streamsets.pipeline.lib.salesforce.PlatformEventRecordCreator.createField(PlatformEventRecordCreator.java:134) at 
com.streamsets.pipeline.lib.salesforce.PlatformEventRecordCreator.createRecord(PlatformEventRecordCreator.java:122) at 
com.streamsets.pipeline.stage.origin.salesforce.ForceSource.processDataMessage(ForceSource.java:802) at 
com.streamsets.pipeline.stage.origin.salesforce.ForceSource.streamingProduce(ForceSource.java:875) at 
com.streamsets.pipeline.stage.origin.salesforce.ForceSource.produce(ForceSource.java:424) at 
com.streamsets.pipeline.api.base.configurablestage.DSource.produce(DSource.java:38) at 
com.streamsets.datacollector.runner.StageRuntime.lambda$execute$2(StageRuntime.java:242) at 
com.streamsets.pipeline.api.impl.CreateByRef.call(CreateByRef.java:40) at 
com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:195) at 
com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:257) at 
com.streamsets.datacollector.runner.StagePipe.process(StagePipe.java:219) at 
com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunner.processPipe(ProductionPipelineRunner.java:801) at 
com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunner.runPollSource(ProductionPipelineRunner.java:548) at 
com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunner.run(ProductionPipelineRunner.java:383) at 
com.streamsets.datacollector.runner.Pipeline.run(Pipeline.java:512) at 
com.streamsets.datacollector.execution.runner.common.ProductionPipeline.run(ProductionPipeline.java:112) at 
com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunnable.run(ProductionPipelineRunnable.java:74) at 
com.streamsets.datacollector.execution.runner.standalone.StandaloneRunner.start(StandaloneRunner.java:756) at 
com.streamsets.datacollector.execution.runner.common.AsyncRunner.lambda$start$3(AsyncRunner.java:152) at 
com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226) at 
com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33) at 
com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222) at 
com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226) at 
com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33) at 
com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222) at 
java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at 
com.streamsets ...
(more)
edit retag flag offensive close merge delete

Comments

Could you paste in the full stack trace from sdc.log?

metadaddy gravatar imagemetadaddy ( 2018-06-04 13:40:43 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-06-05 15:01:45 -0500

metadaddy gravatar image

It looks like Salesforce Summer '18 changes DateTimes from Strings to longs, but the schema is out of sync with the actual platform event data. Created SDC-9169 to track the fix. Please watch that issue for updates.

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2018-06-04 06:10:21 -0500

Seen: 56 times

Last updated: Jun 05