GithubHelp home page GithubHelp logo

Comments (2)

donmendelson avatar donmendelson commented on June 18, 2024

Added enum value is not explicitly mentioned in section 5 of the spec. However, the metadata provides for versioning of enum values, just as it provides for versioning of fields. The schema entity <validValue> has sinceVersion attribute to tell in which schema version the enum value was added.

sinceVersion - Documents the version of a schema in which a value was added

There is no problem going from old producer to new consumer. However, if the producer is of a later version than the consumer, and it sends a newly added enum value, then the consumer will consider it an invalid value.

I would expect the decoder to pass the exception up to the application layer for appropriate handling. For example, if OrdType value J=Market If Touched is added to a schema, and the consumer does not recognize it, then the application should return an order rejection with reason order type not supported, even if it does not know what "J" represents. Note that this is not strictly a versioning problem, however. It should have the same exception handling even if "J" was never added to the enum but was sent in error.

from fix-simple-binary-encoding.

adkapur avatar adkapur commented on June 18, 2024

Hi Don,

A couple of questions regarding this particular statement --> "A repeating group may be added, but only after existing groups and if there are no subsequent variable data elements at the end of the message"

a) Does this rule apply to individual fields as well described in this statement? --> "Fields may be added to either the root of a message or to a repeating group, but in each case, they must be appended to end of a block". Couldn't individual fields be added to the root of a message regardless of whether there are variable data elements at the end of a message?

b) What happens if we add a repeating group after existing groups and there are variable data elements at the end of the message? Will this break compatibility and force all consumers to upgrade to the latest schema version?

from fix-simple-binary-encoding.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.