)]}'
{
  "log": [
    {
      "commit": "920959a655028e93409572f44535aaf6c5a398d7",
      "tree": "68492ff24bcd432859112a7db1b8fd38f3cfec11",
      "parents": [
        "c308d6989eb29eab51224975ebc154dbffe7499a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:56:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:56:35 2008 +0000"
      },
      "message": "Handle crashes/errors in the processor by sending back a serialized exception\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666407 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c308d6989eb29eab51224975ebc154dbffe7499a",
      "tree": "fb46dbe4a14cd6ab1b236201eaee98e377c7fb5a",
      "parents": [
        "60b50cf3850cf88d6f6c4b23703b03f134f50b73"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:56:25 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:56:25 2008 +0000"
      },
      "message": "Add thrift_server:stop/1 to stop a running server\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666405 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "60b50cf3850cf88d6f6c4b23703b03f134f50b73",
      "tree": "60ba625c0497345b2d3bdd65e72122b1eee12a0e",
      "parents": [
        "cc10b8a80cbd4b56f2953951b8c9485dbac21a24"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:59:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:59:10 2008 +0000"
      },
      "message": "Add stress test implementation for new Erlang\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666389 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cc10b8a80cbd4b56f2953951b8c9485dbac21a24",
      "tree": "44fbebd5416563d0a634c440c5f4ac3430518c42",
      "parents": [
        "c0cce962ac7f440427ab211bc965bde0490aa5da"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:59:02 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:59:02 2008 +0000"
      },
      "message": "Don\u0027t actually ignore all makefiles in .gitignore -- erl makefiles are important!\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666388 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c0cce962ac7f440427ab211bc965bde0490aa5da",
      "tree": "a162e95b3760e6b4d343012159975015b8d49e9a",
      "parents": [
        "90b4083d4cd468aa33bd441268c5069e5674da81"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:58 2008 +0000"
      },
      "message": "Oops - forgot to add the test/erl/Makefile to git\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666387 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "90b4083d4cd468aa33bd441268c5069e5674da81",
      "tree": "2c81965ffab771fd2186d4d780e1d793f2578f3c",
      "parents": [
        "57b4d9a4acc1dee83097a8149ce8acac48bb3da1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:52 2008 +0000"
      },
      "message": "Implement buffered transport\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666386 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "57b4d9a4acc1dee83097a8149ce8acac48bb3da1",
      "tree": "7d0649e7c0a1d67c7fed062d70d536ec5e0888fb",
      "parents": [
        "982c72de7b412c95de1878d0ab8b859977188ff0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:39 2008 +0000"
      },
      "message": "Test server for erlang\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666385 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "982c72de7b412c95de1878d0ab8b859977188ff0",
      "tree": "1898b85a73e35cd847548a4d2066ac91716a1496",
      "parents": [
        "eea8298ee36ea7e9a04b71e059915e8e89f2886f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:33 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:33 2008 +0000"
      },
      "message": "Properly handle exceptions\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666384 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "eea8298ee36ea7e9a04b71e059915e8e89f2886f",
      "tree": "3e7aadf4d86e137343208c3884412e81f31e22f1",
      "parents": [
        "e1a7998837787ef4065337cb326586dc6a3cd0bf"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:21 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:21 2008 +0000"
      },
      "message": "Fix reading of empty structs/arg lists\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666383 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e1a7998837787ef4065337cb326586dc6a3cd0bf",
      "tree": "54ae57584094113ab2c6e166f9aa3b9292510f2a",
      "parents": [
        "d93521b8807cc2431d4f2f873e366b4685a8d7cc"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:14 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:14 2008 +0000"
      },
      "message": "Fix responses for void functions\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666382 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d93521b8807cc2431d4f2f873e366b4685a8d7cc",
      "tree": "54f3f10461aff3ce413c034f77a08c71ac57391d",
      "parents": [
        "07a725f038acd66632502d54d3fa7129562365f4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:07 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:07 2008 +0000"
      },
      "message": "Make strings read as lists, not as binary\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666381 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "07a725f038acd66632502d54d3fa7129562365f4",
      "tree": "57477151e189b03995cad8102fb6feac367e120c",
      "parents": [
        "11300fe8726715e068c00aeb6b85421c73e0c01a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:59 2008 +0000"
      },
      "message": "Make signedness of integers explicit, and fix double read/write.\nAlso fix typo of i63 for i64\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666380 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "11300fe8726715e068c00aeb6b85421c73e0c01a",
      "tree": "f32343bb31266ea41ce361cb9feb692d4534906a",
      "parents": [
        "0c9b516506acf7074ac61f74525e1aaec3a35aa8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:52 2008 +0000"
      },
      "message": "Properly uncapitalize package names when referencing structs\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666379 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c9b516506acf7074ac61f74525e1aaec3a35aa8",
      "tree": "da950d6ebae8fd29f5063854bf451492f65335de",
      "parents": [
        "76f0d11dc90ceb910375042d23509e6bc0c3a6ec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:44 2008 +0000"
      },
      "message": "Fix generation when multiple services are in the same service definition\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666378 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "76f0d11dc90ceb910375042d23509e6bc0c3a6ec",
      "tree": "496d1e0415d41346fc04fca4d3dd1858f72a9d35",
      "parents": [
        "1c1ca74237bee683cf05eff54ee844156ad5e905"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:35 2008 +0000"
      },
      "message": "Generator for alternative erl bindings, as well as a few more changes to lib code.\n\n- Exceptions don\u0027t work yet, but it looks like everything else does.\n- Seems to work fine on our pricing service\n- Code could need some cleanup\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666377 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1c1ca74237bee683cf05eff54ee844156ad5e905",
      "tree": "a2ef3a427bf77d632386a554f1ace1d115a15cc1",
      "parents": [
        "ae756f4561047df087f7b1130d7e2b056b05e4b0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:21 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:21 2008 +0000"
      },
      "message": "Make processor use a service definition and handler to determine types\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666376 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ae756f4561047df087f7b1130d7e2b056b05e4b0",
      "tree": "51e80b484440e92225673c2b72fe6bb09b23ef29",
      "parents": [
        "ac549554f425cf2b28ff391c6fefeaa0fe703a32"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:11 2008 +0000"
      },
      "message": "Read and write of structs, lists, maps, and sets\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666375 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ac549554f425cf2b28ff391c6fefeaa0fe703a32",
      "tree": "a4b8528635476208cb14a7838665347aa59e22bd",
      "parents": [
        "176ed368a30623a204f04f056b49c7ab9805ee8d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:59 2008 +0000"
      },
      "message": "Initial commit of alternative erlang lib\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666374 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "176ed368a30623a204f04f056b49c7ab9805ee8d",
      "tree": "c4ac5951eb6a01d1d4f4bf2103d6e59bcec10ef9",
      "parents": [
        "a1e0a6f0d8c419447fcb95fcb914a9543677bb32"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:48 2008 +0000"
      },
      "message": "Avoid a filename collision on case-insensitive filesystems.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666373 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a1e0a6f0d8c419447fcb95fcb914a9543677bb32",
      "tree": "8ff8439f92769fd68ad2d2956e39f0ad61ef841b",
      "parents": [
        "87e9ac638241ca215846bb7643ef8af4ec6fe893"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:43 2008 +0000"
      },
      "message": "Don\u0027t generate a constants file if there are no constants (Java only).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666372 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "87e9ac638241ca215846bb7643ef8af4ec6fe893",
      "tree": "aa6298cfe6c425b536ed27ca4796417f9ef3fd32",
      "parents": [
        "5245f40b3e13c65ef6537a8121b74128a9e61ed4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:34 2008 +0000"
      },
      "message": "Fix a bug with initialization in JavaBean-style generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666371 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5245f40b3e13c65ef6537a8121b74128a9e61ed4",
      "tree": "297094b76c9545b46d94f1d68fc92d816787b983",
      "parents": [
        "9d866ac23165206b2bdc72054d61df8cfd2be1c9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:26 2008 +0000"
      },
      "message": "Print an error instead of segfaulting with a bad compiler command line.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666370 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9d866ac23165206b2bdc72054d61df8cfd2be1c9",
      "tree": "1c9bedadd08846fd9b972526a00b9c2ec60212f0",
      "parents": [
        "0babe40d74f05e7a23ca72b44d74493f3b2fc1a4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:19 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:19 2008 +0000"
      },
      "message": "Add newlines to some warning messages in the compiler.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666369 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0babe40d74f05e7a23ca72b44d74493f3b2fc1a4",
      "tree": "cf52afca489122b15fd699aed9eb6f9b8636b97c",
      "parents": [
        "13aea4600c7e170a0f178d72d7d68d3bddd7ef9a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:12 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:12 2008 +0000"
      },
      "message": "Fix some warnings caused by treating string literals as non-const.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666368 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "13aea4600c7e170a0f178d72d7d68d3bddd7ef9a",
      "tree": "241b7993b4aa3d9009be6405952d1e30cd98de77",
      "parents": [
        "d14f4f86d4a521dd2327789f9230ab239b1c342b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:04 2008 +0000"
      },
      "message": "Fix IPv6 on FreeBSD.\n\nOn FreeBSD (and possibly other BSDs), binding to ipv6 is restricted unless the\nsysctl net.inet6.ip6.v6only\u003d0 or the socket option IPV6_V6ONLY is turned off.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666367 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d14f4f86d4a521dd2327789f9230ab239b1c342b",
      "tree": "64b9ee47ac05fd26f09e7abc6e12d937bb20bbbc",
      "parents": [
        "c0092f973d79f309c1b89ae5e55ad8094b87763a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:54 2008 +0000"
      },
      "message": "Fix some indentation in the PHP generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666366 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c0092f973d79f309c1b89ae5e55ad8094b87763a",
      "tree": "3e9d66208cb0969f0d0b8e65c566f5f592adc092",
      "parents": [
        "b04df765b5c9fe1b8fb6ded0ed2750188278fe50"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:46 2008 +0000"
      },
      "message": "PHP Generator: Throw an exception on bad types.\n\nSummary:\nPreviously, if you set a structure field to, say, an int when it was\nsupposed to be a container (array) or struct (object), the serialization\ncode would either produce corrupt output (container) or cause a fatal\nerror (struct).  Now they both throw exceptions.\n\nReviewed By: mcslee\n\nTest Plan: Looked at generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666365 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b04df765b5c9fe1b8fb6ded0ed2750188278fe50",
      "tree": "f17c1607c606385270d72107893a7941fe8fa081",
      "parents": [
        "bcaa2ad0d6799066ed680f53051c469e4f58771b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:38 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:38 2008 +0000"
      },
      "message": "Change Python servers to use the standard logging module.\n\nPreviously Thrift was using `print` to report errors.  Thrift is infrastructure\nand should not impose its error logging mechanism on the apps that use it.  For\nexample, [elided] uses the logging module to send logs to a particular file.\n\nI ran the unit test.  That exercises most of the error handling routines.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666364 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bcaa2ad0d6799066ed680f53051c469e4f58771b",
      "tree": "4ad3270f088b90add3e0566d179f433adf50152c",
      "parents": [
        "c6dab613003c704f072542f39214f7af64fc0412"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:26 2008 +0000"
      },
      "message": "Python forking server should close connection in parent.\n\nWhen a function called by the forking python thrift server throws an\nexception the client will hang.  This happens because the parent of the\nforked process does not properly close the socket fd.\n\nUnder normal operation the server operation completes and returns a value to\nthe client.  However, when an exception occurs the \u0027end\u0027 message is never\nsent to the client so the client relies on a connection close to abort the\ncall (this is how the threading server works I believe).\n\nThis fails with the forking server because the parent process never closes\nthe socket fd.  The child has closed the fd at this point, but the\nconnection will not actually be closed until all open instances of the fd\nare closed. Since the client is waiting for a message and the server never\ncloses it the client is forced to wait until a read timeout occurs many\nminutes later.\n\nThis diff closes the parent\u0027s copy of the socket fd immediately after the\nfork occurs.\n\nI modified my load test server to throw an exception.  The client did not hang.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666363 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c6dab613003c704f072542f39214f7af64fc0412",
      "tree": "6cf0c32408e229af01a44f79023d29747ba6fde7",
      "parents": [
        "e3a64923e9620ebf99ff51ed5bfcb366e503c79e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:13 2008 +0000"
      },
      "message": "Thrift: Allow for alternative Mutex initializers.\n\nSummary:\nAdd an argument to the Mutex constructor.\nIt takes a pointer to a function that initializes the internal pthread_mutex_t.\nWe provide initializers for default pthread_mutex_t (which is our default),\nadaptive mutexes, and recursive mutexes.\n\nReviewed By: hzhao, psaab, mcslee\n\nTest Plan: Built libthrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666362 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e3a64923e9620ebf99ff51ed5bfcb366e503c79e",
      "tree": "2d7212edec32b8f46d3451ed6a0dc8c3fa5173f8",
      "parents": [
        "791a57f528e12829acd6d2950d50e65139080f49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:04 2008 +0000"
      },
      "message": "Fix locking bug in ThreadManager.\n\nIt looks like the scheduler waits on monitor_, but the worker notifies\nworkerMonitor_. Also, it does so out of critical section.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666361 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "791a57f528e12829acd6d2950d50e65139080f49",
      "tree": "b675279ceb1ff2397453e38b573b8e49bea4ba03",
      "parents": [
        "665365490f3e14cf3e40205f16d9dc9b5a833f1e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:56 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:56 2008 +0000"
      },
      "message": "FunctionRunner Utility Class.\n\nRuns arbitrary functions of form \u0027void(void)\u0027 and \u0027void*(void*)\u0027\nwithout need to create custom Runnable classes.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666360 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "665365490f3e14cf3e40205f16d9dc9b5a833f1e",
      "tree": "bc1906ec9842ade416bef56498df5360af96b272",
      "parents": [
        "af296954ea59369129b4129633e263fd65b503de"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:49 2008 +0000"
      },
      "message": "Forking Python server.\n\nThe python threading model does not provide concurrency for CPU-bound\nprocesses.  Process forking is the current recommended way of writing\nscalable Python servers.\n\nHarry Wang ran the [elided] backend with this change for 3 days and observed\nno errors.  The threaded backend caused unexplained lockups under this load\nafter 24 hours.\n\nI also ran a CPU-bound load test against this server with 32 concurrent\nclients.  It completed 5X faster than the threaded implementation.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666359 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af296954ea59369129b4129633e263fd65b503de",
      "tree": "b70c053a513508b8b8708d37622c79260744d2fc",
      "parents": [
        "c89e4de50947b91b658a952da4671033e333c9df"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:40 2008 +0000"
      },
      "message": "Add ProfilerRegisterThead() to PosixThread.\n\nAdds an #ifdef\u0027d block that calls ProfilerRegisterThread() if\n\"REGISTER_THREAD_GOOGLE_PERFTOOLS\" is set.  Apparently, this makes the\nGoogle perftools CPU profiler work much better on x86-64.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666358 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c89e4de50947b91b658a952da4671033e333c9df",
      "tree": "4b7d431be0260678ba883ed87652b88541b557c7",
      "parents": [
        "7dab93e23790f6a2d647ad5d4a7a34f24a464778"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:32 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:32 2008 +0000"
      },
      "message": "Make sure list\u003cbyte\u003e is List\u003cByte\u003e in Java gen\u0027d code.\n\nReviewed By: dreiss\n\nTest Plan: Generate list\u003cbyte\u003e into Java\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666357 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7dab93e23790f6a2d647ad5d4a7a34f24a464778",
      "tree": "1d496585a4a4b720e0fca148e7d4dac395f1ffe5",
      "parents": [
        "f9b5b12f4d7e86e9834dd39ae4393383cab809af"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 19:18:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 19:18:29 2008 +0000"
      },
      "message": "Fix a few copy-paste errors in TBufferTransports (not code).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665684 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f9b5b12f4d7e86e9834dd39ae4393383cab809af",
      "tree": "c7cf2ffbb2127c169bd6b0fbfdd072d25f298e0e",
      "parents": [
        "33fc5adb2be8568b1279414a7bb33043ac875a2c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:17:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:17:35 2008 +0000"
      },
      "message": "Tweak Java Makefile.ams to fix \"make distclean\".\n\nThe Java Makefile.ams assume the existence of ANT, but \"make distclean\"\nruns in the Java directories even if ENABLE_JAVA is off.  This change\nmakes the clean-local target handle the absence of ANT, fixing\n\"make distclean\".\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665683 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "33fc5adb2be8568b1279414a7bb33043ac875a2c",
      "tree": "a026501bad065d1b0cd05dfcf666c5d0772f3685",
      "parents": [
        "80097936bd1258f074a226396f9546d98d060964"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:17:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:17:34 2008 +0000"
      },
      "message": "Check for ptrdiff_t and fail if we don\u0027t have it.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665682 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "80097936bd1258f074a226396f9546d98d060964",
      "tree": "be8903db3543110e45d9ad056a19cb1bbff10d6c",
      "parents": [
        "47714584327a9a8240f28e8ef4493534a1d047ba"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:14:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:14:10 2008 +0000"
      },
      "message": "C++/TFramedTransport: Don\u0027t write an empty frame on flush.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665681 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "47714584327a9a8240f28e8ef4493534a1d047ba",
      "tree": "24bb6dd7e13bc8bf12964f0ee059ce0805c9e321",
      "parents": [
        "8df6c82aa751f65100b6b283dee205e251753aa8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 00:40:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 00:40:26 2008 +0000"
      },
      "message": "Fix a small logic error in TBufferedTransport::borrowSlow.\n\nWas using an unsigned int for a value that could be negative.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665680 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8df6c82aa751f65100b6b283dee205e251753aa8",
      "tree": "cd2646ab73b1e430ee18b168d9d53f858373709b",
      "parents": [
        "de59292f38e11e738a34c8bd2f722beb128c752e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun May 04 03:00:22 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun May 04 03:00:22 2008 +0000"
      },
      "message": "Switch md5 implementations.\n\nSpecifically, switch from the legally-ambiguous RSA implementation to\na zlib-licensed RFC-based implementation from SourceForge.\n\nGenerated some files with \"dense\" and made sure the output hadn\u0027t changed.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665679 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "de59292f38e11e738a34c8bd2f722beb128c752e",
      "tree": "7af7fb093b13a8bab87370d32064664a5d653033",
      "parents": [
        "f233e46a2dc705f017d5980baa6ad97922b72291"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 20:51:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 20:51:03 2008 +0000"
      },
      "message": "Remove an unnecessary include of boost/lexical_cast.hpp\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665678 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f233e46a2dc705f017d5980baa6ad97922b72291",
      "tree": "1ace8edd19a260f76b55e117ce615da8b1e200b9",
      "parents": [
        "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:21:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:21:04 2008 +0000"
      },
      "message": "Throw a transport exception if fstat fails.\n\nThis was failing on an NFS mount that was dying.\nBetter to fail hard then return uninitialized data.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665677 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a",
      "tree": "4c089343bfd96f8eddb653ec2f746a27d7a8ec9a",
      "parents": [
        "9a4edfa07fe0c09865015a15d26695823cd4a5fd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "message": "Memory-based transport rewrite.\n\nThe old implementations of the memory-based transports (TBufferedTransport,\nTFramedTransport, and TMemoryBuffer) shared very little code and all worked\na bit differently.  This change unifies them all as subclasses of a single\nbase (TBufferBase) which handles the fast-path operations (when requests\ncan be satisfied by the buffer) with inline methods (that will eventually\nbe made nonvirtual in the template branch) and calls out to pure-virutal\nmethods to handle full/empty buffers.  All of the buffer-management is now\ndone in terms of \"base and bound\" pointers rather than \"pos\" integers.\n\nThese classes were moved to TBufferTransports.{h,cpp}.  The .h is included\nin TTransportUtils for backwards compatibility.\n\nAlso added a \"TShortReadTransport\" to assist testing transports.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665676 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a4edfa07fe0c09865015a15d26695823cd4a5fd",
      "tree": "2707bc870fa22a62e47da6add1889fb083f9a4c1",
      "parents": [
        "372126079cb1e1bce5f186293980209a0e5629ec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:50 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:50 2008 +0000"
      },
      "message": "Properly handle constants of typedef\u0027ed types.\n\nAlso throw an error in the compiler if we cannot generate a constant for a\ndeclared const because of its type.  Added a test of this functionality in\nConstantsDemo.thrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665675 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "372126079cb1e1bce5f186293980209a0e5629ec",
      "tree": "1d8e865ad3452aa7bede447ca475080bff5e2b92",
      "parents": [
        "e39e9379119b99c2bad7613b8cd32c11482b9558"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:49 2008 +0000"
      },
      "message": "Eliminate an unused local variable.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665674 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e39e9379119b99c2bad7613b8cd32c11482b9558",
      "tree": "9247055d9281c2092c68306010ee529bc9022e52",
      "parents": [
        "64120001437477569524be5cfc1f5054b27ee807"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:48 2008 +0000"
      },
      "message": "Remove a few unnecessary includes to speed up compiles.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665673 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "64120001437477569524be5cfc1f5054b27ee807",
      "tree": "8efc3e3b991173c848e2332fa4b04890bd920191",
      "parents": [
        "74672b6719903332c0b5969fa0bffd12c13cf121"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:12:24 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:12:24 2008 +0000"
      },
      "message": "C++: Make write{Struct,Field}Begin take \"name\" as a const char*.\n\nSummary:\nThese methods previously took name as a const string\u0026.  While that way\nis more idiomatic, it requires a temporary string to be constructed\nwhen we pass a string literal (which is always).  This was significantly\nslowing down the serialization of field-heavy structures.  This change\nwill break ABI compatibility, but the serialization speed boost with\nno external API changes is too important to pass up.\n\nReviewed By: mcslee, aditya\n\nTest Plan: make check\n\nTracCamp Project: Thrift\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665672 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "74672b6719903332c0b5969fa0bffd12c13cf121",
      "tree": "72509ae7bcf1eae8792910b26a272211b659c5f4",
      "parents": [
        "051fbd4e57ff6818231754143d67fa59b9746a4d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:09:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:09:11 2008 +0000"
      },
      "message": "Java: In toString for generated structs, handle nulls.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665671 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "051fbd4e57ff6818231754143d67fa59b9746a4d",
      "tree": "b8fed64d4b7619c26d596c293f52efffa570ad1b",
      "parents": [
        "c17fe6b918015166d145936414a411589f03255c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:45 2008 +0000"
      },
      "message": "Thrift REST parsing allows null object params\n\nSummary: If JSON objects are passed in allow them to be null and don\u0027\\\u0027\u0027t default construct.\n\nReviewed By: dreiss\n\nTest Plan: Regenerate API code and test on object args.\n\nRevert: OK\n\nDiffCamp Revision: 12407\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665670 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c17fe6b918015166d145936414a411589f03255c",
      "tree": "0e3dcbd7c09377239ac4fc1d89efe674f4a22054",
      "parents": [
        "1997f10e282e5d188b65b45190ceb5a7e1f95072"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:43 2008 +0000"
      },
      "message": "THRIFT: Nonblcoking bug fix\n\ncalling decrement with -1 even though param is an integer. Just made it clean by adding a decrement function\n\nreviewed by: mcslee\nrevertable\ntest plan: ran on a test server\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665669 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1997f10e282e5d188b65b45190ceb5a7e1f95072",
      "tree": "cc11c24b4e175c91b2c806a5da35b374a1d3fbf5",
      "parents": [
        "81c7fc01bf4c8a832626dc711b0b35c086f018cb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:41 2008 +0000"
      },
      "message": "Persistent conns in TSocketPool\n\nSummary: Added support for persistent conns in TSocketPool\n         Also, added some util functions in TNonblockingServer\n\nReviewed By: mcslee\n\nTest Plan: Ran a test search cluster with these changes - open was only called once (I put fprintfs in open and close), after which the socket was reused\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11425\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665668 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "81c7fc01bf4c8a832626dc711b0b35c086f018cb",
      "tree": "a2f854a253241ff80fc30b3ae7980846108df650",
      "parents": [
        "bd3b168e633cedf903aebf106651dbccf7423089"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 28 02:51:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 28 02:51:44 2008 +0000"
      },
      "message": "Add a missing include to Benchmark.cpp to make it build on Mac OS.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665667 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bd3b168e633cedf903aebf106651dbccf7423089",
      "tree": "8fc1bcda2f5fa3227598d1d1ed80adb505d15a06",
      "parents": [
        "10a22bf1f66f4851fffc45ce5c377e5c9df13eed"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 28 02:42:28 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 28 02:42:28 2008 +0000"
      },
      "message": "Silence a valgrind complaint by matching \"delete[]\" with \"new[]\".\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665666 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "10a22bf1f66f4851fffc45ce5c377e5c9df13eed",
      "tree": "d3179d0c7d7ba7ae197b727249f50f5be4a67a41",
      "parents": [
        "c8abb0733fb400dee372fe6c05f9da9e9b26fc15"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:08:07 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:08:07 2008 +0000"
      },
      "message": "Version bump to 20080411.\n\nAlso updated CONTRIBUTORS and NEWS.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665665 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c8abb0733fb400dee372fe6c05f9da9e9b26fc15",
      "tree": "90fb652d651c7ebc017b627201ca9c4ea6233124",
      "parents": [
        "94058454a043a9d310a6ae027dabad59d5e98e1d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:08:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:08:01 2008 +0000"
      },
      "message": "Add build.xml, src, and LICENSE to EXTRA_DIST in lib/java/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665664 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "94058454a043a9d310a6ae027dabad59d5e98e1d",
      "tree": "97e01ca70b37f3874c7d3178a1e581a3ac9846c8",
      "parents": [
        "d80c06a1a1a4692affa620f505b783d3db2aec3c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:58 2008 +0000"
      },
      "message": "Add TBase64Utils.h and TJSONProto.h to lib/cpp/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665663 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d80c06a1a1a4692affa620f505b783d3db2aec3c",
      "tree": "b3f80c20718e9090e7f9f8773f79aef25f953293",
      "parents": [
        "13c4380347beb33113cd578b3413b0c31a6c7033"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:53 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:53 2008 +0000"
      },
      "message": "Add contrib to EXTRA_DIST so it goes into make dist.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665662 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "13c4380347beb33113cd578b3413b0c31a6c7033",
      "tree": "1530c5e21944a3f7f0f8fc70789553b23e1cdaf9",
      "parents": [
        "847a294b4e0ccdcf813b67954460e18dad6af54f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:49 2008 +0000"
      },
      "message": "Add a distdir rule to lib/erl/Makefile to make \"make check\" happy.\n\nThis is a gross hack because lib/erl isn\u0027t using automake,\nbut it is still in SUBDIRs.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665661 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "847a294b4e0ccdcf813b67954460e18dad6af54f",
      "tree": "1dfbf94ff309d4e53051524ae6864bf30a006b10",
      "parents": [
        "0ff213741caa8af6cf88196730ecb90ac9577282"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:43 2008 +0000"
      },
      "message": "Check for ssize_t in configure.ac.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665660 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0ff213741caa8af6cf88196730ecb90ac9577282",
      "tree": "75a1ddd20bb55fc85f77e9def1e40d44372d362d",
      "parents": [
        "2724c7a311dcab7422fd410444d89946ef759c0d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Apr 20 05:28:14 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Apr 20 05:28:14 2008 +0000"
      },
      "message": "Delete a crazy line from fb303\u0027s build.xml.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665659 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2724c7a311dcab7422fd410444d89946ef759c0d",
      "tree": "e87b6c1976cd1e2206db3a28ee3a2dc0db5dabc5",
      "parents": [
        "739cbe2b86c8b4a50f3305f7edefd142cad423f8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 18 17:48:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 18 17:48:03 2008 +0000"
      },
      "message": "Thrift: bug fix for interrupting server socket\n\nSummary: TServerSocket uses a socket pair to signal interruption to the select() call on its main server socket.  A bug in the code prevented the select() from listening for events on the internal socket pair; in fact, it was accidentally listening to file descriptor 1.\n\nReviewed By: aditya\n\nTest Plan: Use a server that supports a call to shutdown, which should signal an interrupt to the internal socket, and should result in an immediate and clean termination of the server socket thread.\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11932\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665658 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "739cbe2b86c8b4a50f3305f7edefd142cad423f8",
      "tree": "3c1a93c3326e66bfaf5cad0e74f32e4abafee4a5",
      "parents": [
        "a1771097520d57cd84dcd5e06df6e5e4fae5e5c1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 15 05:44:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 15 05:44:00 2008 +0000"
      },
      "message": "Add a few missing includes.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665657 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a1771097520d57cd84dcd5e06df6e5e4fae5e5c1",
      "tree": "f312bda2ff051b2bd42706a157b9f357422cb7ca",
      "parents": [
        "1d106ae6f00b25684d701cb38bd6e51e5220ddcb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:36:31 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:36:31 2008 +0000"
      },
      "message": "Fix Thrift.cpp for non-Linux systems.\n\n- Add some missing namespace qualifiers that are not used in the glibc case.\n- Move an include from Thrift.h to Thrift.cpp.\n- Include boost/lexical_cast.hpp in TJSONProtocol, in case we ever eliminate\n  it from our header files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665656 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1d106ae6f00b25684d701cb38bd6e51e5220ddcb",
      "tree": "969ee62b3702b326e763c16f9700fe57ab30506e",
      "parents": [
        "99f193766f915dced2980c5b5f76d53970218c52"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:00:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:00:06 2008 +0000"
      },
      "message": "Add simple \"check\" and \"distclean\" targets to lib/erl/Makefile.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665655 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "99f193766f915dced2980c5b5f76d53970218c52",
      "tree": "632dd40919bed98dd254d248265df0f738c568e1",
      "parents": [
        "2a9d6696d07e4bba22ec8d46629f95424c777f0c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:00:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:00:00 2008 +0000"
      },
      "message": "Remove some .pyc files from fb303.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665654 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2a9d6696d07e4bba22ec8d46629f95424c777f0c",
      "tree": "630bbaee33dbf70d2c07b7a1814a1e4883533331",
      "parents": [
        "e4dc4f53660c5386aaa8387f900164e262d9f11b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 21:59:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 21:59:45 2008 +0000"
      },
      "message": "Whitespace change for consistency.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665653 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e4dc4f53660c5386aaa8387f900164e262d9f11b",
      "tree": "6bf7119dd594723b29c39ac69c86f603024417ff",
      "parents": [
        "8361bf05659f9d1e458d76f8ee0657ea5e009b6a"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Apr 11 02:51:44 2008 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Apr 11 02:51:44 2008 +0000"
      },
      "message": "[thrift] Propogate exceptions from transports in thrift_protocol extension\n\nSummary: Otherwise, it will spin forever if your socket connection gets dropped\n  or otherwise times out.\nReviewed by: dbraginsky\nTest plan: Modified TSocket to always throw an exception on read() and tried\n  some service calls\nRevert: svn\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665652 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8361bf05659f9d1e458d76f8ee0657ea5e009b6a",
      "tree": "6c2387c2d329bef1a8694be964accdd59b5da207",
      "parents": [
        "b54deb1ca538b2f244225801408637aa8921d5db"
      ],
      "author": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 10 00:31:55 2008 +0000"
      },
      "committer": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 10 00:31:55 2008 +0000"
      },
      "message": "ocaml and haskell thrift clients now calling readMessageEnd\n\nSummary: I neglected to make the call to readMessageEnd if the client read an app exception in the haskell and ocaml code. Fixed now. The test cases for both now also compile with the new ThriftTest.thrift (though haskell\u0027s is still not doing anything but echoing  the args)\n\nReviewed By: dreiss\n\nTest Plan: Ran test code. This bug would actually never show up because there\u0027s only tbinaryprotocol implemented for these languages and that does nothing on a readMessageEnd.\n\nRevert: OK\n\nDiffCamp Revision: 11377\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665651 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b54deb1ca538b2f244225801408637aa8921d5db",
      "tree": "cc00c1782380639b01a010a3127f94e40a8f368a",
      "parents": [
        "1677ac9cc7550ea3eb4a4e46fbcf16790c2cb70c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 19:38:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 19:38:49 2008 +0000"
      },
      "message": "Fix a minor bug in TDebugProtocol and remove dead code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665650 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1677ac9cc7550ea3eb4a4e46fbcf16790c2cb70c",
      "tree": "0f9a9b18be398554c5d2a9096f475306e336a773",
      "parents": [
        "9b20955b2d4f651eaaec63736cb8aeaaed011be7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:27 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:27 2008 +0000"
      },
      "message": "Use poll instead of select in TServerSocket\n\nSummary: - select has a restricted max fd set size. While this should not be an issue in the normal case for\n           TServerSocket because it is started when the process starts, it could be a problem if someone wanted\n           to start a new server socket at a later point in time when socket values could be greater than max.\n\nReviewed By: dreiss\n\nTest Plan: - Compiled.\n           - Deployed search tier and made sure it could serve queries.\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11076\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665649 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9b20955b2d4f651eaaec63736cb8aeaaed011be7",
      "tree": "3bc7f4fda44427162df055907322093616dc11f4",
      "parents": [
        "22b1886dc7e4069e8cf838ebf7816a7ab697d091"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:05 2008 +0000"
      },
      "message": "Thrift error logging improvements\n\nSummary: - Move strerror_s to Thrift.h (was previously in TTransportException.h)\n         - Capture errno as soon as syscall returns failure and make it part of error message.\n         - Cleaned up several instances of the wrong error value being printed.\n         - More consistently pass the errno in the TTransport Exception\n         - Add more consistent error logging for the various transport failure modes\n\nReviewed By: dreiss\n\nTest Plan: - compile everything.\n           - test on search tier\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11077\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665648 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "22b1886dc7e4069e8cf838ebf7816a7ab697d091",
      "tree": "ebb1b2f7cf9861536ad836ee647253651247cf9f",
      "parents": [
        "1ffb61beaafedb160a971732e599d5c6aa67a646"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:25:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:25:45 2008 +0000"
      },
      "message": "use poll instead of select in TSocket\n\nSummary: fd_set, which we pass into select only supports  fds with values \u003c 1024.\n         fds can be \u003e\u003d 1024.\n         this can cause memory corruption\n\n         learning this stuff over 2 weeks of examining crazy core dumps is way more fun that reading it up somewhere.\n\n         poll takes an array of fds insetad, so your fd can be any int\n\nReviewed By: dreiss\n\nTest Plan: ran inside a test search cluster\n\nRevert: OK\n\nDiffCamp Revision: 10731\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665647 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1ffb61beaafedb160a971732e599d5c6aa67a646",
      "tree": "94838cab5fbde46ecb309827676b2c5c7fa14053",
      "parents": [
        "bbdb06eb24c3144d6f32f86c21910904013b89d9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:07:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:07:26 2008 +0000"
      },
      "message": "Fix a bug in TPipedTransport that broke pipelining.\n\nPreviously, TPipedTransport wrote it\u0027s full buffer to the \"pipe\" and\nfully reset its buffer on a readEnd.  This assumed that the buffer was\nfully read at that point.  This is not the case if requests are pipelined.\nThis change makes it only pipe out the portion that has been read and\ncopy the unread portion to the beginning of the buffer.\n\nAlso add a test that verifies the new functionality.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665646 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bbdb06eb24c3144d6f32f86c21910904013b89d9",
      "tree": "8f9fe26c8be9b629ed444c250e829c54aac02b87",
      "parents": [
        "e4db03d1106a3bb381942471be9fdce72f9e88b9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:07:14 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:07:14 2008 +0000"
      },
      "message": "Add thrift_dump.cpp to contrib.\n\nthrift_dump is a simple program for converting data from TBinaryProtocol to\nTDebugProtocol.  Throw it in contrib because it is pretty primitve.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665645 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e4db03d1106a3bb381942471be9fdce72f9e88b9",
      "tree": "a8634b7c89831cfe5e54e9bb297244974972b2c3",
      "parents": [
        "e0e3d1b232558bb0951a636a158ead8ec6773234"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:59 2008 +0000"
      },
      "message": "Add TFDTransport: a dead-simple wrapper around a file-descriptor.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665644 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e0e3d1b232558bb0951a636a158ead8ec6773234",
      "tree": "9e0979eb99e3226f73530ac9938e499521e049ea",
      "parents": [
        "642f2d3fbec475de8dac8a70cfd972982ed3267f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:45 2008 +0000"
      },
      "message": "Add TProtocolTap: a meta-protocol for \"wiretapping\".\n\nTProtocolTap is a protocol that passes reads through to a \"source\" protocol,\nbut mirrors them as writes to a \"sink\" protocol.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665643 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "642f2d3fbec475de8dac8a70cfd972982ed3267f",
      "tree": "c92dbfbf41c6b5e26494dbe76ab7778253293f13",
      "parents": [
        "a80f0fb47a43c83438150717a8246760642666f5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:32 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:32 2008 +0000"
      },
      "message": "TDebugProtocol: Add support for messages.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665642 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a80f0fb47a43c83438150717a8246760642666f5",
      "tree": "d1e5e7be0c95ada53a2546fbdeaaa5ea77e21cd7",
      "parents": [
        "2a4bfd6d0cdd32c9ade36a5c481b952f522f4fb2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:15 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:15 2008 +0000"
      },
      "message": "TDebugProtocol: Support a limit on string length.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665641 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2a4bfd6d0cdd32c9ade36a5c481b952f522f4fb2",
      "tree": "0453c0c01568a02daa57612738e1704e7d1cf6a8",
      "parents": [
        "c5c542538b7954c721fbd8007ebf0b482a86677a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 07 23:45:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 07 23:45:00 2008 +0000"
      },
      "message": "Clean up the unit tests.\n\n- Make Python tests cwd-agnostic.\n- Use boost::test.\n- Add a benchmark.\n- Use a library to clean up test/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665640 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c5c542538b7954c721fbd8007ebf0b482a86677a",
      "tree": "6dfec4b86d9795325235a6e313431b1dd3f6fb93",
      "parents": [
        "e9aab10d859b9ce06f2048f4522cfe69c1a4bd3a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 23:16:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 23:16:46 2008 +0000"
      },
      "message": "Fix some indentation.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665639 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e9aab10d859b9ce06f2048f4522cfe69c1a4bd3a",
      "tree": "74a4eb66d94cce710120e839ba3e240c6dcbff10",
      "parents": [
        "1dd17f5a530d93eb43a68020a630a3a5ef86f8c4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:53 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:53 2008 +0000"
      },
      "message": "Remove sigplanconf.cls and thrift.pdf.\n\nThe license for the cls file is unclear, and the formatted pdf file is\na derivative work.  Therefore, it is probably not safe for us to leave\nthese in the source tree once we go into Apache.\n\nAlso put a reference to the source of the cls file in thrift.tex.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665638 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1dd17f5a530d93eb43a68020a630a3a5ef86f8c4",
      "tree": "ce2ab7411e6ed7cac2c9a326680bf13375c52897",
      "parents": [
        "04c6267aba644441330376e0d8d51a7338476c7c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:45 2008 +0000"
      },
      "message": "Update OCamlMakefile to the latest version and include its README.\n\nUpdating isn\u0027t really necessary, I just wanted to be 100% that I had\nthe right version of the README for the version of the Makefile we had.\nThe main reason for including the README is to make the license clear.\n\nReviewed By: iproctor\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665637 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "04c6267aba644441330376e0d8d51a7338476c7c",
      "tree": "23ccbdcc633d150efd5acbee55e498d475847111",
      "parents": [
        "c631e98cad3f59565915c1cb10007ee61d960341"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:28 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:28 2008 +0000"
      },
      "message": "Squelch most Java 1.6 warnings.\n\nI actualy wasn\u0027t able to test this with Java 1.5.\nHopefully it doesn\u0027t break anything.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665636 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c631e98cad3f59565915c1cb10007ee61d960341",
      "tree": "7fb39869f8755fd0084ca09424a0df4bb764d1fb",
      "parents": [
        "99b000b48475efdfa68de26aeacd15cec01a81ca"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:10 2008 +0000"
      },
      "message": "Moved the java libraries from src to src/com/facebook/thrift.\n\nApparently this is what all the Java kids are doing these days.\nRan ant in lib/java and it built fine.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665635 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "99b000b48475efdfa68de26aeacd15cec01a81ca",
      "tree": "81fa04ee523efd324dea9bbfd6c9039103026854",
      "parents": [
        "3095aa1843310afc2427fd70b0f523e2c90c7690"
      ],
      "author": {
        "name": "pwyckoff",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 03 19:30:55 2008 +0000"
      },
      "committer": {
        "name": "pwyckoff",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 03 19:30:55 2008 +0000"
      },
      "message": "add fb303 to thrift contrib\n\nSummary: Add clean version of fb303 to thrift contrib readying for open sourcing scribe\n\nReviewed By: dreiss\n\nTest Plan: bootstrap.sh, make, make install on a fresh machine and then try compiling and running scribe open source version.\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 10841\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665634 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3095aa1843310afc2427fd70b0f523e2c90c7690",
      "tree": "74add3624bca869bcb47fafa357d4a97c2422862",
      "parents": [
        "8bfba63dfb8c52cfb8c785c4b19f48a5745e1d6a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:17 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:17 2008 +0000"
      },
      "message": "Add a test client and server for C#.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665633 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8bfba63dfb8c52cfb8c785c4b19f48a5745e1d6a",
      "tree": "b60cf2c925afab805ced8e3af51cff50bad2d20a",
      "parents": [
        "cee1e085b56866b4feb9b334da5d5d8f0b79d44d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:13 2008 +0000"
      },
      "message": "C#: Generate proper code for services that inherit from other services.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665632 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cee1e085b56866b4feb9b334da5d5d8f0b79d44d",
      "tree": "f09d026f0123f765ca8781f08e98138b812c83d6",
      "parents": [
        "437c03bb3d8825bf64581869861c645b4f94908f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:09 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:09 2008 +0000"
      },
      "message": "C#: Catch exceptions by name.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665631 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "437c03bb3d8825bf64581869861c645b4f94908f",
      "tree": "2e199689a062de639dfb326213e68651bd56d928",
      "parents": [
        "d8217422c8bc5e865e0acbea92c47eed38865b2a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:06 2008 +0000"
      },
      "message": "C#: Make TSimpleServer a public class.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665630 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d8217422c8bc5e865e0acbea92c47eed38865b2a",
      "tree": "c7da30770d596eafac97c5045fc26ae13425b8bd",
      "parents": [
        "cfb23bb8db2aa69486775b957693f9f48d24598e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:09:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:09:43 2008 +0000"
      },
      "message": "C#: Fix a bug in the TApplicationException reader.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665629 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cfb23bb8db2aa69486775b957693f9f48d24598e",
      "tree": "5a55fbe420a4008dbb400fdea25f24d08d34001a",
      "parents": [
        "f5ece05649298ee312841e8e16c6d7467316325c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:09:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:09:03 2008 +0000"
      },
      "message": "C# Makefile: New versions of Mono don\u0027t require -langversion:linq.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665628 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f5ece05649298ee312841e8e16c6d7467316325c",
      "tree": "4762d0482de0e84fdaee3dc845034670c227ef1a",
      "parents": [
        "58b4fa7e26648cf5251029f6ebb73a4c86129354"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 00:23:31 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 00:23:31 2008 +0000"
      },
      "message": "Fix a segfault in the compiler.\n\nWe weren\u0027t initializing our pointers properly, resulting in\na difficult-to-trigger segfault.\n\nReviewed By: mcslee, bhamadani\n\nTest Plan: Built the modified search IDL.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665627 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "58b4fa7e26648cf5251029f6ebb73a4c86129354",
      "tree": "e34d752b8f4a8b0bd5eba0eacfcfe297e125b5b0",
      "parents": [
        "3000b5b1f1fe44cc8a23ca34540c1de4381ada83"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 01 04:17:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 01 04:17:58 2008 +0000"
      },
      "message": "Fix a memory leak in TBinaryProtocol.\n\nSummary:\nrealloc doesn\u0027t free the original pointer when it returns null.\n\nReviewed By: cpiro\n\nTest Plan: make check\n\nTracCamp Project: Thrift\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665626 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3000b5b1f1fe44cc8a23ca34540c1de4381ada83",
      "tree": "bd94a806c2f699dcba02300f72266afb357e9b5c",
      "parents": [
        "07ef3a930a8f99b41ce381f9fda3aa6785bd3956"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 31 21:38:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 31 21:38:29 2008 +0000"
      },
      "message": "Add an experiment to measure the likeliness that realloc will avoid a copy.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665625 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "07ef3a930a8f99b41ce381f9fda3aa6785bd3956",
      "tree": "86b92faf5d3ab49a746a00486e4be38267e9d005",
      "parents": [
        "fdc21aa713ca8ddf19cd2104c4074bdd27211e05"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:39 2008 +0000"
      },
      "message": "Make the Perl generator use non-hardcoded namespaces.\n\n- Make the Perl generator use program-\u003eget_namespace(\"perl\")\n  instead of program-\u003eget_perl_package()\n- Eliminate the explicit \"perl_package\" in t_program.\n- Deprecate the perl_package token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665624 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fdc21aa713ca8ddf19cd2104c4074bdd27211e05",
      "tree": "7bfe40b42dc9f4d17f468502247a46ade760edaa",
      "parents": [
        "fb63533c78a833d043b33fd2240076e22732cf19"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:34 2008 +0000"
      },
      "message": "Allow the Thrift compiler to be built without the Perl generator.\n\n- Use AX_THRIFT_GEN to make configure support --disable-gen-perl\n- Update the compiler Makefile.am to exclude the generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665623 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb63533c78a833d043b33fd2240076e22732cf19",
      "tree": "76b1ea836e058e03a9882cca3df432db3ae7ef82",
      "parents": [
        "2b386c50d7cf649c928a792bed73bcb938f8501f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:30 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:30 2008 +0000"
      },
      "message": "Remove t_perl_generator.h.\n\nt_perl_generator.h is no longer included anywhere, because\nthe Perl generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665622 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b386c50d7cf649c928a792bed73bcb938f8501f",
      "tree": "1a8f62da88ac59b4b98eb8beca430a7c7519d3c1",
      "parents": [
        "6a4b82c4b7cc4d77daa6e11f8eb69f1a8f5e3218"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:23 2008 +0000"
      },
      "message": "Make the Perl generator dynamic.\n\n- Modify the Perl generator constructor to fit the new generic interface.\n- Register the Perl genrator with the central registry.\n- Deprecate the old way of invoking the Perl generator.\n- main.cc no longer includes t_pl_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665621 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6a4b82c4b7cc4d77daa6e11f8eb69f1a8f5e3218",
      "tree": "52df9436932d01021c366b2add36bbbe99ff0a50",
      "parents": [
        "ae253583e75b77177dd09533420561d22e1ace6b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:16 2008 +0000"
      },
      "message": "Make the Ruby generator use non-hardcoded namespaces.\n\n- Make the Ruby generator use program-\u003eget_namespace(\"ruby\")\n  instead of program-\u003eget_ruby_namespace()\n- Eliminate the explicit \"ruby_namespace\" in t_program.\n- Deprecate the ruby_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665620 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "ae253583e75b77177dd09533420561d22e1ace6b"
}
