Skip to content

Commit dbd639f

Browse files
Actually return last batch result like grpc
1 parent 888861a commit dbd639f

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -290,16 +290,12 @@ def export(
290290
export_result = MetricExportResult.SUCCESS
291291

292292
for split_metrics_data in split_metrics_batches:
293-
batch_result = self._export_with_retries(
293+
export_result = self._export_with_retries(
294294
split_metrics_data.SerializeToString(),
295295
deadline_sec,
296296
)
297297

298-
if batch_result == MetricExportResult.FAILURE:
299-
# If any batch fails, return failure immediately
300-
return MetricExportResult.FAILURE
301-
302-
# Return SUCCESS only if all batches succeeded
298+
# Return export result of the last batch, like gRPC exporter
303299
return export_result
304300

305301
def _split_metrics_data(

exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -918,6 +918,8 @@ def test_export_retries_with_batching_failure_first(
918918
mock_export.side_effect = [
919919
# Non-retryable
920920
MagicMock(ok=False, status_code=400, reason="bad request"),
921+
MagicMock(ok=True),
922+
MagicMock(ok=True),
921923
]
922924
mock_encode_metrics.return_value = pb2.MetricsData(
923925
resource_metrics=[
@@ -965,8 +967,8 @@ def test_export_retries_with_batching_failure_first(
965967

966968
exporter = OTLPMetricExporter(max_export_batch_size=2)
967969
result = exporter.export("foo")
968-
self.assertEqual(result, MetricExportResult.FAILURE)
969-
self.assertEqual(mock_export.call_count, 1)
970+
self.assertEqual(result, MetricExportResult.SUCCESS)
971+
self.assertEqual(mock_export.call_count, 2)
970972
mock_export.assert_has_calls(
971973
[
972974
call(batch_1.SerializeToString(), 10),

0 commit comments

Comments
 (0)