Skip to content

Commit e915a7b

Browse files
committed
check if raw is present before calling close
Signed-off-by: Alex Boten <[email protected]>
1 parent 795fc01 commit e915a7b

File tree

3 files changed

+18
-9
lines changed
  • exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http

3 files changed

+18
-9
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,12 @@ def export(self, batch: Sequence[LogData]) -> LogExportResult:
167167
resp = self._export(serialized_data)
168168
# pylint: disable=no-else-return
169169
if resp.ok:
170-
resp.close()
170+
if resp.raw != None:
171+
resp.close()
171172
return LogExportResult.SUCCESS
172173
elif self._retryable(resp):
173-
resp.close()
174+
if resp.raw != None:
175+
resp.close()
174176
_logger.warning(
175177
"Transient error %s encountered while exporting logs batch, retrying in %ss.",
176178
resp.reason,
@@ -179,7 +181,8 @@ def export(self, batch: Sequence[LogData]) -> LogExportResult:
179181
sleep(delay)
180182
continue
181183
else:
182-
resp.close()
184+
if resp.raw != None:
185+
resp.close()
183186
_logger.error(
184187
"Failed to export logs batch code: %s, reason: %s",
185188
resp.status_code,

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,12 @@ def export(
206206
resp = self._export(serialized_data.SerializeToString())
207207
# pylint: disable=no-else-return
208208
if resp.ok:
209-
resp.close()
209+
if resp.raw != None:
210+
resp.close()
210211
return MetricExportResult.SUCCESS
211212
elif self._retryable(resp):
212-
resp.close()
213+
if resp.raw != None:
214+
resp.close()
213215
_logger.warning(
214216
"Transient error %s encountered while exporting metric batch, retrying in %ss.",
215217
resp.reason,
@@ -218,7 +220,8 @@ def export(
218220
sleep(delay)
219221
continue
220222
else:
221-
resp.close()
223+
if resp.raw != None:
224+
resp.close()
222225
_logger.error(
223226
"Failed to export batch code: %s, reason: %s",
224227
resp.status_code,

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,12 @@ def _export_serialized_spans(self, serialized_data):
159159
resp = self._export(serialized_data)
160160
# pylint: disable=no-else-return
161161
if resp.ok:
162-
resp.close()
162+
if resp.raw != None:
163+
resp.close()
163164
return SpanExportResult.SUCCESS
164165
elif self._retryable(resp):
165-
resp.close()
166+
if resp.raw != None:
167+
resp.close()
166168
_logger.warning(
167169
"Transient error %s encountered while exporting span batch, retrying in %ss.",
168170
resp.reason,
@@ -171,7 +173,8 @@ def _export_serialized_spans(self, serialized_data):
171173
sleep(delay)
172174
continue
173175
else:
174-
resp.close()
176+
if resp.raw != None:
177+
resp.close()
175178
_logger.error(
176179
"Failed to export batch code: %s, reason: %s",
177180
resp.status_code,

0 commit comments

Comments
 (0)