newrelic-python-agent
newrelic-python-agent copied to clipboard
Got 'DatabaseTrace' object has no attribute 'sql_format' error
Got 'DatabaseTrace' object has no attribute 'sql_format' error
I'm using 7.10.0.175 with PostgreSQL
newrelic/api/database_trace.py in create_node at line 231
start_time=self.start_time,
end_time=self.end_time,
duration=self.duration,
exclusive=self.exclusive,
stack_trace=self.stack_trace,
sql_format=self.sql_format,
connect_params=self.connect_params,
cursor_params=self.cursor_params,
sql_parameters=self.sql_parameters,
execute_params=self.execute_params,
host=self.host,
I'm seeing the same issue since the upgrade to 7.12.0.176 (didn't see it with 7.10.0.175):
Traceback (most recent call last):
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 472, in thread_handler
raise exc_info[1]
File "/usr/src/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 38, in inner
response = await get_response(request)
File "/usr/src/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 233, in _get_response_async
response = await wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 435, in __call__
ret = await asyncio.wait_for(future, timeout=None)
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 442, in wait_for
return await fut
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/current_thread_executor.py", line 22, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/adapter_asgiref.py", line 27, in thread_handler_wrapper
return wrapped(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 476, in thread_handler
return func(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/framework_django.py", line 552, in wrapper
return wrapped(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/viewsets.py", line 125, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/component_djangorestframework.py", line 61, in _nr_wrapper_APIView_dispatch_
return wrapped(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/component_djangorestframework.py", line 68, in _handle_exception_wrapper
return wrapped(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/usr/src/app/apps/views/api.py", line 955, in get_packet
"value": DataSerializer(myoptions, many=True).data,
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/serializers.py", line 768, in data
ret = super().data
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/serializers.py", line 253, in data
self._data = self.to_representation(self.instance)
File "/usr/src/venv/lib/python3.9/site-packages/rest_framework/serializers.py", line 686, in to_representation
return [
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 280, in __iter__
self._fetch_all()
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/database_psycopg2.py", line 64, in execute
return super(CursorWrapper, self).execute(sql, parameters, *args,
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/database_dbapi2.py", line 37, in execute
return self.__wrapped__.execute(sql, parameters,
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/time_trace.py", line 186, in __exit__
self._complete_trace()
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/time_trace.py", line 494, in _complete_trace
node = self.create_node()
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/database_trace.py", line 231, in create_node
sql_format=self.sql_format,
AttributeError: 'DatabaseTrace' object has no attribute 'sql_format'
We received also such issue yesterday. newrelic==7.14.0.177
AttributeError: 'DatabaseTrace' object has no attribute 'sql_format'
File "asgiref/sync.py", line 472, in thread_handler
raise exc_info[1]
File "django/core/handlers/exception.py", line 38, in inner
response = await get_response(request)
File "django/core/handlers/base.py", line 233, in _get_response_async
response = await wrapped_callback(request, *callback_args, **callback_kwargs)
File "asgiref/sync.py", line 435, in __call__
ret = await asyncio.wait_for(future, timeout=None)
File "asyncio/tasks.py", line 455, in wait_for
return await fut
File "asgiref/current_thread_executor.py", line 22, in run
result = self.fn(*self.args, **self.kwargs)
File "newrelic/hooks/adapter_asgiref.py", line 27, in thread_handler_wrapper
return wrapped(*args, **kwargs)
File "asgiref/sync.py", line 476, in thread_handler
return func(*args, **kwargs)
File "newrelic/hooks/framework_django.py", line 552, in wrapper
return wrapped(*args, **kwargs)
File "django/contrib/auth/decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "newrelic/hooks/framework_django.py", line 946, in wrapper
return wrapped(*args, **kwargs)
File "django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
File "leadtool/views/lead_views.py", line 423, in post
self.object: Lead = self.get_object()
File "django/views/generic/detail.py", line 52, in get_object
obj = queryset.get()
File "django/db/models/query.py", line 431, in get
num = len(clone)
File "django/db/models/query.py", line 262, in __len__
self._fetch_all()
File "django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "django/db/models/query.py", line 69, in __iter__
obj = model_cls.from_db(db, init_list, row[model_fields_start:model_fields_end])
File "django/db/models/base.py", line 515, in from_db
new = cls(*values)
File "leadtool/models/leads.py", line 255, in __init__
self.__original_quote_request_status = self.get_quote_request_status()
File "leadtool/models/leads.py", line 545, in get_quote_request_status
self.supplier_opportunities.filter(status=SupplierOpportunity.StatusChoices.ASSIGNED).count()
File "django/db/models/query.py", line 412, in count
return self.query.get_count(using=self.db)
File "django/db/models/sql/query.py", line 528, in get_count
number = obj.get_aggregation(using, ['__count'])['__count']
File "django/db/models/sql/query.py", line 513, in get_aggregation
result = compiler.execute_sql(SINGLE)
File "django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "newrelic/hooks/database_psycopg2.py", line 64, in execute
return super(CursorWrapper, self).execute(sql, parameters, *args,
File "newrelic/hooks/database_dbapi2.py", line 37, in execute
return self.__wrapped__.execute(sql, parameters,
File "newrelic/api/time_trace.py", line 186, in __exit__
self._complete_trace()
File "newrelic/api/time_trace.py", line 494, in _complete_trace
node = self.create_node()
File "newrelic/api/database_trace.py", line 231, in create_node
sql_format=self.sql_format,
Still seeing this after the upgrade to 8.0.0.179:
Traceback (most recent call last):
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 472, in thread_handler
raise exc_info[1]
File "/usr/src/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 38, in inner
response = await get_response(request)
File "/usr/src/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 233, in _get_response_async
response = await wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 435, in __call__
ret = await asyncio.wait_for(future, timeout=None)
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 442, in wait_for
return await fut
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/current_thread_executor.py", line 22, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/adapter_asgiref.py", line 27, in thread_handler_wrapper
return wrapped(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 476, in thread_handler
return func(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/framework_django.py", line 552, in wrapper
return wrapped(*args, **kwargs)
File "/usr/src/app/apps/news/decorators.py", line 101, in _check
return Ts(request, *args, **kwargs)
File "/usr/src/app/apps/news/views/tournament_views.py", line 142, in tournament_player_scoreboard
player_tournaments = tournament.player_scoreboard_package()
File "/usr/src/app/apps/archive/models/tournament_models.py", line 424, in player_scoreboard_package
pt.rounds.append(pt_rounds.get(round__round=rnd_numb))
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 431, in get
num = len(clone)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 262, in __len__
self._fetch_all()
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/database_psycopg2.py", line 64, in execute
return super(CursorWrapper, self).execute(sql, parameters, *args,
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/database_dbapi2.py", line 37, in execute
return self.__wrapped__.execute(sql, parameters,
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/time_trace.py", line 186, in __exit__
self._complete_trace()
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/time_trace.py", line 494, in _complete_trace
node = self.create_node()
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/database_trace.py", line 231, in create_node
sql_format=self.sql_format,
AttributeError: 'DatabaseTrace' object has no attribute 'sql_format'
A fix for this issue was released two days ago, so this fix should be available in the next release (or it can be run directly from the main branch prior to the release)
Thanks for fixing this! Is there an ETA for a release that will include this fix?
This is still happening with 8.1.0.180. Here's the traceback:
Traceback (most recent call last):
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 472, in thread_handler
raise exc_info[1]
File "/usr/src/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 38, in inner
response = await get_response(request)
File "/usr/src/venv/lib/python3.9/site-packages/django/utils/deprecation.py", line 129, in __acall__
response = await sync_to_async(
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 435, in __call__
ret = await asyncio.wait_for(future, timeout=None)
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 442, in wait_for
return await fut
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/current_thread_executor.py", line 22, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/adapter_asgiref.py", line 27, in thread_handler_wrapper
return wrapped(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/asgiref/sync.py", line 476, in thread_handler
return func(*args, **kwargs)
File "/usr/src/app/apps/account/middleware.py", line 27, in process_request
account = Account.objects.get(user=request.user)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 431, in get
num = len(clone)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 262, in __len__
self._fetch_all()
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/src/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/database_psycopg2.py", line 64, in execute
return super(CursorWrapper, self).execute(sql, parameters, *args,
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/hooks/database_dbapi2.py", line 37, in execute
return self.__wrapped__.execute(sql, parameters,
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/time_trace.py", line 186, in __exit__
self._complete_trace()
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/time_trace.py", line 494, in _complete_trace
node = self.create_node()
File "/usr/src/venv/lib/python3.9/site-packages/newrelic/api/database_trace.py", line 232, in create_node
sql_format=self.sql_format,
AttributeError: 'DatabaseTrace' object has no attribute 'sql_format'