Github user yanghua commented on the issue:
https://github.com/apache/flink/pull/5573
OK, base of @aljoscha 's opinion, I describe the implementation detail
before coding :
* define a `AccumulatorRepresentationsQueryParameter` class which extends
`MessageQueryParameter` and contains to two representation mode
(***stringified*** and ***serialized***)
* define a `JobAccumulatorsMessageParameters` class which extends
`MessageParameters`, and the `getQueryParameters` method will return the
`AccumulatorRepresentationsQueryParameter`
* refactor `JobAccumulatorsHeaders#getUnresolvedMessageParameters` return
`JobAccumulatorsMessageParameters`'s instance
* refactor `JobAccumulatorsHandler#handleRequest` it will query specific
accumulator's representation base of
`AccumulatorRepresentationsQueryParameter`, and the `JobAccumulatorsInfo` will
be reused for both representations
* in `RestClusterClient` class , let `getAccumulators` return stringified
accumulators(`Map<String, Object>`) and `getSerializedAccumulators` return
serialized accumulators(`Map<String, SerializedValue<Object>>`)
@tillrohrmann and @GJL hope for your opinions, Thanks.
---