[
https://issues.apache.org/jira/browse/SPARK-23131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16329100#comment-16329100
]
Peigen commented on SPARK-23131:
--------------------------------
I realize this happens when I try to serialize the model using
ObjectOutputStream
like
{quote}
def modelToString(model: Model): (String, String) = \{
val os: ByteArrayOutputStream = new ByteArrayOutputStream()
val zos = new GZIPOutputStream(os)
val oo: ObjectOutputStream = new ObjectOutputStream(zos)
oo.writeObject(model)
oo.close()
zos.close()
os.close()
(model.id, DatatypeConverter.printBase64Binary(os.toByteArray))
\}
{quote}
not a standard way to save a model but fitting our production requirement.
So this might just be a wish to upgrade kryo, I will adapt the ticket :)
> Stackoverflow using ML and Kryo serializer
> ------------------------------------------
>
> Key: SPARK-23131
> URL: https://issues.apache.org/jira/browse/SPARK-23131
> Project: Spark
> Issue Type: Bug
> Components: ML
> Affects Versions: 2.2.0
> Reporter: Peigen
> Priority: Minor
>
> When trying to use GeneralizedLinearRegression model and set SparkConf to use
> KryoSerializer(JavaSerializer is fine)
> It causes StackOverflowException
> {quote}
> Exception in thread "dispatcher-event-loop-34" java.lang.StackOverflowError
> at java.util.HashMap.hash(HashMap.java:338)
> at java.util.HashMap.get(HashMap.java:556)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:61)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> at com.esotericsoftware.kryo.Generics.getConcreteClass(Generics.java:62)
> {quote}
> This is very likely to be https://github.com/EsotericSoftware/kryo/issues/341
> Upgrade Kryo to 4.0+ probably could fix this
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]