Better error message for RehydratedComponents.getCoder
Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/3d99d07a Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/3d99d07a Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/3d99d07a Branch: refs/heads/master Commit: 3d99d07a2b580fca99545c622f53b7378d1bb61a Parents: 187beae Author: Kenneth Knowles <k...@google.com> Authored: Tue Oct 3 15:51:03 2017 -0700 Committer: Kenneth Knowles <k...@apache.org> Committed: Tue Oct 17 12:45:11 2017 -0700 ---------------------------------------------------------------------- .../runners/core/construction/RehydratedComponents.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/3d99d07a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java ---------------------------------------------------------------------- diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java index 2e12603..fdb6cea 100644 --- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java +++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java @@ -71,8 +71,14 @@ public class RehydratedComponents { new CacheLoader<String, Coder<?>>() { @Override public Coder<?> load(String id) throws Exception { - return CoderTranslation.fromProto( - components.getCodersOrThrow(id), RehydratedComponents.this); + RunnerApi.Coder coder; + try { + coder = components.getCodersOrThrow(id); + } catch (IllegalArgumentException exc) { + throw new IllegalStateException( + String.format("No coder with id '%s' in serialized components", id), exc); + } + return CoderTranslation.fromProto(coder, RehydratedComponents.this); } });