{"push_id":729746645,"size":9,"distinct_size":9,"ref":"refs/heads/master","head":"6aed05ff129ebcd81f309b9699f2e98afd6ce51f","before":"8f1cce28ea1af810985968b9a136e29475b9cb4f","commits":[{"sha":"a891314f90aea95dde064d8909be2edca5e32f4c","author":{"email":"7ecde348ff9cda2c3ba69a0c4543365039d0d65b@fb.com","name":"Abhik Chatterjee"},"message":"ync mysql] Add simple call to QueryResult \"singleRowResult\"\n\nSummary: Implemented getOnlyRow function in lines of the php file\n\nTest Plan: Wrote a unit test\n\nReviewers: lins\n\nReviewed By: lins\n\nSubscribers: trunkagent, fbcode-common-diffs@, lins, yfeldblum, moa\n\nDifferential Revision: https://phabricator.fb.com/D2137355\n\nTasks: 5497272\n\nSignature: t1:2137355:1434060432:4082034c0c6b30bd6a8adacc38b4b16716000979","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/a891314f90aea95dde064d8909be2edca5e32f4c"},{"sha":"dd437bcc93844c1cc4d0de910b140df28fbae223","author":{"email":"25b9a073c47c93428e1261cf757b2769ea890d75@fb.com","name":"Kai Wang (Cold Storage)"},"message":"Add const to queryResult()\n\nSummary: It returns a const ref, so should be a const function.\n\nTest Plan: compiles\n\nReviewers: lins\n\nReviewed By: lins\n\nSubscribers: lins\n\nDifferential Revision: https://phabricator.fb.com/D2167664\n\nSignature: t1:2167664:1434595329:845144db6909301f97fce2eec2d6ad118a2979f4","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/dd437bcc93844c1cc4d0de910b140df28fbae223"},{"sha":"d67fa45bf984f41486c6557c300689a8c8e3b358","author":{"email":"7cdb1d50f63bddd32e3d85e644d0b9742894e517@fb.com","name":"Raheel Shahzad"},"message":"Convert pthread_setname_np to folly::setThreadName\n\nTest Plan: Unit Test & build\n\nReviewers: dcapel, has, jacobl, kolmike, adek\n\nReviewed By: adek\n\nSubscribers: chaoyc, search-fbcode-diffs@, net-systems@, zeus-diffs@, dhruba, jcoens, unicorn-diffs@, ldbrandy, apollo-diffs@, logdevice-diffs@, lins, yzhan, cgrigoruta, adek\n\nDifferential Revision: https://phabricator.fb.com/D2188514\n\nSignature: t1:2188514:1435266156:7d6dcacee749fd5c0f4303977a283b4faa40a16b","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/d67fa45bf984f41486c6557c300689a8c8e3b358"},{"sha":"3f9b71b925591d9721ce25f27ef85667dedb990e","author":{"email":"acc8fc51de3428feca4651aeb2ec44ef1dcb8720@fb.com","name":"Hannes Roth"},"message":"(Squangle) Remove workaround\n\nSummary:\nIs this still necessary? Maybe it was a bug in some version of Clang we\nhad.\n\nTest Plan: I ran all the tests, they all passed.\n\nReviewers: lins\n\nReviewed By: lins\n\nSubscribers: trunkagent, lins\n\nDifferential Revision: https://phabricator.fb.com/D2191396\n\nTasks: 6120972\n\nSignature: t1:2191396:1435254884:9955e0f409411ab4ba7a42010296a3edc997be07","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/3f9b71b925591d9721ce25f27ef85667dedb990e"},{"sha":"70eb56d1513ca416ec09270a6849f51bdb0ec49f","author":{"email":"7cab56015bfaf19b4598c2d72093346d2038824c@fb.com","name":"Adriana Liborio Fernandes Lins"},"message":"Improve DBEventLogger to get more data Squangle\n\nSummary:\nThis remodels how to interact with DBEventLogger, now it became a template\nand for Squangle it will receive a pair of ConnectionKey and context data.\nBut more information can be added.\n\nWith this extra data, this diff adds\n\n - tier_name for when in Async Mysql and passing DbLocator\n - db_hostname + mysql_hostname (When mysql is being proxied they may diverge and to keep consistent with the data we current have, using db_hostname)\n - db_ip\n\nAny additional information can be added to\n`ConnectionOperation` (used for Connect events) and then moved to\n`Connection` (used for query events).\n\nSome users don't set ConnectionParams fields for DatabaseHostname and EndpointHostname, thus we don't always have a hostname for the db, but we always have the IP. Since we don't want any DNS lookups, we are not doing any. If the data isn't given we will leave for a post-processing to deal with it.\n\nTest Plan:\nptail -f perfpipe_dbclient_api_query\n\nRunning tao, squangle and olddb tests with asan\n\nBad formatted data, in case anyone wants to see\nP19899582\n\nCompiling HHVM\n\nReviewers: anca, chip\n\nReviewed By: chip\n\nSubscribers: trunkagent, fbcode-common-diffs@, anca, lins, yfeldblum, chaoc\n\nDifferential Revision: https://phabricator.fb.com/D2194586\n\nSignature: t1:2194586:1435707740:569ade1733f23e2393b145288db5f9a68a681e89","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/70eb56d1513ca416ec09270a6849f51bdb0ec49f"},{"sha":"d46e2c6171cc07aa29c4bfc83e8a484b4e0ffc27","author":{"email":"893dbd76e593568835be617fd0787325473d8046@fb.com","name":"Anca Agape"},"message":"Support for enabling SSL in squangle by setting SSL_CTX\n\nSummary:\nExposed setting an SSL_CTX to be used for the connection. Setting a\nSSLContext is enough to enable the use of SSL for that connection.\nPrefered to request a folly::SSLContext instead of a raw SSL_CTX\nas it will insure the openssl thread library is correctly initialized (\ndone in folly::SSLContext constructor).\n\nTest Plan:\nSetting SSL on and querying different databases\n\nReviewers: lins, chip\n\nReviewed By: lins, chip\n\nSubscribers: fbcode-common-diffs@, ssl-diffs@, lins, yfeldblum, santoshb\n\nDifferential Revision: https://phabricator.fb.com/D2128498\n\nSignature: t1:2128498:1433455485:d9de3a35680e17c1c2c199734ebf158ebab0264b","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/d46e2c6171cc07aa29c4bfc83e8a484b4e0ffc27"},{"sha":"648e265c7fc5b4f072e9268f7d68ed37a296d470","author":{"email":"96dda2ede3db667f3c67bd1820d8a2482ad07b78@fb.com","name":"Jiachuan Wang"},"message":"Add \"last successful query\" timestamp to MysqlConnectionHolder\n\nSummary: Add \"last successful query\" timestamp to MysqlConnectionHolder\n\nTest Plan: when the query execute successfully set timestamp for the MysqlConnectionHolder\n\nReviewers: chip, lins\n\nReviewed By: lins\n\nSubscribers: fbcode-common-diffs@, yfeldblum, lins\n\nDifferential Revision: https://phabricator.fb.com/D2200716\n\nTasks: 7519450\n\nSignature: t1:2200716:1435796475:209eabbd0011c5fc2e3cccaa4bf13a19933c209e","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/648e265c7fc5b4f072e9268f7d68ed37a296d470"},{"sha":"88c7d6f9fa5ffe34ed38ae721e166af781d685da","author":{"email":"7cab56015bfaf19b4598c2d72093346d2038824c@fb.com","name":"Adriana Liborio Fernandes Lins"},"message":"Fix draining race condition\n\nSummary:\nThis is showing up in stress tests. So the locking here was a bit wrong, we\nneed to have the conditional variable locking the mutex that changes\nvalues related to the condition. The race condition was:\n\n          Thread 1                     Thread 2\n     0:                         check value - return false\n     1: decrement value\n     2: notify_one()\n     3:                         only now starts listening to notify\n\nThis happened because instead of locking counter_mutex_, it was locking\nthe pending_operations_mutex_.\nI'm renaming them to make more clear what they do.\n\nTest Plan: Stress tested until no timeouts anymore\n\nReviewers: anca\n\nReviewed By: anca\n\nSubscribers: anca, lins\n\nDifferential Revision: https://phabricator.fb.com/D2243455\n\nTasks: 7426756\n\nSignature: t1:2243455:1436917848:a87c39d2bb38f53f11345f0cf1a2c4938629ecd9","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/88c7d6f9fa5ffe34ed38ae721e166af781d685da"},{"sha":"6aed05ff129ebcd81f309b9699f2e98afd6ce51f","author":{"email":"7cab56015bfaf19b4598c2d72093346d2038824c@fb.com","name":"Adriana Liborio Fernandes Lins"},"message":"Improve visibility of operation timings in the client\n\nSummary:\nThis adds last activity in the connection, the internal IO loop average\nthis is measured by EventBase) and average delay after scheduling a\ncallback.\nI've changed lastSuccessfulQuery to lastActivity to simplify and have it\nbeing the \"connect time\" too. I'm only updating it in Success cases\n(successfully queried and connected) even though invalid SQL queries\nalso reset the idle time.\nI'm exposing the stats data in the result so we have the context of that\noperation. In order to expose it to PHP, I had to add to\nAsyncMysqlConnection a ConnectResult that holds the operation pointer\n(for timings)\n\nThis data will be used to better investigate the scenarios:\n- You got a 2006? Here what to look for!\n  - When was the last activity in the connection? This timestamp is put\n    right when the query finishes, so IO thread is running it, if ASIO\n    gets it only long after that timestamp, then we know Asio is guilty\n    here.\n  - If last activity is valid, check the delay average\n- 2013? Let's check delay average and IO loop time avg.\n  - Start time wasn't set for the connection based on the C++ side (in\n    the extension there isn't a \"result\" for Connection, so PHP was\n    timing it on its side). I added to the AsyncMysqlConnection the\n    stats data so we can have accurate clear data in samples.\n  - For this error the delay average is the most important piece of\n    information. That and start time :)\n\nPHP side has the idle timeout of the user, so I'll make some checks in\nthat side. It's hard to understand the scenarios by just trying to repro\nit. I want this data in production so that I can use it to improve the\nerror messages/better diagnosis.\n\nExtension part will be in a separate diff\n\nTest Plan:\nTesting HHVM with the new values and checking if they make sense\n\nReviewers: chip, anca\n\nReviewed By: anca\n\nSubscribers: trunkagent, hphp-diffs@, fbcode-common-diffs@, jwatzman, anca, lins, jezng, yfeldblum, ebergen\n\nDifferential Revision: https://phabricator.fb.com/D2234578\n\nTasks: 7732151\n\nSignature: t1:2234578:1437108241:cea66b8f8fe15d64b1a8800da2022cb4a0d3b48d","distinct":true,"url":"https://api.github.com/repos/facebook/squangle/commits/6aed05ff129ebcd81f309b9699f2e98afd6ce51f"}]}