Skip to content

sentry_sdk/integrations/pymongo.py:151: BytesWarning: str() on a bytes instance #4782

@sentrivana

Description

@sentrivana

How do you use Sentry?

Sentry Saas (sentry.io)

Version

2.37.0

Steps to Reproduce

From Discord:

If run Python with the BytesWarning mode (using the -b flag), i see this messages in my logs. This probably highlights a bug. If "b'...........'" string should be there, it should probably be replaced with repr() for better readability. Otherwise, we should use decode here.
https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/pymongo.py#L151

Currently, I cannot provide a small code sample that reproduces this warning, but I can provide a part of stack trace that I generated.

  <.....>
  <.....>
  File "<***>/lib/python3.9/site-packages/pymongo/database.py", line 1005, in collection_names
    for result in self.list_collections(session=session, nameOnly=True, **kws)
  File "<***>/lib/python3.9/site-packages/pymongo/database.py", line 943, in list_collections
    return self.__client._retryable_read(_cmd, read_pref, session)
  File "<***>/lib/python3.9/site-packages/pymongo/mongo_client.py", line 1617, in _retryable_read
    return func(session, server, sock_info, secondary_ok)
  File "<***>/lib/python3.9/site-packages/pymongo/database.py", line 939, in _cmd
    return self._list_collections(
  File "<***>/lib/python3.9/site-packages/pymongo/database.py", line 880, in _list_collections
    cursor = self._command(
  File "<***>/lib/python3.9/site-packages/pymongo/database.py", line 703, in _command
    return sock_info.command(
  File "<***>/lib/python3.9/site-packages/pymongo/pool.py", line 740, in command
    return command(
  File "<***>/lib/python3.9/site-packages/pymongo/network.py", line 155, in command
    listeners.publish_command_start(
  File "<***>/lib/python3.9/site-packages/pymongo/monitoring.py", line 1412, in publish_command_start
    subscriber.started(event)
  File "<***>/lib/python3.9/site-packages/sentry_sdk/integrations/pymongo.py", line 151, in started
    data["operation_ids"]["session"] = str(lsid)

My versions:
Python 3.9.21
pymongo==3.13.0
sentry-sdk==2.37.0

Expected Result

No BytesWarning

Actual Result

BytesWarning

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions