[FAST-49] Fields without operator write to global dictionary Created: 27/May/14 Updated: 13/Oct/16 |
|
| Status: | Open |
| Project: | OpenFAST |
| Component/s: | Operators |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Default |
| Reporter: | Felix Krull | Assignee: | Jacob Northey |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | dictionary, operator | ||
| Environment: |
RHEL 5.10, JDK 1.6.0_30, 64 BIT |
||
| Attachments: |
|
| Description |
|
I can be argued whether this is a bug or feature request, since the FAST specification is not 100% clear on this issue***. However, because the other Opensource implementation Quickfast is handing this as suggested, I decided to file this as a bug. The Eurex T7 EMDI feed defines e.g the field TransactTime with different/without operators: template TransactTime-Operator ProductStateChange none Now, in case you have a message order where (a) the field without operator precedes (b) a field with operator before the next reset, the decoded value for the operator field is wrong (contains now value a+b, whereas only b would be correct) Suggested change: fields without operator should not write into a dictionary, or in other words: only operators should update the dictionary.
|
| Comments |
| Comment by Felix Krull [ 28/May/14 ] |
|
Actually it's definitely a bug. In Scalar.java inside the "Public FieldValue decode" the check for "shouldStoreValue" is missing, i.e. instead if (!((getOperator() == Operator.DELTA) && (value == null))) it should be if (!((getOperator() == Operator.DELTA) && (value == null)) && (operator.shouldStoreValue(value))) { --> then Operator.NONE is (correctly) not updating the dictionary .... It may also fix other lingering bugs. rgds |
| Comment by Felix Krull [ 20/Jun/14 ] |
|
Is there any update fro this issue? Looking further into the source code it seems that the overall operator-handling may be inconsistent. Thanks! |
| Comment by Michael Kötter [ 30/Sep/16 ] |
|
Just signed on to say Thank You! |
| Comment by Alexander Piskarev [ 13/Oct/16 ] |
|
My thanks to you Felix! Eurex T7 4.0.2 RDI data is decoded well with your patch. |