Github user jerryshao commented on the pull request:
https://github.com/apache/spark/pull/1508#issuecomment-50702546
Hi TD, thanks for your review. I think the previous issue is that:
```scala
implicit val keyCmd: Manifest[U] =
implicitly[Manifest[AnyRef]].asInstanceOf[Manifest[U]]
```
This line of code cannot actually get the correct runtime class, the
runtime class of `keyCmd` is `Object` as
[SPARK-2103](https://issues.apache.org/jira/browse/SPARK-2103) mentioned.
The right way is like this:
```scala
implicit val keyCmd: Manifest[U] = Manifest.classTyep(keyDecodeClass)
```
Manifest can also do the same thing if we correctly feed it with class
info. But I think it would be better to change Manifest to ClassTag to keep
align with other code, so I changed to use ClassTag.
I will add this to Mima exclude.
Thanks a lot.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---