Closed
@skuruppu

Description

I have seen a few reports of warning messages polluting error logs.

Environment details

  1. Specify the API at the beginning of the title. For example, "BigQuery: ...").
    Spanner
  2. OS type and version: Linux but version unknown
  3. Java version: Unknown
  4. spanner version(s): 1.43.0

Steps to reproduce

I haven't reproduced this yet but I suspect this happens when an error occurs during ResumableStreamIterator.computeNext(). The trace span is ended with TraceUtil.endSpanWithFailure(span, e) but then when the stream iterator is closed, the code attempts to end the span again.

Stack trace

WARNING: <span:26a180bf406e2db9, parent:4479af252f884e07, trace:842cc1d5df736326, mask:ffffffff98000080, name:CloudSpannerOperation.ExecuteQuery>: OVERKILLED
java.lang.IllegalStateException: refCount dropped below zero
	at com.google.tracing.TraceContext.unRef(TraceContext.java:799)
	at com.google.perftools.opencensus.trace.SpanImpl.end(SpanImpl.java:237)
	at io.opencensus.trace.Span.end(Span.java:244)
	at com.google.cloud.spanner.AbstractResultSet$ResumableStreamIterator.close(AbstractResultSet.java:850)
	at com.google.cloud.spanner.AbstractResultSet$GrpcValueIterator.close(AbstractResultSet.java:285)
	at com.google.cloud.spanner.AbstractResultSet$GrpcResultSet.close(AbstractResultSet.java:133)
	at com.google.cloud.spanner.AbstractResultSet$GrpcResultSet.yieldError(AbstractResultSet.java:144)
	at com.google.cloud.spanner.AbstractResultSet$GrpcResultSet.next(AbstractResultSet.java:121)
	at com.google.cloud.spanner.ForwardingResultSet.next(ForwardingResultSet.java:47)
	at com.google.cloud.spanner.SessionPool$AutoClosingReadContext$1.internalNext(SessionPool.java:151)
	at com.google.cloud.spanner.SessionPool$AutoClosingReadContext$1.next(SessionPool.java:141)