Skip to content

Fix stencil client serialization issue - #1147

Merged
pyalex merged 1 commit into
feast-dev:masterfrom
pyalex:stencil-serialization-issue
Nov 10, 2020
Merged

Fix stencil client serialization issue#1147
pyalex merged 1 commit into
feast-dev:masterfrom
pyalex:stencil-serialization-issue

Conversation

@pyalex

@pyalex pyalex commented Nov 9, 2020

Copy link
Copy Markdown
Collaborator

Signed-off-by: Oleksii Moskalenko moskalenko.alexey@gmail.com

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Caused by: java.io.NotSerializableException: com.gojek.de.stencil.cache.DescriptorCacheLoader
Serialization stack:
	- object not serializable (class: com.gojek.de.stencil.cache.DescriptorCacheLoader, value: com.gojek.de.stencil.cache.DescriptorCacheLoader@5fb7af07)
	- field (class: com.gojek.de.stencil.client.URLStencilClient, name: cacheLoader, type: class com.gojek.de.stencil.cache.DescriptorCacheLoader)
	- object (class com.gojek.de.stencil.client.URLStencilClient, com.gojek.de.stencil.client.URLStencilClient@70c56f9d)
	- field (class: feast.ingestion.registry.proto.StencilProtoRegistry, name: stencilClient, type: interface com.gojek.de.stencil.client.StencilClient)
	- object (class feast.ingestion.registry.proto.StencilProtoRegistry, feast.ingestion.registry.proto.StencilProtoRegistry@35067eda)
	- element of array (index: 0)
	- array (class [Ljava.lang.Object;, size 2)
	- field (class: java.lang.invoke.SerializedLambda, name: capturedArgs, type: class [Ljava.lang.Object;)
	- object (class java.lang.invoke.SerializedLambda, SerializedLambda[capturingClass=class feast.ingestion.StreamingPipeline$, functionalInterfaceMethod=scala/Function1.apply:(Ljava/lang/Object;)Ljava/lang/Object;, implementation=invokeStatic feast/ingestion/StreamingPipeline$.$anonfun$protoParser$1:(Lfeast/ingestion/registry/proto/ProtoRegistry;Ljava/lang/String;[B)Lorg/apache/spark/sql/Row;, instantiatedMethodType=([B)Lorg/apache/spark/sql/Row;, numCaptured=2])
	- writeReplace data (class: java.lang.invoke.SerializedLambda)
	- object (class feast.ingestion.StreamingPipeline$$$Lambda$1473/1085738801, feast.ingestion.StreamingPipeline$$$Lambda$1473/1085738801@423c9375)
	- element of array (index: 3)
	- array (class [Ljava.lang.Object;, size 10)
	- element of array (index: 1)
	- array (class [Ljava.lang.Object;, size 3)
	- field (class: java.lang.invoke.SerializedLambda, name: capturedArgs, type: class [Ljava.lang.Object;)
	- object (class java.lang.invoke.SerializedLambda, SerializedLambda[capturingClass=class org.apache.spark.sql.execution.WholeStageCodegenExec, functionalInterfaceMethod=scala/Function2.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;, implementation=invokeStatic org/apache/spark/sql/execution/WholeStageCodegenExec.$anonfun$doExecute$4$adapted:(Lorg/apache/spark/sql/catalyst/expressions/codegen/CodeAndComment;[Ljava/lang/Object;Lorg/apache/spark/sql/execution/metric/SQLMetric;Ljava/lang/Object;Lscala/collection/Iterator;)Lscala/collection/Iterator;, instantiatedMethodType=(Ljava/lang/Object;Lscala/collection/Iterator;)Lscala/collection/Iterator;, numCaptured=3])
	- writeReplace data (class: java.lang.invoke.SerializedLambda)
	- object (class org.apache.spark.sql.execution.WholeStageCodegenExec$$Lambda$2182/174006344, org.apache.spark.sql.execution.WholeStageCodegenExec$$Lambda$2182/174006344@74f95597)
	at org.apache.spark.serializer.SerializationDebugger$.improveException(SerializationDebugger.scala:41)
	at org.apache.spark.serializer.JavaSerializationStream.writeObject(JavaSerializer.scala:46)
	at org.apache.spark.serializer.JavaSerializerInstance.serialize(JavaSerializer.scala:100)
	at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:413)

Does this PR introduce a user-facing change?:


Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com>
@feast-ci-bot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pyalex

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@pyalex

pyalex commented Nov 9, 2020

Copy link
Copy Markdown
Collaborator Author

/test test-end-to-end

@pyalex

pyalex commented Nov 9, 2020

Copy link
Copy Markdown
Collaborator Author

/test test-end-to-end-gcp

@pyalex
pyalex merged commit ab83765 into feast-dev:master Nov 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants