Download QuickFIX/J Jira

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
[FAST-47] byteVector having default value causes
StringIndexOutOfBoundsException Created: 17/May/13 Updated: 23/Jan/14
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Types
1.1.2
Type:
Reporter:
Resolution:
Labels:
Environment:
Bug
Dmitry Vulf
Not a bug
byteVector
Win x64, JDK 1.7
Attachments:
Resolved: 20/May/13
None
Priority:
Assignee:
Votes:
Critical
Jacob Northey
0
FIX50SP2-ALL.xml
Description
having this line in the template file:
<byteVector name="SecurityIDSource" id="22" presence="optional"><default
value="4"/></byteVector>
get exception in ByteUtil.convertHexStringToByteArray
in line
bytes[i / 2] = (byte) Integer.parseInt(hexString.substring(i, i + 2), 16);
Comments
Comment by Jacob Northey [ 17/May/13 ]
The byteVector default value uses the hex format so that any byte value can be represented. Can
you try to use hex encoding for the default value? If you are using ASCII encoding then the
default value should be 34. Try the following:
<byteVector name="SecurityIDSource" id="22" presence="optional"><default
value="34"/></byteVector>
Comment by Dmitry Vulf [ 20/May/13 ]
Thanks,
Changing values manually fixes the issue. However MICEX(Moscow stock exchange) provides
default values for byteVector not in the hex format (I attached the template) and it happens in
several places.
Compatibility error or MICEX applies wrong format?
Comment by Jacob Northey [ 20/May/13 ]
Hi Dmitry,
I've posted a new message on the FAST Protocol forums here:
http://fixprotocol.org/discuss/read/ff6dc431. Hopefully this issue can be resolved by the Market
Data Optimization Working Group.
Regards,
Jake
Comment by Jacob Northey [ 20/May/13 ]
It looks like MICEX is not following the spec for how to encode default values for byteVector
fields. Is there somebody at the exchange you can inform to update their templates? Since
OpenFAST is following the FAST specification I will mark this as not an issue.
http://fixprotocol.org/discuss/read/8bac4745
If MICEX is unable to resolve the issue it might make sense to write a script that will parse the
FAST templates and convert from the ASCII-encoded default value to the hex-encoded format.
Comment by Jacob Northey [ 20/May/13 ]
OpenFAST is following the FAST specification in terms of how to define byteVector default
values.
Comment by Dmitry Vulf [ 20/May/13 ]
Hi Jake,
Thanks for the investigation.
I'll inform MICEX about this issue.
Comment by Andrey Alekov [ 23/Jan/14 ]
Dmitry,
MICEX and RTS (now both are is MOEX) don't follow full FAST 1.1 specification.
[FAST-46] MessageInputStream.readMessage() throws unexpected exception
instead of returning null if the end of stream is reached. Created: 05/Mar/13 Updated:
11/Mar/13 Resolved: 11/Mar/13
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.1.1
Type:
Reporter:
Resolution:
Labels:
Bug
Christian Plätzinger
Fixed
None
1.1.2
Priority:
Assignee:
Votes:
Major
Jacob Northey
0
Description
After upgrade to version 1.1.1 we are encountered the following exception when processing FAST
messages received via multicast stream:
org.openfast.error.FastException: The end of the input stream has been reached.
at org.openfast.error.ErrorCode.throwException(ErrorCode.java:45)
at org.openfast.error.ErrorHandler$1.error(ErrorHandler.java:26)
at org.openfast.Global.handleError(Global.java:41)
at
org.openfast.template.type.codec.BitVectorType.decode(BitVectorType.java:66)
at org.openfast.codec.FastDecoder.readMessage(FastDecoder.java:64)
at
org.openfast.MessageInputStream.readMessage(MessageInputStream.java:65)
at
com.macd.xConnect.gateway.mdi.MdiBlockConverter.decode(MdiBlockConverter.java:83)
Everything worked well with version 1.0.0.
I expect org.openfast.MessageInputStream.readMessage() to return null instead of throwing
undocumented exception! Otherwise I expect to get a specific exception so that the application can
identify an EOF. Please let me know if you need some more information.
Comments
Comment by Christian Plätzinger [ 05/Mar/13 ]
Seems that the changes done with http://www.quickfixj.org/jira/browse/FAST-43 are
responsible for this.
Comment by Jacob Northey [ 05/Mar/13 ]
I apologize for the inconvenience, this was not handled properly. I have just checked in a
change which implements this the way we intended. The javadoc for
MessageInputStream.readMessage has been updated.
A new version has been checked in that performs accordingly:
/**
* Decodes the next message in the input stream if a message is found. If no
more
* messages are present in the stream, <code>null</code> is returned. If a
partial
* message is encountered a {@link org.openfast.error.FastException
FastException} with error code 104
* is thrown (see {@link org.openfast.error.FastConstants#END_OF_STREAM
FastConstants.END_OF_STREAM}).
*/
Comment by Christian Plätzinger [ 06/Mar/13 ]
Hi Jacob,
thank you very much for the fast reaction. I will checkout and build the trunk. After some test I
will come back to you. Will you release a new version if it works?
Regards,
Christian
Comment by Christian Plätzinger [ 06/Mar/13 ]
Tested and it works as expected. Thanks for the fast bug-fix!
[FAST-45] NPE when parsing empty mantissa and exponent elements Created:
14/May/12 Updated: 14/May/12 Resolved: 14/May/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.1.0
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.1.1
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
I'm using openfast-1.1.0 to load the FIX/FAST template file published by CME, it seems that
"ComposedDecimalParser" is having difficulties parsing a DECIMAL node the with following structure:
<decimal name="NetChgPrevDay" id="451"
presence="optional">
<exponent>
</exponent>
<mantissa>
</mantissa>
</decimal>
Below are the stack dump:
---------------------------------------------------Exception in thread "main" java.lang.NullPointerException
at
org.openfast.template.loader.ComposedDecimalParser.createComposedDecimal(ComposedDecimalParser.java:9
at org.openfast.template.loader.ComposedDecimalParser.parse(ComposedDecimalParser.java:61)
at org.openfast.template.loader.AbstractFieldParser.parse(AbstractFieldParser.java:51)
at org.openfast.template.loader.GroupParser.parseFields(GroupParser.java:80)
at org.openfast.template.loader.SequenceParser.parse(SequenceParser.java:52)
at org.openfast.template.loader.AbstractFieldParser.parse(AbstractFieldParser.java:51)
at org.openfast.template.loader.GroupParser.parseFields(GroupParser.java:80)
at org.openfast.template.loader.TemplateParser.parse(TemplateParser.java:46)
at org.openfast.template.loader.AbstractFieldParser.parse(AbstractFieldParser.java:51)
at org.openfast.template.loader.XMLMessageTemplateLoader.load(XMLMessageTemplateLoader.java:124)
at org.openfast.examples.consumer.FastMessageConsumer.<init>(FastMessageConsumer.java:36)
at org.openfast.examples.consumer.Main.main(Main.java:69)
However, the ComposedDecimalParser works correctly when the above node is changed to:
<decimal name="NetChgPrevDay" id="451"
presence="optional">
<exponent/>
<mantissa/>
</decimal>
[FAST-44] ArrayIndexOutOfBoundsException when encoding a sequence that
contains more fields than the template it resides in Created: 11/Apr/12 Updated: 11/Apr/12 Resolved:
11/Apr/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.2, 1.0.3
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.1.0
Priority:
Assignee:
Votes:
Critical
Jacob Northey
0
Description
java.lang.ArrayIndexOutOfBoundsException: 2
at org.openfast.BitVector.set(BitVector.java:61)
at org.openfast.BitVectorBuilder.set(BitVectorBuilder.java:31)
at org.openfast.template.operator.OperatorCodec.getValueToEncode(OperatorCodec.java:127)
at org.openfast.template.Scalar.encode(Scalar.java:146)
at org.openfast.template.Group.encode(Group.java:174)
at org.openfast.template.Sequence.encode(Sequence.java:177)
at org.openfast.template.Group.encode(Group.java:174)
at org.openfast.template.MessageTemplate.encode(MessageTemplate.java:97)
at org.openfast.codec.FastEncoder.encode(FastEncoder.java:48)
at org.openfast.MessageOutputStream.writeMessage(MessageOutputStream.java:66)
at org.openfast.MessageOutputStream.writeMessage(MessageOutputStream.java:52)
[FAST-43] inputStream.read returns -1, indicating end-of-file and doesn't throw
an Exception Created: 25/Mar/12 Updated: 11/Apr/12 Resolved: 11/Apr/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Types
1.0.2, 1.0.3
Type:
Reporter:
Resolution:
Labels:
Bug
ivan
Fixed
None
1.1.0
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
org.openfast.template.type.codec.UnsignedInteger contains a method
public ScalarValue decode(InputStream in) {
long value = 0;
int byt;
try {
do
{ byt = in.read(); value = (value << 7) | (byt & 0x7f); }
while ((byt & 0x80) == 0);
} catch (IOException e)
{ throw new RuntimeException(e); }
return createValue(value);
}
it does not checks for eof condition (that return could be -1)
[FAST-42] Notify session is closed when abnormal counterparty initiated
disconnection occurs Created: 23/Jan/12 Updated: 23/Jan/12 Resolved: 23/Jan/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
None
Type:
Reporter:
Resolution:
Labels:
Improvement
Jacob Northey
Fixed
None
None
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
[FAST-41] Improve buffer creation performance using ThreadLocal Created:
23/Jan/12 Updated: 23/Jan/12 Resolved: 23/Jan/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
None
Type:
Reporter:
Resolution:
Labels:
Improvement
Jacob Northey
Fixed
None
1.3.0
Description
Patch submitted by Dieter Mayer at UniCredit.
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
[FAST-40] MulticastEndpoint connect method binds multicast socket to any ip
Created: 20/Dec/11 Updated: 11/Apr/12 Resolved: 11/Apr/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.2
Type:
Reporter:
Resolution:
Labels:
Bug
Stas Gromov
Fixed
None
1.1.0
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
MulticastEndpoint method connect creates MulticastSocket as
new MulticastSocket(port)
and so our connection will receive all messages received on that port.
should be
new MulticastSocket(new InetSocketAddress(group, port));
to listen packets just from this group and port.
Comments
Comment by Stas Gromov [ 20/Dec/11 ]
or... it can be optional in case we really want to listen to all messages on that port from all
multicast groups
[FAST-39] Some FAST implementations include a block size that OpenFAST
does not support Created: 25/Nov/11 Updated: 11/Apr/12 Resolved: 11/Apr/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Message Object Model
1.0.2
Type:
Reporter:
Resolution:
Labels:
Environment:
Improvement
Colin Crist
Fixed
None
N/A
1.0.3
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
I am not sure how non-standard this is but some FAST implementations include a block size in
the message that OpenFAST does not expect causing the codec to fail.
Below is what I have done to fix it in my local copy of the code.
I'm not sure how to handle configuration properties for the CODEC so I can make it switchable
- should it hang of the Context or elsewhere?
Index: FastDecoder.java
===================================================================
— FastDecoder.java (revision 232)
+++ FastDecoder.java (working copy)
@@ -41,6 +41,7 @@
}
public Message readMessage() {
+ TypeCodec.BIT_VECTOR.decode(in) ; // Discard block size.
BitVectorValue bitVectorValue = (BitVectorValue) TypeCodec.BIT_VECTOR.decode(in);
if (bitVectorValue == null) {
Comments
Comment by Jacob Northey [ 11/Apr/12 ]
There is a readMessage(int offset) method in FastDecoder which can be used to skip a nonFAST header or block length.
Additionally there is a MessageBlockReader interface that can be implemented and assigned to
a MessageInputStream.
Comment by Jacob Northey [ 11/Apr/12 ]
The FastDecoder.readMessage(int offset) method was added in 1.0.3.
[FAST-38] Buffer overflow in RecordingInputStream Created: 28/Oct/11
Updated:
28/Oct/11 Resolved: 28/Oct/11
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.0, 1.0.1
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.0.3
Priority:
Assignee:
Votes:
Major
Jacob Northey
0
Description
Hi!
I've discovered a bug in util.RecordingInputStream.java where buffer overflow is a almost
guarantee.
The method RecordingInputStream.read() reads from the underlying inputstream and stores the
read bytes into an array.
Unfortunately the array is fixed size at 1024 bytes and sometimes the amount of data exceeds
this.
Enclosed is a patch that will resize the array if it becomes full.
cheers
/Erik
Erik Svensson
Software Architect
Comments
Comment by Jacob Northey [ 28/Oct/11 ]
Committed Erik's patch.
[FAST-37] BigDecimal constructor for DecimalValue incorrectly sets the
exponent Created: 20/Oct/11 Updated: 20/Oct/11 Resolved: 20/Oct/11
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Types
1.0.0
Type:
Reporter:
Resolution:
Labels:
Bug
Glyn Walters
Fixed
None
Issue Links:
Duplicate
duplicates FAST-36 BigDecimals are not correctly interpr...
1.0.3
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
BigDecimal constructor sets instance variables for exponent as:
this.exponent = bigDecimal.scale();
The correct version should be inverted (as it is in the double constructor)
this.exponent = - bigDecimal.scale();
Resolved
[FAST-36] BigDecimals are not correctly interpreted in DecimalValue
constructor Created: 23/May/11 Updated: 20/Oct/11 Resolved: 20/Oct/11
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Types
1.0.1
Type:
Reporter:
Resolution:
Labels:
Environment:
Bug
Priority:
Paul Gribben
Assignee:
Fixed
Votes:
encoding
JRE 1.6, Windows and Linux
Issue Links:
Duplicate
is duplicated
by
1.0.3
FAST37
Major
Jacob Northey
0
BigDecimal constructor for
DecimalVal...
Resolved
Description
BigDecimal scale is mis-interpreted as being identical to exponent, resulting in incorrect
number conversion. According to java doc for BigDecimal the value is: unscaledValue × 10^(scale), whereas for openfast DecimalValue the value is: mantissa x 10^(exponent). Therefore
exponent = -bigDecimal.scale (and not bigDecimal.scale).
To test this, encode BigDecimal(2.4) then decode the byte stream and you'll get 240 (24 x 10^1,
but should be 24 x 10^(-1)).
[FAST-31] Openfast can not encode optional unicode string with 127 bytes
length Created: 19/Nov/10 Updated: 20/Oct/11 Resolved: 20/Oct/11
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Types
1.0.0
Type:
Reporter:
Resolution:
Labels:
Bug
Alexey Utkin
Fixed
None
1.0.3
Attachments:
Priority:
Assignee:
Votes:
Critical
Jacob Northey
0
bytevector.patch
Description
Test case:
public void testString127() throws Exception {
TypeCodec codec = new NullableUnicodeString();
byte[] b = new byte[127];
Arrays.fill(b, (byte)'1');
String expected = new String(b);
byte[] bytes = codec.encode(new StringValue(expected));
final ScalarValue value = codec.decode(new ByteArrayInputStream(bytes));
String actual = value.toString();
Assert.assertEquals(expected, actual);
}
Patch file is attached
[FAST-26] MulticastInputStream doesnot override public int available() throws
IOException from java.io.InputStream Created: 14/Apr/10 Updated: 11/Apr/12 Resolved: 11/Apr/12
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.0
Type:
Reporter:
Resolution:
Labels:
Environment:
Bug
Stas Gromov
Fixed
None
ANY
1.1.0
Priority:
Assignee:
Votes:
Major
Jacob Northey
0
Description
java.io.InputStream has a method implemented
public int available() throws IOException
{ return 0; }
and comments


<p> A subclass' implementation of this method may choose to throw an
{@link IOException}
if this input stream has been closed by

invoking the {@link #close()}
method.
*

<p> The {@code available}
method for class
{@code InputStream}
always

returns {@code 0}
.
*

<p> This method should be overridden by subclasses.
but org.openfast.session.multicast.MulticastInputStream
does not override this method.
Suppose to add such code to org.openfast.session.multicast.MulticastInputStream
@Override
public int available() throws IOException
{ System.out.println("!2"+socket.isConnected()); return buffer.remaining(); }
Comments
Comment by Stas Gromov [ 14/Apr/10 ]
I meen
@Override
public int available() throws IOException
{ return buffer.remaining(); }
))
wo
System.out.println("!2"+socket.isConnected());
Comment by Stas Gromov [ 14/Apr/10 ]
seems, i was wrong in implementation. buffer can be empty, while data is available in socket...
but it's better than nothing
Comment by Stas Gromov [ 20/Dec/11 ]
setSOtimeout will helps alot, but we are blocked by java version upgrade.
[FAST-14] SCP 1.1 Template Exchange decoder does not decode type references
Created: 28/Oct/08 Updated: 29/Oct/08 Resolved: 29/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.0
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
[FAST-13] SCP 1.1 Template Exchange decoder does not decode scalar ids Created:
28/Oct/08 Updated: 29/Oct/08 Resolved: 29/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Session Control Protocol
1.0.0
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
[FAST-11] ByteVector length namespace and id are not parsed when loading
templates from XML Created: 28/Oct/08 Updated: 29/Oct/08 Resolved: 29/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
1.0.0
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
[FAST-10] Message Template XML Serializer Created: 28/Oct/08 Updated: 28/Oct/08
Resolved:
28/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Message Object Model
None
Type:
Reporter:
Resolution:
Labels:
New Feature
Jacob Northey
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
Implement a basic XML serializer for serializing the OpenFAST MessageTemplate model
[FAST-9] Implement Delta Operator for Byte Vector and Unicode Strings Created:
26/Oct/08 Updated: 28/Oct/08 Resolved: 28/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
None
Type:
Reporter:
Resolution:
Labels:
Improvement
Jacob Northey
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Major
Jacob Northey
0
[FAST-8] SCP 1.1 Template Exchange fails due to Static Template Reference
decoding error Created: 24/Oct/08 Updated: 24/Oct/08 Resolved: 24/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Session Control Protocol
1.0.0
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Critical
Jacob Northey
0
Description
When a static template reference is being decoded, the current template is not updated in the
context. Any operators in the template referenced by the static template reference and using the
template dictionary scope are not encoded or decoded correctly.
In the Session Control Protocol, the following template is affected:
<template name="TemplateName">
<string name="Ns" charset="unicode"> <copy dictionary="template"/> </string>
<string name="Name" charset="unicode"/>
</template>
[FAST-7] GroupValue.isDefined should handle undefined fields correctly Created:
24/Oct/08 Updated: 24/Oct/08 Resolved: 24/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Message Object Model
1.0.0
Type:
Reporter:
Resolution:
Labels:
Environment:
Improvement
Minor
Priority:
Dale Wilson
Jacob Northey
Assignee:
Fixed
0
Votes:
None
WinXP SP3; JavaSE 1.5; OpenFAST from SVN trunk.
1.0.1
Description
A call to GroupValue.isDefined giving a field name that is not mentioned in the template used to
encode/decode the message results in an IllegalArgumentException. The exception is misleading
because the field might be defined when other templates are used to transmit this particular
message type. isDefined() should simply return "false" if the field is not declared in the template
meaning the field is not included in this instance of the message.
The following stack trace shows an occurrence of this problem:
Exception in thread "main" java.lang.IllegalArgumentException: The field "MDEntryID" does not
exist in group MDEntries
at org.openfast.GroupValue.getValue(GroupValue.java:180)
at org.openfast.GroupValue.isDefined(GroupValue.java:329)
at
com.oci.trader.marketdata.MarketDataConsumer.processMDEntry(MarketDataConsumer.java:121)
<SNIP>
The field MDEntryID is defined for the Market Data Incremental Refresh message being decoded
here (see "FIX 4.4 with Errata 20030618 Volume 3" page 68, but this particular counterparty
doesn't this optional field so they omitted it from their template.
-------Work around:
private boolean fieldPresent(GroupValue groupValue, String fieldName)
{ return groupValue.getGroup().hasField(fieldName) && groupValue.isDefined(fieldName); }
[FAST-6] MulticastInputStream wors incorrectly Created: 01/Sep/08 Updated: 24/Oct/08 Resolved:
24/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
0.9.8
Type:
Reporter:
Resolution:
Labels:
Bug
Alexander Kosenkov
Fixed
None
1.0.0
Priority:
Assignee:
Votes:
Critical
Jacob Northey
0
Description
MulticastInputStream extends InputStream and incorrectly implements
public int read() {
...
return buffer.get();
}
It should be:
public int read() {
...
return buffer.get() & 0xFF; // convert int to byte
}
Comments
Comment by Alexander Kosenkov [ 01/Sep/08 ]
Without this fix, MulticastInputStream in unusable. It returns values like -63 which are
incorrectly treated as End Of Input by InputStream users
Comment by Jacob Northey [ 24/Oct/08 ]
This bug was fixed in the 1.0.0 version.
[FAST-5] Group containing single optional decimal with always present
exponent operator and optionally present mantissa operator does not create
presence map Created: 09/Jul/08 Updated: 24/Oct/08 Resolved: 24/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
None
Type:
Reporter:
Resolution:
Labels:
Bug
Jacob Northey
Fixed
None
1.0.0
Priority:
Assignee:
Votes:
Default
Jacob Northey
1
Description
Given the template below, a presence map should always be encoded due to the mantissa
operator requiring a presence map. However, the presence map is never encoded and the
mantissa is unable to decode the value properly.
<template>
<group name="grp">
<decimal name="dcml" presence="optional">
<exponent><delta/></exponent>
<mantissa><copy/></mantissa>
</decimal>
</group>
</template>
See FAST discussion at FPL Forums: http://fixprotocol.org/discuss/read/8e1d2cc9
[FAST-4] Session.error() discarding important debug info Created: 12/May/08
Updated:
24/Oct/08 Resolved: 24/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Session Control Protocol
0.9.8
Type:
Reporter:
Resolution:
Labels:
Bug
Christopher Helck
Fixed
None
1.0.1
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
If the ErrorCode is D9_TEMPLATE_NOT_REGISTERED then the original message is
discarded. Important information like the template id is lost. This makes finding the original
problem much harder. I don't understand why the original message is being replaced, but
perhaps the original message could be appended to the new one?
public void error(ErrorCode code, String message) {
if (code.equals(FastConstants.D9_TEMPLATE_NOT_REGISTERED))
{ code = SessionConstants.TEMPLATE_NOT_SUPPORTED; message = "Template Not
Supported"; }
protocol.onError(this, code, message);
errorHandler.error(code, message);
}
[FAST-3] Source Code distribution does not include pom.xml file. Created:
09/May/08 Updated: 24/Oct/08 Resolved: 24/Oct/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
None
0.9.8
Type:
Reporter:
Resolution:
Labels:
Bug
Christopher Helck
Fixed
None
1.0.0
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
The source distro does not include the maven files needed for building. Either pom.xml or
project.xml should be supplied. This was seen in the 0.9.8 release.
Comments
Comment by Christopher Helck [ 13/May/08 ]
The zip file on the download page does not contain the pom.xml nor many of the data files
needed for the unit tests. The actual source code from subversion seems perfectly fine and
builds. I suggest removing the tarballs from the download page, or fixing them.
[FAST-2] Errors serializing Messages Created: 23/Apr/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Message Object Model
0.9.7
Type:
Reporter:
Bug
Priority:
Markus Koller @ APR
Assignee:
Consulting
Fixed
Votes:
None
Using openfast head revision (pre 0.9.8)
trying to send Messages to JMS
Resolution:
Labels:
Environment:
Updated: 24/Oct/08 Resolved: 24/Oct/08
1.0.0
Default
Jacob Northey
0
Description
Serializing a Message I get NotSerializableExceptions for:


QName used by the MessageTemplate
DecimalConverter used by ComposedScalar Field (as well used by the
MessageTemplate)
As ComposedScalar can use any type of ComposedValueConverter (DecimalConverter
currently being the only one) the interface should probably be
Serializable.
Adding the Serializable interface to QName and ComposedValueConverter fixes the problem
for me.
(together with serialVersionUIDs for QName and DecimalConverter)
[FAST-1] DecimalValue precision Created: 04/Mar/08
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
OpenFAST
Message Object Model
0.9.6
Type:
Reporter:
Resolution:
Labels:
Bug
James Beilby
Fixed
None
Updated: 24/Oct/08 Resolved: 24/Oct/08
0.9.7
Priority:
Assignee:
Votes:
Default
Jacob Northey
0
Description
While the mantissa and exponent are maintained to full precision in transfer encoding, this
precision is lost on the receiver when a DecimalValue is converted to a BigDecimal via a
double:
public BigDecimal toBigDecimal()
{ return new BigDecimal(value); }
I believe this needs to be changed to:
public BigDecimal toBigDecimal()
{ return BigDecimal.valueOf(mantissa, -exponent); }
Generated at Sun Apr 30 15:37:50 UTC 2017 using JIRA 7.0.10#70120sha1:37e3d7a6fc4d580639533e7f7c232c925e554a6a.