You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to formally suggest to disallow unsigned integers for istio.* protobuf namespace for the following reasons.
If we allow unsigned integers, people inevitably will use mismatched signed and unsigned types for the same concept, such as network port. It leads to undefined behavior in different languages like C/C++/Java.
istio attributes only support signed integer. Adding unsigned integer increase system complexity for no real benefit.
Istio namespace is mostly for configs. The workflow for config is like this: proto schema => documentation => human => yaml => tools => proto config. The critical step is human => yaml. It is very unlikely humans can reliably remember the data types. And mismatch types will confuse users in practice.
Many important systems, like Java, Stackdriver monitoring, don't support unsigned types at all. If we want to build a generic system, it is better to avoid this unnecessary risk.
Google have discouraged unsigned integers for over a decade and we have not seen much downside across wide range of products.
To avoid unnecessary complexity to the system, I think we should avoid unsigned type for istio namespace.
The text was updated successfully, but these errors were encountered:
I would like to formally suggest to disallow unsigned integers for istio.* protobuf namespace for the following reasons.
To avoid unnecessary complexity to the system, I think we should avoid unsigned type for istio namespace.
The text was updated successfully, but these errors were encountered: