2016-04-19 14:50:51 |
Matt Fehrenbacher |
description |
We've been using oursql to interact with an Amazon Aurora database, which is supposed to be compatible with MySQL 5.6. We were getting repeated crashes, and have been able to find a minimal test case that will reproduce this crash.
We're on Aurora version 5.6.10a , Aurora parameter group default.aurora5.6, oursql 0.9.3.1, Python 2.7.10.
Here's the Python that will cause our server to crash, including the create table statement for the referenced table:
import oursql
import sys
# Table structure (can be empty):
#
# create table `compound_pk` (
# a int not null,
# b int not null,
# primary key(a, b)
# ) engine=InnoDB default charset=utf8;
query = """
select
case
when 1 = 1
then 1
end as a_case
from hopper.compound_pk c
where c.a = 1
group by c.b
"""
config = {
'host': '127.0.0.1',
'user': 'user',
'passwd': 'password',
'db': 'my_db',
'port': 3306
}
try:
conn = oursql.connect(**config)
cursor = conn.cursor(oursql.DictCursor)
cursor.execute(query)
except:
print "Whoops:", sys.exc_info()
And here's the output (in addition to the server crashing):
Whoops: (<class 'oursql.OperationalError'>, OperationalError(2013, 'Lost connection to MySQL server during query', None), <traceback object at 0x108f10320>) |
We've been using oursql to interact with an Amazon Aurora database, which is supposed to be compatible with MySQL 5.6. We were getting repeated crashes, and have been able to find a minimal test case that will reproduce this crash.
We're on Aurora version 5.6.10a , Aurora parameter group default.aurora5.6, oursql 0.9.3.1, Python 2.7.10.
Here's the Python that will cause our server to crash, including the create table statement for the referenced table:
import oursql
import sys
# Table structure (can be empty):
#
# create table `compound_pk` (
# a int not null,
# b int not null,
# primary key(a, b)
# ) engine=InnoDB default charset=utf8;
query = """
select
case
when 1 = 1
then 1
end as a_case
from compound_pk c
where c.a = 1
group by c.b
"""
config = {
'host': '127.0.0.1',
'user': 'user',
'passwd': 'password',
'db': 'my_db',
'port': 3306
}
try:
conn = oursql.connect(**config)
cursor = conn.cursor(oursql.DictCursor)
cursor.execute(query)
except:
print "Whoops:", sys.exc_info()
And here's the output (in addition to the server crashing):
Whoops: (<class 'oursql.OperationalError'>, OperationalError(2013, 'Lost connection to MySQL server during query', None), <traceback object at 0x108f10320>) |
|