Working on #7023 to implement spec PR open-telemetry/opentelemetry-specification#4331, I realized other parts of our implementation are not aligned with the spec:
- SpanLimitsBuilder /
LogLimitsBuilder enforce that all the values are positive, when the spec (rightly) says that 0 is an acceptable value. LogLimitsBuilder has the same issues.
- BatchSpanProcessorBuilder /
BatchLogRecordProcessorBuilder don't enforce any limits around max queue size. This means its possible to set the queue size to zero or a negative value, which is not allowed in the spec. Not sure what the underlying queue implementations do with a zero or negative value, but we add checks for this. Also, the max export size must be less than or equal to the max queue size.
Working on #7023 to implement spec PR open-telemetry/opentelemetry-specification#4331, I realized other parts of our implementation are not aligned with the spec:
LogLimitsBuilderenforce that all the values are positive, when the spec (rightly) says that 0 is an acceptable value.LogLimitsBuilderhas the same issues.BatchLogRecordProcessorBuilderdon't enforce any limits around max queue size. This means its possible to set the queue size to zero or a negative value, which is not allowed in the spec. Not sure what the underlying queue implementations do with a zero or negative value, but we add checks for this. Also, the max export size must be less than or equal to the max queue size.