Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • TREP APIs /
  • RFA /
avatar image
Question by robert_hau · Nov 01, 2017 at 02:46 PM · javaRFAJdecodereentrant

Reentrant Decode OMMexception

Why are we seeing Reentrant Decode OMMException

In the rfa_common_lib/SnapshotThread class, all Exceptions are caught and quietly eaten. If an exception was thrown and caught, the log message is not written. When I add e.printStackTrace() into the catch block, I see the following exception many times:

com.reuters.rfa.omm.OMMException: Reentrant decode

at com.reuters.rfa.internal.rwf.RwfDecoder.setupDecodeFor(Unknown Source)

at com.reuters.rfa.internal.rwf.RwfDecoder.decodeFieldEntry(Unknown Source)

at com.reuters.rfa.internal.rwf.RwfFieldListIterator.next(Unknown Source)

at com.reuters.rfa.internal.rwf.RwfFieldListIterator.next(Unknown Source)

at com.vanguard.rfa.RFASnapshot.<init>(RFASnapshot.java:88)

at com.vanguard.rfa.SnapshotThread.run(SnapshotThread.java:47)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Does anyone know what the “Reentrant decode” means?

Is Javadoc available for the Reuters RFA API?

Thanks,

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

2 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by Nipat Kunvutipongsak · Nov 06, 2017 at 01:08 AM

Hello @robert_hau,

This com.reuters.rfa.omm.OMMException: Reentrant decode can happen in the situation that multi-threads try to decode the same OMM object.

The snippet code below shows how to replicate this exception:

    public void processEvent(Event event)
    {
        if (event.getType() == Event.COMPLETION_EVENT)
        {
            System.out.println(_className + ": Receive a COMPLETION_EVENT, " + event.getHandle());
            return;
        }
        System.out.println(_className + ".processEvent: Received Item Event...");
        if (event.getType() != Event.OMM_ITEM_EVENT)
        {
            System.out.println("ERROR: " + _className + " Received an unsupported Event type.");
            _mainApp.cleanup(-1);
            return;
        }
        OMMItemEvent ie = (OMMItemEvent)event;
        OMMMsg respMsg = ie.getMsg();
       
        for (int i=0; i<2; i++) {
        	new DecoderThread(respMsg).start();
        }
    }


class DecoderThread extends Thread {
	final OMMMsg msg;
	public DecoderThread(OMMMsg msg) {
		this.msg = msg;
	}
	
	public void run() {
		OMMData payload = msg.getPayload();
        for (Iterator iter = ((OMMIterable)payload).iterator(); iter.hasNext();)
        {        	
        	OMMFieldEntry entry = (OMMFieldEntry)iter.next();
        	System.out.println(entry.getData());
        }
	}
}

In that case, please check and review the application source code to ensure whether it has a possibility that an OMMMsg object is decoded by multiple-threads or not.

Hope this helps.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by robert_hau · Nov 03, 2017 at 09:20 AM

can anyone provide an update on this.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
9 People are following this question.

Related Questions

What is the best way to decode the OMMMsgs received (e.g. to get prices) when subscribing to a RIC using RFA?

Fx rates for all currencies?

Subscribing to RIC multiple times

How to find the error setting.

Determining Fx Rates

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges