public InvokeMethodResult read (Kryo kryo, Input input, Class<InvokeMethodResult> type) { InvokeMethodResult result = super.read(kryo, input, type); result.objectID = input.readInt(true); return result; } };
@Override public MapWork read(Kryo kryo, Input input, Class<MapWork> type) { MapWork mapWork = super.read(kryo, input, type); // The set methods in MapWork intern the any duplicate strings which is why we call them // during de-serialization mapWork.setPathToPartitionInfo(mapWork.getPathToPartitionInfo()); mapWork.setPathToAliases(mapWork.getPathToAliases()); return mapWork; } }
@Override public PartitionDesc read(Kryo kryo, Input input, Class<PartitionDesc> type) { PartitionDesc partitionDesc = super.read(kryo, input, type); // The set methods in PartitionDesc intern the any duplicate strings which is why we call them // during de-serialization partitionDesc.setBaseFileName(partitionDesc.getBaseFileName()); partitionDesc.setPartSpec(partitionDesc.getPartSpec()); partitionDesc.setInputFileFormatClass(partitionDesc.getInputFileFormatClass()); partitionDesc.setOutputFileFormatClass(partitionDesc.getOutputFileFormatClass()); return partitionDesc; } }
@Override public StepDown read(Kryo kryo, Input input, Class<StepDown> type) { StepDown stepDown = super.read(kryo, input, type); stepDown.setDefaultFieldValues(); return stepDown; } }
@Override public UserAgentAnalyzerDirect read(Kryo kryo, Input input, Class<UserAgentAnalyzerDirect> type) { UserAgentAnalyzerDirect uaa = super.read(kryo, input, type); uaa.initTransientFields(); uaa.showDeserializationStats(); return uaa; } }
public InvokeMethodResult read (Kryo kryo, Input input, Class<InvokeMethodResult> type) { InvokeMethodResult result = super.read(kryo, input, type); result.objectID = input.readInt(true); return result; } };
@Override public T read(Kryo kryo, Input input, Class<T> type) { checkIncorrectClass(type); return super.read(kryo, input, type); }
@Override public Object read(Kryo kryo, Input input, Class<Object> type) { return getReplacement(super.read(kryo, input, type), "readResolve"); }
@Override public T read(Kryo kryo, Input input, Class<T> type) { T result = fieldSerializer.read(kryo, input, type); if (result != null) { inputWrapper.set(input, kryo); try { readMethod.invoke(result, inputWrapper); } catch (IllegalAccessException | InvocationTargetException e) { throw new RuntimeException("readObject failed", e); } } return result; }
@Override public Object read(Kryo kryo, Input input, Class<Object> type) { return getReplacement(super.read(kryo, input, type), "readResolve"); }
@Override public T read(final Kryo kryo, final Input input, final Class<T> type) { final boolean isKnown = kryo.readObject(input, Boolean.class); if (isKnown) { final Integer ordinal = kryo.readObject(input, Integer.class); final SqlOperator operator = OperatorPopulator.BACKWARD.get(ordinal); if (operator != null) { kryo.reference(operator); return (T)operator; } throw new IllegalStateException(String.format("Unable to locate operator with ordinal [%s]", ordinal)); } return super.read(kryo, input, type); }
/** * {@inheritDoc} */ @Override public EUMSpan read(Kryo kryo, Input input, Class<EUMSpan> type) { EUMSpan read = super.read(kryo, input, type); read.getDetails().setOwningSpan(read); return read; } }, nextRegistrationId++);
@Override @SuppressWarnings("CallToPrintStackTrace") public Fiber read(Kryo kryo, Input input, Class<Fiber> type) { final Fiber f; final Thread currentThread = Thread.currentThread(); final Object tmpThreadLocals = ThreadAccess.getThreadLocals(currentThread); final Object tmpInheritableThreadLocals = ThreadAccess.getInheritableThreadLocals(currentThread); ThreadAccess.setThreadLocals(currentThread, null); ThreadAccess.setInheritableThreadLocals(currentThread, null); try { final Registration reg = kryo.readClass(input); if (reg == null) return null; f = (Fiber) new FieldSerializer(kryo, reg.getType()).read(kryo, input, reg.getType()); if (!f.noLocals) { f.fiberLocals = ThreadAccess.getThreadLocals(currentThread); f.inheritableFiberLocals = ThreadAccess.getInheritableThreadLocals(currentThread); } return f; } catch (Throwable t) { t.printStackTrace(); throw t; } finally { ThreadAccess.setThreadLocals(currentThread, tmpThreadLocals); ThreadAccess.setInheritableThreadLocals(currentThread, tmpInheritableThreadLocals); } } }