This repository was archived by the owner on Dec 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
This repository was archived by the owner on Dec 8, 2023. It is now read-only.
Instrumentor breaks psycopg2 #33
Copy link
Copy link
Open
Description
Using Python 3.4 and psycopg2 2.6.1, my application is getting exceptions pretty clearly related to proxy types used by the instrumentor:
TypeError: argument 2 must be a connection, cursor or None
File "celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "CENSORED/__init__.py", line 77, in __call__
return TaskBase.__call__(self, *args, **kwargs)
File "celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "CENSORED/foo.py", line 238, in a_celery_task_function
db.session.commit()
File "sqlalchemy/orm/scoping.py", line 150, in do
return getattr(self.registry(), name)(*args, **kwargs)
File "sqlalchemy/orm/session.py", line 790, in commit
self.transaction.commit()
File "sqlalchemy/orm/session.py", line 392, in commit
self._prepare_impl()
File "sqlalchemy/orm/session.py", line 372, in _prepare_impl
self.session.flush()
File "sqlalchemy/orm/session.py", line 2004, in flush
self._flush(objects)
File "sqlalchemy/orm/session.py", line 2122, in _flush
transaction.rollback(_capture_exception=True)
File "sqlalchemy/util/langhelpers.py", line 60, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "sqlalchemy/util/compat.py", line 182, in reraise
raise value
File "sqlalchemy/orm/session.py", line 2086, in _flush
flush_context.execute()
File "sqlalchemy/orm/unitofwork.py", line 373, in execute
rec.execute(self)
File "sqlalchemy/orm/unitofwork.py", line 532, in execute
uow
File "sqlalchemy/orm/persistence.py", line 149, in save_obj
base_mapper, states, uowtransaction
File "sqlalchemy/orm/persistence.py", line 270, in _organize_states_for_save
states):
File "sqlalchemy/orm/persistence.py", line 1032, in _connections_for_states
connection = uowtransaction.transaction.connection(base_mapper)
File "sqlalchemy/orm/session.py", line 232, in connection
return self._connection_for_bind(bind, execution_options)
File "sqlalchemy/orm/session.py", line 323, in _connection_for_bind
conn = self._parent._connection_for_bind(bind, execution_options)
File "sqlalchemy/orm/session.py", line 334, in _connection_for_bind
conn = bind.contextual_connect()
File "sqlalchemy/engine/base.py", line 2039, in contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File "sqlalchemy/engine/base.py", line 2074, in _wrap_pool_connect
return fn()
File "sqlalchemy/pool.py", line 376, in connect
return _ConnectionFairy._checkout(self)
File "sqlalchemy/pool.py", line 713, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "sqlalchemy/pool.py", line 480, in checkout
rec = pool._do_get()
File "sqlalchemy/pool.py", line 1060, in _do_get
self._dec_overflow()
File "sqlalchemy/util/langhelpers.py", line 60, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "sqlalchemy/util/compat.py", line 182, in reraise
raise value
File "sqlalchemy/pool.py", line 1057, in _do_get
return self._create_connection()
File "sqlalchemy/pool.py", line 323, in _create_connection
return _ConnectionRecord(self)
File "sqlalchemy/pool.py", line 455, in __init__
pool.dispatch.connect(self.connection, self)
File "sqlalchemy/event/attr.py", line 256, in __call__
fn(*args, **kw)
File "sqlalchemy/engine/strategies.py", line 156, in on_connect
do_on_connect(conn)
File "sqlalchemy/dialects/postgresql/psycopg2.py", line 668, in on_connect
fn(conn)
File "sqlalchemy/dialects/postgresql/psycopg2.py", line 632, in on_connect
extras.register_uuid(None, conn)
File "psycopg2/extras.py", line 487, in register_uuid
_ext.register_type(_ext.UUID, conn_or_curs)
They don't happen w/o Librato instrumentor enabled.
Details of relevant packages used:
amqp==1.4.6
anyjson==0.3.3
billiard==3.3.0.20
blinker==1.4
celery==3.1.18
Flask==0.10.1
Flask-SQLAlchemy==2.0
gevent==1.1b3
greenlet==0.4.9
itsdangerous==0.24
Jinja2==2.8
kombu==3.0.26
librato-metrics==0.8.6
MarkupSafe==0.23
psycopg2==2.6.1
pytz==2015.4
raven==5.7.2
redis==2.10.3
requests==2.7.0
six==1.10.0
SQLAlchemy==1.0.8
statsd==3.2.1
Werkzeug==0.10.4
-e git+git://github.com/librato/librato-python-web.git@6a2f927c39e5eb30e3a2a0d45670adfa4aa8fa44#egg=librato-python-web
spoonwaddle and cpdean
Metadata
Metadata
Assignees
Labels
No labels