)]}'
{
  "log": [
    {
      "commit": "981240d11e82b63529b7680b175bed35a95b93b4",
      "tree": "5d48502161cf0920a4a012e9eea705086a789892",
      "parents": [
        "cd9bc46ebd1ad5336cf27f517db8eb43e1947410"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 07 18:24:38 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 07 18:24:38 2011 +0000"
      },
      "message": "branch for the 0.6 release candidate\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/branches/0.6.x@1056441 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cd9bc46ebd1ad5336cf27f517db8eb43e1947410",
      "tree": "5d48502161cf0920a4a012e9eea705086a789892",
      "parents": [
        "e0cac988b6caa0a3a624951418ecae32c6ba9a5c"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jan 03 20:19:07 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jan 03 20:19:07 2011 +0000"
      },
      "message": "THRIFT-1024 Add Python Twisted example to the Tutorial\n\nPatch: Michael\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1054733 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e0cac988b6caa0a3a624951418ecae32c6ba9a5c",
      "tree": "1b6e39c638ee0054f8c1006205f60fbbbc59cf47",
      "parents": [
        "08dc7e85b9aa84933febecab29b2cbe5958d5471"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Dec 16 13:15:49 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Dec 16 13:15:49 2010 +0000"
      },
      "message": "THRIFT-1022 Typo cleanup patch\n\nPatch: Anatol Pomozov\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1049968 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "08dc7e85b9aa84933febecab29b2cbe5958d5471",
      "tree": "6868d9154a61b4cc699c5f37eaa45fe7fd6cdcca",
      "parents": [
        "ed2dc5359efc77d6410ecdbd9fc121bb9fddd95b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 14 21:38:00 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 14 21:38:00 2010 +0000"
      },
      "message": "THRIFT-71 Debian packaging for Thrift\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1049288 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ed2dc5359efc77d6410ecdbd9fc121bb9fddd95b",
      "tree": "4af26dc0d7c2b3861c56e6b5cb7f5985346e2342",
      "parents": [
        "932ce2b80ab604fff2a5ea489fe507a821074425"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Dec 13 19:17:22 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Dec 13 19:17:22 2010 +0000"
      },
      "message": "THRIFT-1020. ocaml: OCaml compiler generates invalid OCaml\n\nThis patch resolves problems with double constants and adds a copy method to generated structs.\n\nPatch: Richard Low\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1045320 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "932ce2b80ab604fff2a5ea489fe507a821074425",
      "tree": "2b5af63681f41aec4575893bc9f016375fe79592",
      "parents": [
        "22903cb542d16cb12bb848dfa6eabee26f0d1eb1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Dec 07 18:28:48 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Dec 07 18:28:48 2010 +0000"
      },
      "message": "THRIFT-1013. java: generated java code may have name clashes with thrift library\n\nThis patch removes the imports for Thrift library classes and fully qualifies all references, guaranteeing there won\u0027t be any name clashes.\n\nPatch: Peter Schuller\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1043156 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "22903cb542d16cb12bb848dfa6eabee26f0d1eb1",
      "tree": "4ae7f0c64d73c29b8f45aa5b7e7ceb7f92c7ef0d",
      "parents": [
        "c0b5d9065c105ae73f11615717d6f071eba3e511"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 02 21:29:20 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 02 21:29:20 2010 +0000"
      },
      "message": "THRIFT-1015. java: TUnion does not handle ByteBuffer in toString\n\nThis patch adds a test case and fixes the toString method of TBaseHelper for ByteBuffers.\n\nPatch: Takashi Yonebayashi\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1041590 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c0b5d9065c105ae73f11615717d6f071eba3e511",
      "tree": "042b09cc442afc353b1a6a89f90297c10ab4a86c",
      "parents": [
        "c2cc61a0fad68b7c72379fa4ad0588fdf5a18644"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 20:23:44 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 20:23:44 2010 +0000"
      },
      "message": "THRIFT-998 Silence g++ -Wswitch-enum warning in header\n\nPatch: Rich Salz\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040758 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c2cc61a0fad68b7c72379fa4ad0588fdf5a18644",
      "tree": "3b3e9c1a3d7a610a1f41031d0eed7c28bc3ba563",
      "parents": [
        "26f817a0c947ffed39e2961eddbdc36933f23ee0"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 19:53:29 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 19:53:29 2010 +0000"
      },
      "message": "THRIFT-1002 some more cleanup in c_glib part\n\nPatch: Anatol Pomozov\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040738 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "26f817a0c947ffed39e2961eddbdc36933f23ee0",
      "tree": "7a1c7aec1c65f2edfcc67550b0f7157fac59b47e",
      "parents": [
        "6eeb21e917947001e69dd44db60cb5876fec7e62"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 19:46:56 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 19:46:56 2010 +0000"
      },
      "message": "THRIFT-1010 Fix typo asigned -\u003e assigned\n\nPatch: Anatol Pomozov\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040732 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6eeb21e917947001e69dd44db60cb5876fec7e62",
      "tree": "e1ddf40f212e9b6d87c881883850087ee4ab5840",
      "parents": [
        "708971351fd0136dce390ad3d76bb9f3e76ef9f6"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 05:54:53 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 30 05:54:53 2010 +0000"
      },
      "message": "THRIFT-1002 CodeStyle: t_c_glib_generator.cc\n\nPatch: \tAnatol Pomozov\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040415 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "708971351fd0136dce390ad3d76bb9f3e76ef9f6",
      "tree": "9bceeaec3ba9baeea34cd5e063297627d511911d",
      "parents": [
        "29208ff190ef0ee25116dd7e199457a5bea8f8e9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Nov 30 00:33:48 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Nov 30 00:33:48 2010 +0000"
      },
      "message": "THRIFT-1009. java: TUnion does not correctly deep copy a ByteBuffer\n\n\nThis patch adds a case to deepCopyObject for ByteBuffer, along with a test case that verifies the change in functionality.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1040358 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "29208ff190ef0ee25116dd7e199457a5bea8f8e9",
      "tree": "cbc89a238c96482bc9e0b384cda6459b1f2203a8",
      "parents": [
        "cbf87cb89cf0b1e7cd3656262c642209fef235ef"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 28 16:22:10 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 28 16:22:10 2010 +0000"
      },
      "message": "ignore Thrift.dll and py.twisted test stuff\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1039898 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cbf87cb89cf0b1e7cd3656262c642209fef235ef",
      "tree": "cbc89a238c96482bc9e0b384cda6459b1f2203a8",
      "parents": [
        "c101092ea742e1252207b6e8f680bf392292c916"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 28 14:34:26 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 28 14:34:26 2010 +0000"
      },
      "message": "THRIFT-916: Commit THRIFT-916_fix_no-overflow.patch -- remove overflow coming from a few constants.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1039885 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c101092ea742e1252207b6e8f680bf392292c916",
      "tree": "1c288f06029f11fa4b3ef905e0ef5a78fd5bc0e0",
      "parents": [
        "a5eb8489309492bb0e94b32cd1364469a86fc921"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Nov 26 10:17:48 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Nov 26 10:17:48 2010 +0000"
      },
      "message": "THRIFT-1003 Polishing c_glib code\n\nPatch: Anatol Pomozov\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1039299 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a5eb8489309492bb0e94b32cd1364469a86fc921",
      "tree": "5af40f65163d05c42c1d89f5c6e429817733d0ee",
      "parents": [
        "af65f1b4781a6f7761617e67f5604413f65ceb8d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 24 22:30:38 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 24 22:30:38 2010 +0000"
      },
      "message": "THRIFT-1008. java: byte[] accessors throw NPE on unset field\n\nFurther extra null check in accessors that use TBaseHelper.rightSize().\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038850 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af65f1b4781a6f7761617e67f5604413f65ceb8d",
      "tree": "8962eaf103bcd90744cbc4c6d5a3817d91e7f371",
      "parents": [
        "fea49cb8409167636a94e25f5657aeee58587f6e"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Wed Nov 24 21:58:05 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Wed Nov 24 21:58:05 2010 +0000"
      },
      "message": "THRIFT-916: Commit a partial fix for flex-generated code infested with warnings on Mac OS X\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038844 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fea49cb8409167636a94e25f5657aeee58587f6e",
      "tree": "34f240a50dd7649730212dfa2a7ffd8c63b5b4a6",
      "parents": [
        "1606f25616bbf0dc862ab6d0b9aef620027d1fcb"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 24 21:30:00 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 24 21:30:00 2010 +0000"
      },
      "message": "THRIFT-1008. java: byte[] accessors throw NPE on unset field\n\nThis patch adds a null check to TBaseHelper.rightSize().\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038833 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1606f25616bbf0dc862ab6d0b9aef620027d1fcb",
      "tree": "ecc0ab20b99fd5bd8b082e53b4c32f349edc3874",
      "parents": [
        "5f9614cf9a8003a772e48d9d2ae5b2877d08a721"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 24 00:25:57 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 24 00:25:57 2010 +0000"
      },
      "message": "THRIFT-1006. java: Impossible to correctly qualify an enum constant in an external thrift file\n\nBe a little more sensitive to how we parse out dots; some java generator changes to make sure things stay consistent.\n\nTHRIFT-1005. java: Give unions byte[] signature methods to go along with their ByteBuffer counterparts\n\nSome new constructors, getters, and setters to ease migration of unions to ByteBuffer style.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038399 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5f9614cf9a8003a772e48d9d2ae5b2877d08a721",
      "tree": "e47460069ba027363c7db20592070be609f8b28e",
      "parents": [
        "d3bfe700308fa00eeed4bfa9cd76283c194c2d4a"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 21 16:59:05 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 21 16:59:05 2010 +0000"
      },
      "message": "THRIFT-916 long long becomes int64_t\n\nPatch: Christian Lavoie\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1037500 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d3bfe700308fa00eeed4bfa9cd76283c194c2d4a",
      "tree": "69e3499e3a2f9f11210f0e20e34e493a530b721d",
      "parents": [
        "cecbe0fc5202e5047606b881c0e047d1f9d5ca74"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 20 06:48:47 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 20 06:48:47 2010 +0000"
      },
      "message": "THRIFT-916 Wall_Wextra_pedantic_Wno-long-long_Wno-variadic-macros_Wno-overflow_NOWARNINGS_DebianLenny.patch applied\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1037127 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cecbe0fc5202e5047606b881c0e047d1f9d5ca74",
      "tree": "5c3db8b2998c84c4c58d5779b3b02f4bab06239b",
      "parents": [
        "c3affb3940d1f479e5a68d6a6a5e32cb5d19a87e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Nov 19 00:06:51 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Nov 19 00:06:51 2010 +0000"
      },
      "message": "THRIFT-347. php: PHP TSocket Timeout Issues\n\nThis patch appears to correct the infamous timeout issues.\n\nPatch: Tyler Hobbs\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1036684 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c3affb3940d1f479e5a68d6a6a5e32cb5d19a87e",
      "tree": "15247e3e643a262950bee91c02ac7a8d82c68d25",
      "parents": [
        "3b771a10f1b815d5168d244374cddd1014ba3c02"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 17 22:47:06 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 17 22:47:06 2010 +0000"
      },
      "message": "THRIFT-979. rb: ruby bindings used to work on jruby\n\nMake a dummy makefile so that JRuby doesn\u0027t complain.\n\nPatch: Jeff Hodges\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1036267 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3b771a10f1b815d5168d244374cddd1014ba3c02",
      "tree": "b317075bdba17f1291f5dfda00d02cb6fe410857",
      "parents": [
        "be87ab28b06323f46835983ce2501b952978bda2"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 17 22:11:26 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 17 22:11:26 2010 +0000"
      },
      "message": "THRIFT-916 compile with -Wall -Wextra without warning on Debian Lenny\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1036250 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "be87ab28b06323f46835983ce2501b952978bda2",
      "tree": "ce0a9c736fad836c169166c9ca387b3ebda4d3d0",
      "parents": [
        "77215d8a35e08559ab51d8440c57b6525ce76e41"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 10 21:19:36 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 10 21:19:36 2010 +0000"
      },
      "message": "THRIFT-992 add underline for fields\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1033715 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "77215d8a35e08559ab51d8440c57b6525ce76e41",
      "tree": "524682278e255ec869c265768cb47d944b3e67da",
      "parents": [
        "600a88c6e2e56305227bdb7d5ec4d267e0242365"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 07 19:42:48 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 07 19:42:48 2010 +0000"
      },
      "message": "THRIFT-916: Fix warnings in C++ when compiling with -Wall. In this case, in the flex output, in the new c_glib generator and an actual bug in the parser that couldn\u0027t actually trigger.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1032365 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "600a88c6e2e56305227bdb7d5ec4d267e0242365",
      "tree": "88e300a8025c73f5771b258d73167916b5ceda73",
      "parents": [
        "bbe36c5d35bca5177c2a5472b58d784d93769da1"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 07 18:37:11 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 07 18:37:11 2010 +0000"
      },
      "message": "THRIFT-991: Refactor Haskell code and generator. Part 1: clean up code generator style.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1032342 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bbe36c5d35bca5177c2a5472b58d784d93769da1",
      "tree": "230375b52ebbd232cdfc2aaa32bbae13c0f2b6af",
      "parents": [
        "01c5cebfdd0f638f09378e0a735419efc69f3c08"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Nov 05 17:14:52 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Nov 05 17:14:52 2010 +0000"
      },
      "message": "THRIFT-970. java: Under heavy load, THttpClient may fail with \u0027too many open files\u0027\n\nThis patch updates our THttpClient to have two different modes of operation: its current functionality and a new mode that uses Apache\u0027s HttpClient library to provide higher throughput and better pooling functionality.\n\nPatch: Mathias Herberts\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031668 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "01c5cebfdd0f638f09378e0a735419efc69f3c08",
      "tree": "0df562525cf8ad1953c54d1740d6eca4a97ec0f3",
      "parents": [
        "4f42ef7aa593b20fa17ad542f53c296032955fb7"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 20:35:15 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 20:35:15 2010 +0000"
      },
      "message": "THRIFT-916: Fix warnings in C++ when compiling with -Wall.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031222 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f42ef7aa593b20fa17ad542f53c296032955fb7",
      "tree": "bcb1217771ff0bc22c18c0462be2a88ec728a944",
      "parents": [
        "5aaa02166e335d6399c7345bbd8f3d83d4e481fa"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 18:51:42 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 18:51:42 2010 +0000"
      },
      "message": "THRIFT-953: Fix compilation of TransportTest.cpp on Mac (actual tests still fail) and fix boost m4 macros for Mac.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031148 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5aaa02166e335d6399c7345bbd8f3d83d4e481fa",
      "tree": "fb32bd87293735ea3b5956d97e395bbf33f44a4f",
      "parents": [
        "4a2bc1b161805833483b14154d07a55be3e63e26"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Nov 04 12:20:05 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Nov 04 12:20:05 2010 +0000"
      },
      "message": "change URL\u0027s to TLP\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1030901 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4a2bc1b161805833483b14154d07a55be3e63e26",
      "tree": "96d52dbe86e17a4aa48b94fb266cb15608e1e752",
      "parents": [
        "ae7f7fa57f9fa984711362ea88f42d21a965a642"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 03 17:57:38 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 03 17:57:38 2010 +0000"
      },
      "message": "THRIFT-977. cpp: Hex Conversion Bug in C++ TJSONProtocol\n\nThis patch fixes a silly bug in hex-to-int conversion in TSJONProtocol.\n\nPatch: Aravind Narayanan\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1030576 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ae7f7fa57f9fa984711362ea88f42d21a965a642",
      "tree": "a7606252f45ecf7c6fd61e747340031979af52cd",
      "parents": [
        "e5e50dec48d0d1fafd146009f268c3cf2bd5774b"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Tue Nov 02 21:42:53 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Tue Nov 02 21:42:53 2010 +0000"
      },
      "message": "THRIFT-950: Haskell bindings treat \u0027byte\u0027 as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t). Fix Haskell.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1030243 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e5e50dec48d0d1fafd146009f268c3cf2bd5774b",
      "tree": "0ba765826cd8600214d00bff30d62f546cc19c41",
      "parents": [
        "a8b52c7a8b240042a0c6368fb116520f2b580528"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 02 12:36:52 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 02 12:36:52 2010 +0000"
      },
      "message": "THRIFT-893 JavaScript Tutorial: dynamic part\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1030018 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a8b52c7a8b240042a0c6368fb116520f2b580528",
      "tree": "9ebcf09e1879ac729f6f3a7b7033566f1fe6c8d3",
      "parents": [
        "229c4c28c1f018c5d11044638ee3748f47d85c43"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 02 07:33:30 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 02 07:33:30 2010 +0000"
      },
      "message": "THRIFT-6 TLP URL\u0027s and email\u0027s, haskell, more details\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1029964 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "229c4c28c1f018c5d11044638ee3748f47d85c43",
      "tree": "265f303ed83bb34eb03f375235e6831622c89a79",
      "parents": [
        "fa038f31aca3f751308a41c1f01573bc9835a827"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 29 05:14:54 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 29 05:14:54 2010 +0000"
      },
      "message": "THRIFT-975 minimal README added\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1028617 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fa038f31aca3f751308a41c1f01573bc9835a827",
      "tree": "34b9be770e2073ff7f9f498a131f37237745b115",
      "parents": [
        "452dc69a6b2334884d94a93a098e276f9683f84f"
      ],
      "author": {
        "name": "Gavin McDonald",
        "email": "gmcdonald@apache.org",
        "time": "Thu Oct 28 02:12:01 2010 +0000"
      },
      "committer": {
        "name": "Gavin McDonald",
        "email": "gmcdonald@apache.org",
        "time": "Thu Oct 28 02:12:01 2010 +0000"
      },
      "message": "Thrift now a TLP - INFRA-3116\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1028168 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "452dc69a6b2334884d94a93a098e276f9683f84f",
      "tree": "34b9be770e2073ff7f9f498a131f37237745b115",
      "parents": [
        "b6722bf8c4dfc35bc818251f8004d1fa5e04d437"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 23:39:58 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 23:39:58 2010 +0000"
      },
      "message": "improve formatting in TProtocolUtil.skip\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028140 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b6722bf8c4dfc35bc818251f8004d1fa5e04d437",
      "tree": "be8980544d1d3d72301344f14c7ae746e5fd0c03",
      "parents": [
        "8c9c8bf8f0dcaa89a3ca73695442c4f3ccd6e342"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 23:26:52 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 23:26:52 2010 +0000"
      },
      "message": "THRIFT-377. java: TFileTransport port in Java\n\nThis patch adds TFileTransport to the java library. This transport is not a general-purpose file transport; instead, it is more of a way to execute one-way RPC via an offline file process.\n\nPatch: Joydeep Sen Sarma\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028136 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8c9c8bf8f0dcaa89a3ca73695442c4f3ccd6e342",
      "tree": "fe2c95708a8237ddd51c97bf55a5155d0be4b896",
      "parents": [
        "b942d57a79cb173df26d07892a6cb60b83cb38d7"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 23:15:35 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 23:15:35 2010 +0000"
      },
      "message": "THRIFT-517. java:TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes\n\nThis tiny change improves the message to make it marginally more obvious that the server-side might be the culprit.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028131 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b942d57a79cb173df26d07892a6cb60b83cb38d7",
      "tree": "20f5b75678091349128b848675d9793db6076c96",
      "parents": [
        "2fde9eee6f155ff23d938256d3c9db9c93a21b77"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 27 19:39:56 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 27 19:39:56 2010 +0000"
      },
      "message": "THRIFT-969 Java Tutorial broken, move CalculatorHandler to a separate file\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028079 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2fde9eee6f155ff23d938256d3c9db9c93a21b77",
      "tree": "b3d5378476da2c1fd4a96b0176cd413d34646308",
      "parents": [
        "a6ce16470dda427380b41e930ed59e028bdb7615"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 27 19:19:04 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 27 19:19:04 2010 +0000"
      },
      "message": "THRIFT-971 java module can\u0027t be compiled without ivy and network connection\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028075 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a6ce16470dda427380b41e930ed59e028bdb7615",
      "tree": "3d8f08958037bab94ed2f377efff03fcd522a44a",
      "parents": [
        "213a66479872e0ccf828f8f2675d1546cdff0a18"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 17:54:10 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 27 17:54:10 2010 +0000"
      },
      "message": "THRIFT-949. java: Modify the TEnum interface so it defines a method similar to findByValue\n\nThis patch adds a new helper class that makes it easier to get instances of generic TEnum descendents by value.\n\nPatch: Mathias Herberts\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028051 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "213a66479872e0ccf828f8f2675d1546cdff0a18",
      "tree": "9ee6ccf9935af077a69b426327b210b4d9656f78",
      "parents": [
        "5013de297a1892fb336f69a01e6f57fdad147568"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 27 12:30:11 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 27 12:30:11 2010 +0000"
      },
      "message": "THRIFT-582 C(c_glib) implementation of Thrift\n\nPatch: Anatol Pomozov and Michael Lum\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1027933 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5013de297a1892fb336f69a01e6f57fdad147568",
      "tree": "d33fe24224ebc9ac6d656e0924a3aeb69aafde10",
      "parents": [
        "178f8f2c52907d5a9ad8e7419fdb868ff32c2449"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 25 19:57:26 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 25 19:57:26 2010 +0000"
      },
      "message": "THRIFT-960 Java: remove TestServer, TestNonblockingServer and TestClient from Unittest\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1027248 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "178f8f2c52907d5a9ad8e7419fdb868ff32c2449",
      "tree": "6124b4d7028fde4663d5850d7d3790835484d628",
      "parents": [
        "37b5bf8e00a0c7c6462a2397a12869d86bef65c9"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 25 12:36:04 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 25 12:36:04 2010 +0000"
      },
      "message": "THRIFT-916 partial commit of v3-fix-all-warnings.patch and member initialization in Thrift.h\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1027092 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "37b5bf8e00a0c7c6462a2397a12869d86bef65c9",
      "tree": "82a103407bf175dde0d4bb78334f02cf2bf6323b",
      "parents": [
        "2067c1f01bd8c4eb7735167d4dae709f8fa37a56"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Oct 24 21:41:24 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Oct 24 21:41:24 2010 +0000"
      },
      "message": "THRIFT-961 JavaScript TestSuite using ant/ivy and Java\u0027s ServerTestBase Handler\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026899 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2067c1f01bd8c4eb7735167d4dae709f8fa37a56",
      "tree": "f504055991870ec930726ea21dc6c5c4b4ad60c7",
      "parents": [
        "5ad70a1a55468c65f0e04a36155b2dbf7cd110eb"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 23:50:48 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 23:50:48 2010 +0000"
      },
      "message": "THRIFT-960 switch back to TThreadPoolServer with AbstractServerArgs \n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026714 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ad70a1a55468c65f0e04a36155b2dbf7cd110eb",
      "tree": "237148b99bfbaa982e77038205cb45df5ca554a0",
      "parents": [
        "62b7cfb7b9ff2ee506336128de00529d4b80fc10"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 23:35:46 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 23:35:46 2010 +0000"
      },
      "message": "THRIFT-960 update to use AbstractServerArgs \n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026712 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "62b7cfb7b9ff2ee506336128de00529d4b80fc10",
      "tree": "15a1e306cdb6d00756d541f3f0993a7491ec8e6e",
      "parents": [
        "56b6e32173997d66d6e86093e1f4856c9354d8f3"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 22:25:04 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 22:25:04 2010 +0000"
      },
      "message": "THRIFT-960 Java: add TestServer, TestNonblockingServer and TestClient again\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026704 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "56b6e32173997d66d6e86093e1f4856c9354d8f3",
      "tree": "90cde269e1b076e6ce64eb66d381e9766c78f118",
      "parents": [
        "bc8109faffb4358249efa9a6e8c4e8dc769070d8"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 22:16:51 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 22:16:51 2010 +0000"
      },
      "message": "THRIFT-6 csharp AssemblyInfo added\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026700 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bc8109faffb4358249efa9a6e8c4e8dc769070d8",
      "tree": "fa4845b363b8d899a350f7f2ea0b0a724d7f1381",
      "parents": [
        "e703ed2ce689fce7b57af1f7299ccbfdc99adaee"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 22:01:54 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 23 22:01:54 2010 +0000"
      },
      "message": "THRIFT-6 accidently changed name of ThriftMSBuildTask to Thrift, reverted\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026690 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e703ed2ce689fce7b57af1f7299ccbfdc99adaee",
      "tree": "03e0e78f8a7536f5a884c822875dd4ecf999dbc4",
      "parents": [
        "2287278140256323491d8879dbc9592f71cbd1a9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Oct 22 20:23:57 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Oct 22 20:23:57 2010 +0000"
      },
      "message": "THRIFT-745. java: Make it easier to instantiate servers\n\nThis patch replaces the multitude of constructors with builder-esque Args objects for each server and single constructor.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026482 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2287278140256323491d8879dbc9592f71cbd1a9",
      "tree": "bbbe00e3773daa589f62b86341b49d77ba3754ad",
      "parents": [
        "8166073e7fc4b4a13bbbcc464328f03d0a89b577"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 22 11:20:25 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 22 11:20:25 2010 +0000"
      },
      "message": "THRIFT-6 update Version Info for several languages, add print-version to Makefile.am\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026299 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8166073e7fc4b4a13bbbcc464328f03d0a89b577",
      "tree": "950c555f1d1a3360d25f5d4d246619231c9d3481",
      "parents": [
        "206c0dc1af226521eb7fccf3890182741fb56cc1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 20 19:04:07 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 20 19:04:07 2010 +0000"
      },
      "message": "THRIFT-959. java: TSocket seems to do its own buffering inefficiently\n\nThis patch removes the buffering from TSocket. This seems to improve performance marginally on small reads and writes that are buffered elsewhere (like the Framed Transport).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1025678 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "206c0dc1af226521eb7fccf3890182741fb56cc1",
      "tree": "e7f8560ef03fd6a3fb06c525189a46f36a36d09e",
      "parents": [
        "2376684d86215e0ef1415f8820d9a2a797dcd3a0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 19 23:00:27 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 19 23:00:27 2010 +0000"
      },
      "message": "THRIFT-947. java: Provide a helper method to determine the TProtocol used to serialize some data.\n\nPatch: Mathias Herberts\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1024455 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2376684d86215e0ef1415f8820d9a2a797dcd3a0",
      "tree": "3ef2ebb0e9388f19166e2cf14ed5ae17b30d59b2",
      "parents": [
        "1b13083defbde2dae2baf535eeae272c7c9e1ab0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 19 18:06:45 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 19 18:06:45 2010 +0000"
      },
      "message": "THRIFT-957. java: THsHaServer: Change access modifier of the invoker field.\n\nThis patch adds a new overridable method to allow subclasses to specify their own Runnable implementation.\n\nPatch: Benjamin Coverston\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1024343 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1b13083defbde2dae2baf535eeae272c7c9e1ab0",
      "tree": "15bec9226ee662d97caa94d33726b91334d29174",
      "parents": [
        "63228e53c239eac664b3933b4ed3a86d32af809a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 19 17:20:57 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 19 17:20:57 2010 +0000"
      },
      "message": "THRIFT-106. java: TSSLServerSocket\n\nThis patch adds support for SSL-encrypted client and server sockets.\n\nPatch: Nirmal Ranganathan\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1024328 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "63228e53c239eac664b3933b4ed3a86d32af809a",
      "tree": "da6ac69c3fe9ac26c58c6f90c188101304db994c",
      "parents": [
        "f770befe173280bf25942294814eb8f9f3e95906"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Oct 18 17:25:40 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Oct 18 17:25:40 2010 +0000"
      },
      "message": "cpp: Support oneway calls in TDebugProtocol.cpp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023913 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f770befe173280bf25942294814eb8f9f3e95906",
      "tree": "f20b5ee0b8a160b1ade618f4c417b4a7310c3da4",
      "parents": [
        "d11ca5a95e035aca2e9107aba66f9fad1549ffb7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Oct 18 17:25:13 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Oct 18 17:25:13 2010 +0000"
      },
      "message": "cpp: Add a little extra whitespace to TDebugProtocol.cpp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023912 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d11ca5a95e035aca2e9107aba66f9fad1549ffb7",
      "tree": "a23ded38f4d5e4f1911436e26222e33a8ac47372",
      "parents": [
        "5e64d51efcbaac0839ac78565a5e010843587f95"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 18 08:22:57 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 18 08:22:57 2010 +0000"
      },
      "message": "THRIFT-916 gcc warnings(partial) use snprintf instead of sprintf\n\nPatch: Christian Lavoie\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023682 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5e64d51efcbaac0839ac78565a5e010843587f95",
      "tree": "69896a0a0114992637a058e16953f57e470ad05c",
      "parents": [
        "f04cfca79716258c97415527ddc47ac87c83a802"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 16 15:54:36 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Oct 16 15:54:36 2010 +0000"
      },
      "message": "THRIFT-916 t_java_generator.cc: remove compiler warnings for enumerations not handled in switch\n\nPatch: Christian Lavoie\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023317 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f04cfca79716258c97415527ddc47ac87c83a802",
      "tree": "10fc8d216ea2a8c8097e0f17b829538ba95effa0",
      "parents": [
        "421dfbea6348ea5fdc1c8bb870f8940715f080fa"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 15 19:24:32 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 15 19:24:32 2010 +0000"
      },
      "message": "THRIFT-893  add JavaScript to the tutorial example (html only)\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023077 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "421dfbea6348ea5fdc1c8bb870f8940715f080fa",
      "tree": "430430332b9c92bed7bed899518932bb8454c28c",
      "parents": [
        "e8ddffe7bafbdcccd86db79b6a0dd7c60df4af05"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 15 19:12:44 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 15 19:12:44 2010 +0000"
      },
      "message": "THRIFT-807 JavaScript: Initialization of Base Types with 0 instead of null\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023073 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e8ddffe7bafbdcccd86db79b6a0dd7c60df4af05",
      "tree": "f921114dc9ee9d1aedef18d1df6a23ddf0104e01",
      "parents": [
        "c991270de6361bcd86319bf02201d2074c9a93d9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Oct 15 16:40:34 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Oct 15 16:40:34 2010 +0000"
      },
      "message": "THRIFT-958. java: Change accessmodifer on trans_ field in the FrameBuffer class to public.\n\nPatch: Benjamin Coverston\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1023008 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c991270de6361bcd86319bf02201d2074c9a93d9",
      "tree": "7c964248a896d0db40a49b89835ba87e69d46ece",
      "parents": [
        "3b76fa3638ff91a76c518bfbc480a18e17d01e09"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 15 13:16:05 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 15 13:16:05 2010 +0000"
      },
      "message": "THRIFT-913 Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh\nand ignore gen-* and *.class\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022907 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3b76fa3638ff91a76c518bfbc480a18e17d01e09",
      "tree": "0f9ce14823cb8e3da2d47b225f76bd3c9ee69cd4",
      "parents": [
        "63c938bfa139fa088d2a1776614d7f882d71edc1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Oct 14 17:56:03 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Oct 14 17:56:03 2010 +0000"
      },
      "message": "THRIFT-955 remove CharLowerBuff function for mingw based Thrift Compiler\n\u003d\u003e no lowercase names and directories which was inconsistent for using across different platforms\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022630 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "63c938bfa139fa088d2a1776614d7f882d71edc1",
      "tree": "9721d855a028e67d4fdefa10b31bbb70b7241929",
      "parents": [
        "0069cc4a298a15c84df5e09e4abebe8ba8a0b8a5"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 13 20:02:54 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 13 20:02:54 2010 +0000"
      },
      "message": "ignore a few test binaries\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022274 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0069cc4a298a15c84df5e09e4abebe8ba8a0b8a5",
      "tree": "9721d855a028e67d4fdefa10b31bbb70b7241929",
      "parents": [
        "4c5689269f767670741bc49648d419d4c6a188f1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 13 18:10:18 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 13 18:10:18 2010 +0000"
      },
      "message": "THRIFT-916 no errors on GNU/Linux when compiling with CXXFLAGS\u003d\"-Wall -Wextra -pedantic\"\n\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022220 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4c5689269f767670741bc49648d419d4c6a188f1",
      "tree": "349d2070c906bfcfbea20b66e371334cc2bc6a7e",
      "parents": [
        "21cd3180ef915ec8f1a2fa33520bcb529e5a1c41"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 12 22:32:23 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Oct 12 22:32:23 2010 +0000"
      },
      "message": "THRIFT-951. java: Add a new isServing() method to TServer\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1021941 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "21cd3180ef915ec8f1a2fa33520bcb529e5a1c41",
      "tree": "3ca3519b827a1046a97d0dd9027ad9c6660f94de",
      "parents": [
        "8684df9a7986e785ceffb8316c8592558bd7707c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Oct 11 22:13:23 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Oct 11 22:13:23 2010 +0000"
      },
      "message": "spacing cleanup\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1021535 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8684df9a7986e785ceffb8316c8592558bd7707c",
      "tree": "a5935b9faa63f49f0c572e140bb0183fc98b9f97",
      "parents": [
        "9a3ec701d814334f6c20ed0f69b3bbcbcca6a6e5"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Oct 11 22:01:27 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Oct 11 22:01:27 2010 +0000"
      },
      "message": "clear a bunch of java warnings, unused code and imports, etc\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1021531 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a3ec701d814334f6c20ed0f69b3bbcbcca6a6e5",
      "tree": "f476b789ecf900700a6cb319c35135302c235c4b",
      "parents": [
        "052bbef327eda51ddde5845a2794c344eab8e3a0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Oct 11 21:56:50 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Oct 11 21:56:50 2010 +0000"
      },
      "message": "update svn:ignore in test/py.twisted\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1021528 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "052bbef327eda51ddde5845a2794c344eab8e3a0",
      "tree": "f476b789ecf900700a6cb319c35135302c235c4b",
      "parents": [
        "085a3e7b6045c435bc21442c867c9d3ed8d3bb60"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Oct 11 21:45:13 2010 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Oct 11 21:45:13 2010 +0000"
      },
      "message": "THRIFT-952. TBinarySerializer utility class for converting between byte strings and PHP objects\n\nAdds a nice TBinarySerializer class to make it simple to convert between PHP objects and serialized strings using the Binary protocol.\n\nPatch: Radu Marin\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1021521 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "085a3e7b6045c435bc21442c867c9d3ed8d3bb60",
      "tree": "8f6223017d09011a6f6d8eba49cd2cd041b8ccab",
      "parents": [
        "50e4349463c983aac50d37a071191391f704258a"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 08 21:23:35 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 08 21:23:35 2010 +0000"
      },
      "message": "THRIFT-926 Miscellaneous C++ improvements\n\nchanging single destructor call time limit from 500us to 1000us\nbuild does not fail on busy machines\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1006030 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "50e4349463c983aac50d37a071191391f704258a",
      "tree": "6c62c7693693afd96c8d846aaa01f734708784e2",
      "parents": [
        "f969bcb7d89f3f50dba4528a673464f668fb2905"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 08 17:46:06 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 08 17:46:06 2010 +0000"
      },
      "message": "THRIFT-581 Add a testsuite for txThrift (Twisted) / py.twisted\n\nPatch: Esteve Fernandez\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005923 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f969bcb7d89f3f50dba4528a673464f668fb2905",
      "tree": "a97809b35756c458109424222fd5a55ee95fb84b",
      "parents": [
        "b3d0aa0c82ea5769b2a5dc7268e05c398d361726"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 06 20:04:40 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 06 20:04:40 2010 +0000"
      },
      "message": "THRIFT-862. java: Async client issues / improvements\n\nThis patch improves quite a large number of things about the async client code.\n\nPatch: Ning Liang\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005221 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b3d0aa0c82ea5769b2a5dc7268e05c398d361726",
      "tree": "db995ed5f7f6325197f9d1086f670e8deca6ae04",
      "parents": [
        "ef6a1766ceeddac8345aa3102e4d33af4ecd8432"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 06 20:00:03 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 06 20:00:03 2010 +0000"
      },
      "message": "THRIFT-946. java: Augment FieldValueMetaData so it differentiates \u0027string\u0027 and \u0027binary\u0027 fields.\n\nThis patch adds a new method to the FieldMetaData class that indicates binary or not.\n\nPatch: Mathias Herberts\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005220 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ef6a1766ceeddac8345aa3102e4d33af4ecd8432",
      "tree": "591419ff6d5aa32b0f37eff7ad571c1c676751c9",
      "parents": [
        "25df8e7e4ae6bd889a76d1ffacc5ec64da241223"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:55 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:55 2010 +0000"
      },
      "message": "THRIFT-927. php: Option to support modifying the PHP include path\n\nMake the PHP generator recognize a new-style namespace called \"php.path\".\nIf it is present, it is segmented and used as a path to include the\ngenerated code.  (It goes between \"packages\" and the Thrit file basename.)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005172 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "25df8e7e4ae6bd889a76d1ffacc5ec64da241223",
      "tree": "df9901a4a1c0a9a90d7aaf63a28cef9c664159ea",
      "parents": [
        "46e4f252dcc09b40f71635aaeb80476635aa8076"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:54 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:54 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Better exception handling in TSimpleServer\n\nMove processing code out of main try block and created individual\ntry/catch\u0027s for closing down the client and it\u0027s transports (to avoid\nissues with throwing exceptions from a catch block).\n\nAlso converted to using GlobalOutput instead of cerr.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005171 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "46e4f252dcc09b40f71635aaeb80476635aa8076",
      "tree": "fbe79fdf3dc65c73c87dc79cd850de06a6ad7220",
      "parents": [
        "89a12942d2fd53a3caf269f601134bd392fbf333"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:53 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:53 2010 +0000"
      },
      "message": "THRIFT-926. cpp: remove auto-stringification in TLogging.h\n\nThe T_DEBUG* and T_ERROR* macros used preprocessor stringification to\nstringify the format string argument.  This was weird and unintuitive.\n\nWith the old behavior:\n\n- Quotes surrounding the format string were included in the message:\n  T_DEBUG(\"this is a test\") --\u003e expanded to  \"\\\"this is a test\\\"\"\n\n- Backslashes in the string are escaped so they print literally:\n  T_DEBUG(\"foo\\nbar\")       --\u003e expanded to  \"\\\"foo\\\\nbar\\\"\"\n\n- Standard fixed-width integer format macros don\u0027t work:\n  T_DEBUG(\"x: %\" PRIi64, x) --\u003e expanded to  \"\\\"x: %\\\" PRIi64\"\n\nThe last item is particularly problematic, since it prevents 64-bit\nvalues from being logged portably.\n\nWith the new code, the following will no longer compile:\n\n  T_DEBUG(this is my log message: %d, 5)\n\nI don\u0027t think that is a bad thing, though.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005170 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "89a12942d2fd53a3caf269f601134bd392fbf333",
      "tree": "a17b266e332517537ac9dc7c4aee10cbd2d23e32",
      "parents": [
        "7e729d207492f8b4be9509e927b687a282039bc9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:52 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:52 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Better buffer management for TNonblockingServer\n\nAdd two improvements to memory management in TNonblocking server:\n- Separate the receive code into two distinct states: one for receiving\n  the frame header and one for the frame content.  This allows us to\n  size the initial read buffer based on the initial frame size, rather\n  than allocating an arbitrary amount of memory before reading the\n  header.\n- Allow setting the initial write buffer size based on the application\u0027s\n  expected response size.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005169 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7e729d207492f8b4be9509e927b687a282039bc9",
      "tree": "1bb2f18bb9d12f3805c95d387a8fd852e62bbfda",
      "parents": [
        "f673509f1be499bc899e204ab0d7837ebf4f418a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:51 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:51 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Let TMemoryBuffer::resetBuffer() set size of self-allocated buffer\n\nAlthough there is a constructor that allows a TMemoryBuffer to be\ncreated with an internally-allocated buffer of a desired size, there was\nno way for resetBuffer to obtain analogous behavior. This change causes\nthe appropriate constructor to be used.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005168 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f673509f1be499bc899e204ab0d7837ebf4f418a",
      "tree": "bd3b0300c69f6043d939c40682db6a2412b41553",
      "parents": [
        "2991a0f376ab7640b7259ac8db0af820054998cd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:49 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:49 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Thrift: throw bad_alloc when malloc fails, not something else\n\nWhen malloc/realloc fail, we\u0027ve typically just thrown a TException. This\nallows a server that should simply crash when out of memory to survive\nin a strage state, with various bad consequences. Instead, we should\nthrow bad_alloc and just not catch it (or if we decide to, be very\ncareful to respond properly).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005167 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2991a0f376ab7640b7259ac8db0af820054998cd",
      "tree": "547bdf08001c92482eb4eb32c54aea7e86119335",
      "parents": [
        "ece1a089eccad21f093de72b5fe6d730d132812c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:47 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:47 2010 +0000"
      },
      "message": "THRIFT-926. cpp: TFramedTransport: Uphold the strong exception safety guarantee\n\nPreviously, if we had a new[] failure when growing a TFramedTransport\nwrite buffer, we would leave the buffer in an invalid state (wBufSize_\nwould reflect the desired size, rather than the actual size).  Now, we\nmake no change to any member variables if new[] fails.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005166 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ece1a089eccad21f093de72b5fe6d730d132812c",
      "tree": "6d6d894d220f8e400dbb21ad2e35e72c664b7619",
      "parents": [
        "54bec5dbd8f91305d2cd1d1f1125cf8b54fdd6bc"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:46 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:46 2010 +0000"
      },
      "message": "THRIFT-926. cpp: TMemoryBuffer: Uphold the strong exception safety guarantee\n\nPreviously, if we had a realloc failure when growing a TMemoryBuffer, we\nwould leave the buffer in an invalid state (bufferSize_ would reflect\nthe desired size, rather than the actual size).  Now, we make no change\nto any member variables if realloc fails.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005165 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "54bec5dbd8f91305d2cd1d1f1125cf8b54fdd6bc",
      "tree": "d5bb16b3c1bb1f5bdeafa1499d0c66e7e72a6b24",
      "parents": [
        "7197efb8490afebc97625de2b8a4dfcf61fe6d19"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:45 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:45 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Add configurable buffer recycling for TNonblockingServer\n\nAdd methods to TNonblockingServer to set the maximum size of idle read\nand write buffers and the check interval (in calls).  When checked, if\nthe buffers are larger than the configured maximum, they will be resized\ndown the to maximum size.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005164 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7197efb8490afebc97625de2b8a4dfcf61fe6d19",
      "tree": "4cdd1637bd864ba1dcee74e9d3c44ff276ce7492",
      "parents": [
        "109693c82a63b321b540cb3c993d918fc946dfbe"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:43 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:43 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Revert r750153 to make way for more flexible version\n\nr750153 caused TNonblockingServer to reset its buffers every 512 calls.\nA more configurable version was developed internally, so I\u0027m reverting\nthis rev first to avoid conflicts.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005163 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "109693c82a63b321b540cb3c993d918fc946dfbe",
      "tree": "a8b5942237ebc12d42e61e5888ee5d30fb0327ac",
      "parents": [
        "0a2d81e81614a73590056b4fea7688463df7c80b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:42 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:42 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Convert tests to use boost 1.37\n\nThe boost test framework has changed significantly from boost 1.34 to\n1.37.  Quite a few new features have been added, and some annoying bugs\nhave been fixed.\n\nThis change now builds the thrift tests against boost 1.37, and updates\nthem to use some of the newer features.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005162 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0a2d81e81614a73590056b4fea7688463df7c80b",
      "tree": "f7640d3608c2a2ddcc3cb6508c060ec05b7277df",
      "parents": [
        "e5c435cccf4fdc5650c6127563b3b61de65e1762"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:40 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:40 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix inconsistencies in transport read() behavior\n\n- TBufferedTransport::borrow() could block if not enough data was\n  available.  Now it returns NULL immediately in this case, like all\n  other transports.\n\n- TBufferedTransport::read() could block some data was available in the\n  readahead buffer, but not enough to satisfy the request.  It would\n  attempt to call read() on the underlying transport, but this might\n  block.  Now it just returns the remaining data in the readahead\n  buffer.  The caller is responsible for calling read() again to get the\n  rest of the data they want.\n\n- TFrameTransport::read() threw an exception if read() on the underlying\n  transport returned 0 when looking for a frame header.  Now\n  TFrameTransport::read() returns 0, too.  (It still throws an exception\n  if the underlying transport returns 0 after a partial frame or frame\n  header has been read.)\n\n- TFDTransport::read() threw an exception on EINTR.  Now it retries up\n  to 5 times, similarly to the way TSocket::read() behaves.\n\n- TZlibTransport::read() could block when less data than was requested\n  is available.  Now it only calls read() on the underlying transport\n  when it would otherwise have nothing to return.\n\n  This does mean that TZlibTransport::read() now often returns less data\n  than is actually available at the time.  This required updating\n  several of the ZlibTest tests to use readAll() instead of read(),\n  since they previously assumed read() would return all available data.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005161 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e5c435cccf4fdc5650c6127563b3b61de65e1762",
      "tree": "326d1cde9434aa046536f1dee903cb0491729d53",
      "parents": [
        "d4788dfd4ae1bd04a78dc611855f70eb97355af3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:38 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:38 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Add tests to verify blocking read behavior\n\nAdd tests that check to see whether or not read() and borrow() block\nwhen called with a length larger than the amount of data currently\navailable.\n\nAt the moment, not all of the transports behave the same way.  I believe\nthe desired behavior is:\n\n  When M bytes are available, and 0 \u003c M \u003c N:\n  - read(N): return M bytes immediately\n  - borrow(N): return NULL immediately\n\n  When 0 bytes are available:\n  - read(N): In this case, it is acceptable either to immediately return\n    0, or to block until some data is available.  If the transport\n    blocks, it returns immediately when some date becomes available,\n    even if less than N bytes are available.\n  - borrow(N): return NULL immediately\n\n- The borrow() tests fail when using TBufferedTransport.\n  TBufferedTransport incorrectly blocks until the amount of data\n  requested is available.\n\n- test_read_none_available() fails when using TFramedTransport.\n  Calling read() on a TFramedTransport when no data is available throws\n  an exception instead of returning 0.\n\n- test_read_none_available() fails when using TFDTransport.  This is\n  partly just an artifact of the fact that I use SIGALRM as part of this\n  test.  Unlike TSocket, TFDTransport doesn\u0027t retry after EINTR.\n\n- test_read_part_available() fails when using TZlibTransport around a\n  transport that has blocking read() behavior.  TZlibTransport::read()\n  loops calling read() on the underlying transport.  It should probably\n  break out of the loop and return to the caller as soon as it has\n  uncompressed any data, even if it is less than requested and more\n  might be available.  Once some data has been uncompressed,\n  TZlibTransport cannot risk calling read() again since it might block.\n\nWill commit fixes for these separately.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005160 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d4788dfd4ae1bd04a78dc611855f70eb97355af3",
      "tree": "464850819f658bd7ce70402a44586e53bfd9e53d",
      "parents": [
        "0c025e8f52096f6c9f39b80909b5b1aebf335b03"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:37 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:37 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Test wrapper transports more thoroughly\n\nUpdateS TransportTest so that the wrapper transports\n(TBufferedTransport, TFramedTransport, TZlibTransport) are tested with a\nwider variety of inner transports.  Previously they were only tested\nusing TMemoryBuffer.  Now all other transports are also tested wrapped\ninside each of these transports.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005159 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c025e8f52096f6c9f39b80909b5b1aebf335b03",
      "tree": "a50ae395bae21657a2510d94e22c1e6501112d7a",
      "parents": [
        "65e62d3741e226abf0caf7b7393845ad41779a61"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:36 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:36 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Update TransportTest to test TSocket\n\nMade the TSocket(int fd) constructor public, so TransportTest can create\na connected pair of TSocket transports using socketpair().\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005158 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "65e62d3741e226abf0caf7b7393845ad41779a61",
      "tree": "e4fb8b2f4a8811618b2531c5ef616953e1ece72a",
      "parents": [
        "4f9efdb460a7c54cc55b25f2c6b8955a5fcff229"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:35 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:35 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Reduce default buffer sizes for TransportTest\n\nReduce the default test buffer sizes by about 30x, reducing the time it\ntakes to run TransportTest from about 1 minute to about 2 seconds.  I\nadded a --size-multiplier argument that can be used to adjust the sizes\nof all test buffers, so developers can still run with large buffer sizes\nwhen desired.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005157 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f9efdb460a7c54cc55b25f2c6b8955a5fcff229",
      "tree": "0c31542a9e504f19b089d4dd27660bedc8ea70f8",
      "parents": [
        "4199377a7c5dbb72679abe9c05c9663e3736a780"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:33 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:33 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix bugs in TFileTransport::flush()\n\nPreviously flush() had race conditions that could cause it to return\nbefore all data had actually been flushed to disk.  Now the writer\nmakes sure both buffer queues have been flushed when forceFlush_ is set.\n\nAlso, flush() did not wake up the writer thread, so it normally had to\nwait for the writer thread to wake up on its own time.  (By default,\nthis could take up to 3 seconds.)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005156 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4199377a7c5dbb72679abe9c05c9663e3736a780",
      "tree": "5bbc4847cec0c637d02b041dbbf6bbdb08447db5",
      "parents": [
        "709b69f14c7c69b83e1752212bf51b4da67db834"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:31 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:31 2010 +0000"
      },
      "message": "THRIFT-926. cpp: TFileTransportTest timing slightly more lenient\n\nSeveral of the TFileTransportTest tests check wall clock time to make\nsure the writer thread processes operations quickly enough, and isn\u0027t\nhanging.  However, this can easily result in false failures if we don\u0027t\nget enough processor time.  This commit makes a few changes to reduce\nthe number of these failures.\n\n- No longer fail if a single destructor call takes more than 500us.\n  We only require 90% of the calls to complete in 500us.  No call may\n  take more than 100ms, though.  With this change, the test passes most\n  of the time now, even while an \"fbmake opt\" task is running in\n  parallel.\n\n- In the flush_max_us tests, make sure the writer thread is started\n  before we start recording timing.  Otherwise, creating the thread\n  could take long enough to throw off the numbers for the first fsync()\n  call.\n\nAlso tested with the pthread_cond_signal() in the TFileTransport\ndestructor commented out, to make sure the test still fails properly\nwhen the destructor takes too long.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005155 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "709b69f14c7c69b83e1752212bf51b4da67db834",
      "tree": "c9f04bd0d15b25832de0b8417d62eda12644d989",
      "parents": [
        "0e0eb354527cecdc22d1c0e6ecba06d7f747e728"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:30 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:30 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix destructor behavior of TFileTransport\n\nSet closing_ to true before we wake up the writer thread in the\ndestructor.  This way the writer thread flushes the data and exits when\nit is woken up.\n\nPreviously the writer thread could end up going through 2 full timeout\ncycles before exiting.  The writer thread could wake up, notice it has\nnothing to do since closing_ is not set, and immediately go back to\nsleep.  The destructor would then proceed to call flush(), which would\nwait for the writer thread to wake up (1 full time out) and clear the\nforceFlush_ flag.  After flush returns, the destructor would set\nclosing_.  It could take the writer thread another full timeout to wake\nup again and process this flag.\n\nThere were also some points where the worker threads would detect the\nclosing_ state in their loops and automatically close the file, but did\nnot zero out the file descriptor, then the destructer attempted to close\nthe same file.  Fix by simply zeroing out the fd_ at these points.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005154 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0e0eb354527cecdc22d1c0e6ecba06d7f747e728",
      "tree": "96002a775da4764d700e299d4bca379e678cf898",
      "parents": [
        "a0e11597163def6727896a77490899681c1eb6d6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:29 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:29 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Don\u0027t sleep in TFileTransport if we have data to write\n\nPreviously, the TFileTransport writer thread behaved as follows:\n\n  while true:\n    wait for main thread to notify new data in enqueueBuffer_\n    swap(enqueueBuffer_, dequeueBuffer_)\n    write out everything in dequeueBuffer_\n\nNow the behavior is:\n\n  while true:\n    if enqueueBuffer_ is empty\n      wait for main thread to notify new data in enqueueBuffer_\n    swap(enqueueBuffer_, dequeueBuffer_)\n    write out everything in dequeueBuffer_\n\nThe old behavior had a couple problems:\n- Writes that arrived while the writer thread was writing\n  dequeueBuffer_ wouldn\u0027t get processed immediately.  The writer thread\n  would always wait until another write occurred after it started its\n  condition variable wait, or until it timed out (3 seconds by default).\n\n- If the main thread was writing fast enough to fill up enqueueBuffer_\n  while the writer thread was still writing out dequeueBuffer_, it would\n  block the next write call until the writer thread swapped the buffers.\n  Unfortunately, the writer thread waits to do this until it the main\n  thread notifies it of another write.  This deadlock is only broken by\n  the 3 second timeout.  Performance then tanks, since the writer thread\n  now always sleeps 3 seconds each time around the loop.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005153 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a0e11597163def6727896a77490899681c1eb6d6",
      "tree": "df8bf21b710a92f520b8d8b2b940cf0b0e6fa000",
      "parents": [
        "e94fa3391db1a423b6964b0aa6499324d05b055b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:27 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:27 2010 +0000"
      },
      "message": "THRIFT-926. cpp: remove \"standalone\" distinction in TZlibTransport\n\nNow that TZlibTransport::flush() behaves the same way as other\ntransports, there is no need to distinguish between RPC and standalone\nbehavior for TZlibTransport.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005152 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e94fa3391db1a423b6964b0aa6499324d05b055b",
      "tree": "31c7ea84ea0cadc3c411fa0078e88ede3f794bd4",
      "parents": [
        "f2abcf9a563849dc5861be8aa38f764525c072b1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:26 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:26 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Make TZlibTransport::flush() behave like other transports\n\nPreviously, TZlibTransport::flush() finished the zlib stream, so calling\nwrite() after flush() would result in an error.  Now it just flushes the\ndata, without finishing the stream.  A new TZlibTransport::finish()\nfunction has been added to finish the stream.\n\nThis breaks compatibility.  I\u0027m aware of anyone using this code outside\nof Facebook, though.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005151 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "f2abcf9a563849dc5861be8aa38f764525c072b1"
}
