GitHub user rmannibucau opened a pull request:
https://github.com/apache/beam/pull/3871
[BEAM-2701] ensure objectinputstream uses the right classloader for
serialization
When the PTransform are not loaded with the app classloader the
ensureSerializable code can end up through ObjectInputStream on
vmLatestUserDefinedClassLoader which likely falls back on app classloader
whereas it should use the TCCL in resolveClass.
This PR ensures:
1. we use the TCCL as expected to deserialize an instance
2. uses the serialized instance classloader contextually in
ensureSerializable to tolerate cross classloader usage
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/rmannibucau/incubator-beam
fix/serialization-classloader
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/beam/pull/3871.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3871
----
commit 0c3d743f50a8c40fb1f064886996941af37fb8c8
Author: Romain Manni-Bucau <[email protected]>
Date: 2017-09-20T15:29:53Z
ensure objectinputstream uses the right classloader for serialization
----
---