Invalid size 8 for Time

Our customer develop an RFA application to receive real time via ADS and after moving to last ADS 2.6 version he has this error:

INFO | 2018-05-02 07:36:34,595 |
seda:coll02.marketdata.broadcasterquotes?size=10000&concurrentConsumers=20
thread:108 [Logger] Received: 1400 messages so far. Last group took: 956 millis
which is: 104.603 messages per second. average: 109.349
ERROR | 2018-05-02 07:36:35,084 | Thread
Processor [Logger] Failed delivery for exchangeId:
ID-esix441/39388-1525246581148/0-9569. On delivery attempt: 0 caught:
com.reuters.rfa.omm.OMMException: Invalid size 8 for Time
com.reuters.rfa.omm.OMMException: Invalid size 8
for Time
at
com.reuters.rfa.internal.rwf.RwfDecoder.decodeTime(RwfDecoder.java:2307)
at
com.reuters.rfa.internal.rwf.RwfDecoder.decodeTime(RwfDecoder.java:2355)
at
com.reuters.rfa.internal.rwf.RwfPrimitiveCacheTypedBuffer.decode(RwfPrimitiveCacheTypedBuffer.java:237)
at
com.reuters.rfa.internal.rwf.RwfEntry.getData(RwfEntry.java:62)
at
com.reuters.rfa.internal.rwf.RwfFieldEntry.getData(RwfFieldEntry.java:61)
at
biz.wss.onyx.service.reuters.omm.OMMMessageParser.decodeFieldList(OMMMessageParser.java:146)
at
biz.wss.onyx.service.reuters.omm.OMMMessageParser.decodePayload(OMMMessageParser.java:172)
at
biz.wss.onyx.service.reuters.omm.OMMMessageParser.getMarket_Quote(OMMMessageParser.java:197)
at
biz.wss.onyx.service.reuters.camel.omm.OMMProcessor.process(OMMProcessor.java:84)
at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:86)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:90)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
at
org.apache.camel.processor.Pipeline.access$200(Pipeline.java:40)
at
org.apache.camel.processor.Pipeline$1.done(Pipeline.java:141)
at
org.apache.camel.processor.ThreadProcessor$ProcessCall.run(ThreadProcessor.java:66)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at
java.lang.Thread.run(Thread.java:662)

appreciated any help.

Many thanks

Tagged:

Best Answer

  • Jirapongse
    Answer ✓

    @amedeo.medaglia

    This may relate to the new high precision time fields in MiFID II.

    RFA Java 7.x and Earlier Releases

    When a Time field is encountered with either the microsecond or nanosecond components of the time value populated the API will raise an exception : com.reuters.rfa.omm.OMMException. with a message similar to this:

    Exception in thread "main" com.reuters.rfa.omm.OMMException: Invalid size 8 for Time

    The size reported is the encoded length determined by the presence of microsecond and nanosecond components.

    For applications using RFA Java 7.x and Earlier Releases, the solutions available are as follows:
    Consider upgrading to one of the compatible API releases listed below.
    Implement Pre-Decoding Checks.
    Implement Exception Handling.

    For more information, please refer to the Coding For High Precision Time article.