IllegalArgumentException thrown byElementEntry.encodeInit
I have an issue encoding an element list.
I have a test whereby I have a message buffer 1024 bytes, the message contains an eleement list, containing a string element followed by an element containing a vector. The test is to encode refresh messages increasing the string element by one byte. ElementEntry.encodeInit throws an illegalArgumentException. This is because it is calling ByteBuffer.position(1025).
I expect to get a BUFFER_TOO_SMALL response after which I can encodeComplete(false) the elemententry, encodeComplete(true) the ElementList and Message and write the buffer.
Error occurs on UPA 7.4 and 8. I have enclosed the stack trace for 8
Data from breakpoint on IllegalArgumentException
params to HeapByteBuffer
this HeapByteBuffer (id=153)
arg0 1025
Eclipse Stack trace
TestFragmentationPublish [JUnit]
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localhost:52870
Thread [main] (Suspended (exception IllegalArgumentException))
HeapByteBuffer(Buffer).position(int) line: 236
T(BA).C(int) line: not available
K.A(EncodeIterator, ElementEntry, int) line: not available
x.encodeInit(EncodeIterator, int) line: not available
ElementListStateEncoder.encodeField(EncodeIterator, IPubField) line: 345
ElementListStateEncoder.submit(long, List<IPubField>) line: 92
AgoraElementTestPayload(ElementListPayload).getRefresh(IElementListState) line: 72
AgoraElementTestPayload(ElementListPayload).getRefresh(ICompositeState) line: 1
ElementListUpdater(CompositeUpdater<S>).getRefresh(S) line: 186
ElementListCompositeSubmitter.getRefresh(EncoderContext, ICompositeState) line: 36
JUTestSubmitter.submitRefresh(EncoderContext, IUpdaterProxy) line: 89
ElementListCompositeSubmitter(MessageSubmitter).submitRefresh(EncoderContext) line: 38
PublishStream.publish(PublishRequest) line: 276
TestFragmentationPublish.t003_testSubmitElementListRefresh() line: 128
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 601
FrameworkMethod$1.runReflectiveCall() line: 47
FrameworkMethod$1(ReflectiveCallable).run() line: 12
FrameworkMethod.invokeExplosively(Object, Object...) line: 44
InvokeMethod.evaluate() line: 17
RunBefores.evaluate() line: 26
RunAfters.evaluate() line: 27
BlockJUnit4ClassRunner(ParentRunner<T>).runLeaf(Statement, Description, RunNotifier) line: 271
BlockJUnit4ClassRunner.runChild(FrameworkMethod, RunNotifier) line: 70
BlockJUnit4ClassRunner.runChild(Object, RunNotifier) line: 50
ParentRunner$3.run() line: 238
ParentRunner$1.schedule(Runnable) line: 63
BlockJUnit4ClassRunner(ParentRunner<T>).runChildren(RunNotifier) line: 236
ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 53
ParentRunner$2.evaluate() line: 229
RunBefores.evaluate() line: 26
RunAfters.evaluate() line: 27
BlockJUnit4ClassRunner(ParentRunner<T>).run(RunNotifier) line: 309
JUnit4TestMethodReference(JUnit4TestReference).run(TestExecution) line: 50
TestExecution.run(ITestReference[]) line: 38
RemoteTestRunner.runTests(String[], String, TestExecution) line: 459
RemoteTestRunner.runTests(TestExecution) line: 675
RemoteTestRunner.run() line: 382
RemoteTestRunner.main(String[]) line: 192
Thread [ReaderThread] (Running)
C:\Program Files (x86)\Java\jdk1.7.0_06\bin\javaw.exe (5 Apr 2016 10:42:55)
Best Answer
-
This was UPAJ bug and it has been fixed. The fixed API is ETA(Elektron Transport API) Java version 3.0.0. UPA Java has been renamed to be ETA Java. ETA Java 3.0.0 is functionally equivalent to the UPA Java 8.0.0.L1.ETA Java 3.0.0 can be found in 2 packages
1.Elektron SDK - Java - 1.0.2: This SDK is an all encompassing package of all Elektron APIs. It includes the entire ETA Java distribution package and the Elektron Message API (EMA)
2. ETA - Java - 3.0.0 - All: The binary package that contains only the core, non-open source JAR and JNI files of ETA Java.
Both packages can be found at https://developers.thomsonreuters.com/elektron-internal/elektron-sdk-java-edition/downloads
After login , click on Elektron SDK - Java Edition .Next click Downloads.
0
Answers
-
The question has been escalated to TRDC.
0 -
Your question has been created as a case 04537768 IllegalArgumentException thrown byElementEntry.encodeInit. You will get response via the email directly.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛