Igniters, As you probably know, we are working on a new protocol for thin client. It would allow users to create integrations with other languages and platforms (e.g. Go, R, etc). This protocol should be simple enough, otherwise no-one would ever implement anything on top of it.
There is a problem with binary object metadata. Currently when we serialize objects we check if any new metadata is available, and if yes - we push it to the cluster before serialization is finished. This way we always have metadata for all objects in the cluster. Metadata allow us to implement certain features - introspection (usability) and performance (so called "compact footer" optimization). Bad thing is that metadata management would make client implementation much more complex. I feel that in some cases clients might decide not to implement metadata management for the sake of simplicity. Technically this is very easy - just disable "compactFooter" optimization and write field IDs during serialization. But I remember that there were some ideas to deprecate "compactFooter=false" at all. My question is: are fine with idea that objects without metadata will be normal case in Ignite? Vladimir.