Hi,

I have looked over a number of state dumps and other web service
responses over the last months and noticed their size and empty
objects.
None of our web service objects contain the "omitempty" tag in their
definition. That means the json objects generated contain the value
even if empty or equal to the zero value for the type[1]. Not
generating empty references would reduce the size of the objects that
we send. All K8s objects have the "omitempty" tag defined.
There is however an impact to the consumer of the data. If the
consumer does not check for object existence it could fail when we add
this tag.

There will be at least two impacts for YuniKorn itself: data transfer
size but also memory size when we prepare the objects. I have not
checked how big the impact is on our code, memory usage or the data
generated.
I have also not analysed yet if the web UI would be able to handle this change.

Before we start looking at this I would like some feedback from the
community on this proposal.
* Would this break integration that people have built?
* If we plan this for the YuniKorn 1.4 release, is that too soon to
prepare and check. Keeping in mind that 1.4 is planned for October?

Cheers,
Wilfred

[1] https://yourbasic.org/golang/default-zero-value/

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to