Comments (5)
Can you give more information on the problem you see and why you are offering to add sleeping to the client code?
from webscalesql-5.6.
This only affects Mac but not Linux. It looks like the packet is not available yet before the sleep. If the sleep is removed, read_change_user_result()
will return packet_error
and the script will fail to connect to the mysql server with error `Lost connection to MySQL server at 'reading authorization packet', system error: 35.
Adding a sleep is only a temporary fix. A more stable fix is needed for this issue.
from webscalesql-5.6.
The same issue on OSX for mysql/mysqli. PDO connects normally.
from webscalesql-5.6.
The source of the bad read and error ultimately comes from here: https://github.com/webscalesql/webscalesql-5.6/blob/75b113fadf6dc9aabfedad559fec7181f03e7ad2/vio/viosocket.c#L125-L131
That block was added as part of the async mysql diff, and doesn't exist upstream. It also looks very wrong to me. My understanding of the surrounding loop is that it attempts to read from a socket, maybe getting some data, and then waiting until more data is available. This process seems like it should be the same whether the socket is blocking or not (and HHVM tends to have nonblocking sockets here, since it sets timeouts in the mysql/mysqli extensions, which cause webscalesql to mark the socket as nonblocking, since the timeout logic is done in vio_socket_io_wait
I think). In particular, nonblocking sockets seem more likely to not have data available and need to go into vio_socket_io_wait
.
But it's unclear why this seems to mostly (only?) affect OS X...
In any event, that block looks wrong, should it be removed? cc @steaphangreene who wrote it, @chipturner and @darnaut who had some discussion about a close bit of code in viosocket.c
on https://reviews.facebook.net/D17031
from webscalesql-5.6.
Just proposed https://reviews.facebook.net/D46023 to fix this.
from webscalesql-5.6.
Related Issues (20)
- Can't complete full build WITHOUT_SERVER: cannot find -lsemisync_slave_client HOT 1
- mysql_com.h uses C_MODE_START/C_MODE_END without including a definition HOT 2
- Look into removing extra object counting in the server
- Docs/INFO_SRC should probably not be in the repo HOT 2
- Gitignore file very incomplete HOT 2
- Build error HOT 4
- Compilation failure caused by missing libedit-dev HOT 4
- Please consider upstreaming async mysql code HOT 5
- mysqld doesn't completely shutdown HOT 2
- libedit/readline compatibility HOT 5
- Segmentation fault in webscalesqlclient HOT 2
- install on ubuntu 14.04 error HOT 1
- innodb_doublewrite may leave a dangling mysqld process with locked ibdata HOT 3
- -DENABLE_DOWNLOADS=1 -DWITH_PERFORMANCE_SCHEMA=ON results in a test build failure
- innodb_cmp_per_index test failure with --innodb-log-compressed-pages=1 --innodb-compression-level=9
- An innodb_stress test failure may result in gigabyte-sized logs
- webscalesql-5.6 Truck Factor HOT 1
- main.max_statement_time test not stable on loaded machines, upstream fixes should be backported
- Enum Empty Issues HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webscalesql-5.6.