)]}'
{
  "log": [
    {
      "commit": "33702bba44308a1eb8623dc8261fb570e480b6cf",
      "tree": "0b0b9f19a31ed27bfe4e67fe15ecb11b6b75b1bb",
      "parents": [
        "33b9f7de28a73c867213a02cd38470e9ca78e10c"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat May 15 12:39:21 2021 +0200"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat May 15 12:39:21 2021 +0200"
      },
      "message": "Build with Java 17-ea\n"
    },
    {
      "commit": "33b9f7de28a73c867213a02cd38470e9ca78e10c",
      "tree": "6c28f1e2a2a38c9f6f93f395a1c0d4c15fd37c1e",
      "parents": [
        "4b98a4762088ecd2b2f4d32ee9c391471001f53c"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 25 20:14:50 2020 +0200"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 25 20:14:50 2020 +0200"
      },
      "message": "Force usage of updated docker image\n"
    },
    {
      "commit": "4b98a4762088ecd2b2f4d32ee9c391471001f53c",
      "tree": "a801f448b3cc1622be3eafcf5c1f073b7c1a2d2a",
      "parents": [
        "b9d9198a66149c56568e097f96edb1e0f7c6b898"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 25 19:30:04 2020 +0200"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 25 19:30:04 2020 +0200"
      },
      "message": "Add Jenkinsfile\n"
    },
    {
      "commit": "b9d9198a66149c56568e097f96edb1e0f7c6b898",
      "tree": "9f6ba7df80379ce70a310c85b28de3f4ce97ff55",
      "parents": [
        "756b07f2f022a1e267cd9f5569e56b9f6f5c60c3"
      ],
      "author": {
        "name": "emmanuel lecharny",
        "email": "elecharny@apache.org",
        "time": "Thu May 23 03:11:14 2019 +0200"
      },
      "committer": {
        "name": "emmanuel lecharny",
        "email": "elecharny@apache.org",
        "time": "Thu May 23 03:11:14 2019 +0200"
      },
      "message": "Updated the scm part\n"
    },
    {
      "commit": "756b07f2f022a1e267cd9f5569e56b9f6f5c60c3",
      "tree": "7c41e82759fda090b3e68f7d90611421606af1b3",
      "parents": [
        "cfd1791fd5c4e95644c5d7ba059e9f32527f9b01"
      ],
      "author": {
        "name": "Colm O hEigeartaigh",
        "email": "coheigea@apache.org",
        "time": "Tue May 21 15:03:13 2019 +0100"
      },
      "committer": {
        "name": "Colm O hEigeartaigh",
        "email": "coheigea@apache.org",
        "time": "Tue May 21 15:03:13 2019 +0100"
      },
      "message": "Switch to using https in the poms\n"
    },
    {
      "commit": "cfd1791fd5c4e95644c5d7ba059e9f32527f9b01",
      "tree": "9d60b6964324cecc4e6e8d67e0e39f4c430efc70",
      "parents": [
        "649f66775635f72cf496258c26a7cac8bc9d1b61"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 14 13:21:38 2018 +0200"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 14 13:21:38 2018 +0200"
      },
      "message": "Add gitignore\n"
    },
    {
      "commit": "649f66775635f72cf496258c26a7cac8bc9d1b61",
      "tree": "57705a2cf592956f5e7b2295aa76718b5994068c",
      "parents": [
        "56531a03d1fc848701395278f90b135a6d502d46"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 14 13:19:56 2018 +0200"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "mail@stefan-seelmann.de",
        "time": "Sat Jul 14 13:19:56 2018 +0200"
      },
      "message": "Update parent pom to fix build with Java 9/10/11\n"
    },
    {
      "commit": "56531a03d1fc848701395278f90b135a6d502d46",
      "tree": "4e329d9c2c4113a49f004103196416dc7d538383",
      "parents": [
        "26b375729aa010bfeff2689b161d1007dcc4c3fe"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@symas.com",
        "time": "Tue Dec 05 13:42:36 2017 +0100"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@symas.com",
        "time": "Tue Dec 05 13:42:36 2017 +0100"
      },
      "message": "Bumped up dependencies and java taget\n"
    },
    {
      "commit": "26b375729aa010bfeff2689b161d1007dcc4c3fe",
      "tree": "d345304a57f6ff8a9fa175547e4c868636ec562b",
      "parents": [
        "5f5fa0f5e9a95be45a004a4d137f9a29a9f7991d"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@symas.com",
        "time": "Tue Dec 05 13:37:46 2017 +0100"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@symas.com",
        "time": "Tue Dec 05 13:37:46 2017 +0100"
      },
      "message": "Switched to Caffeine cache\n"
    },
    {
      "commit": "5f5fa0f5e9a95be45a004a4d137f9a29a9f7991d",
      "tree": "87785ae7f9cb2e3747bf6f80f2e9eabbd4c6f34c",
      "parents": [
        "abe9dd088f73bcf1c0a051e85d21be1f29663b7d"
      ],
      "author": {
        "name": "Colm O hEigeartaigh",
        "email": "coheigea@apache.org",
        "time": "Tue Mar 01 17:09:22 2016 +0000"
      },
      "committer": {
        "name": "Colm O hEigeartaigh",
        "email": "coheigea@apache.org",
        "time": "Tue Mar 01 17:09:22 2016 +0000"
      },
      "message": "Updating to Commons Collections 3.2.2\n\n"
    },
    {
      "commit": "abe9dd088f73bcf1c0a051e85d21be1f29663b7d",
      "tree": "7734c7660cac7676448eafbb3ff7faeca929feaa",
      "parents": [
        "ab79f6bdfc82f69ac9a8b9be1c2ef0d8013bfc87"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 05 15:22:29 2016 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 05 15:22:29 2016 +0000"
      },
      "message": "Fixed a bad test\n"
    },
    {
      "commit": "ab79f6bdfc82f69ac9a8b9be1c2ef0d8013bfc87",
      "tree": "635b7e05660cee0e1696e00639fdd990a33250cd",
      "parents": [
        "23a47f40fb2f0ac18c43c2cb169bd6becfd70464"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Sep 13 16:13:34 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Sep 13 16:13:34 2015 +0000"
      },
      "message": "Uppercased some constants\n"
    },
    {
      "commit": "23a47f40fb2f0ac18c43c2cb169bd6becfd70464",
      "tree": "4f6db515b4e8a7fac4f6f9f9037cf3485da8a987",
      "parents": [
        "c2985f380f2d6cff441904dcbc86e99edc9a9e8d"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Sep 13 15:55:24 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Sep 13 15:55:24 2015 +0000"
      },
      "message": "Defined a constant for the maximum stack size\n"
    },
    {
      "commit": "c2985f380f2d6cff441904dcbc86e99edc9a9e8d",
      "tree": "35e054a42a2fcda66716d0cc2c1877fa325d6037",
      "parents": [
        "75fc058d969d87723632eccfe035676cae8e51f5"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Sep 13 15:54:27 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Sep 13 15:54:27 2015 +0000"
      },
      "message": "Renamed teh copiedPage variable to copiedPages\n"
    },
    {
      "commit": "75fc058d969d87723632eccfe035676cae8e51f5",
      "tree": "339a540a47540c98a5661e6cf94a6ff08f8f5edf",
      "parents": [
        "505acf2d3f6a394a5f2ca9c2b3c3a80bbf31f0b0"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Aug 09 10:23:06 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Aug 09 10:23:06 2015 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "505acf2d3f6a394a5f2ca9c2b3c3a80bbf31f0b0",
      "tree": "bf490366ff485aacb760fcd300ae7f05536fcfed",
      "parents": [
        "7b7850cce9cbdb4ebbd3b86cb47cec474612e012"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Aug 09 10:22:47 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Aug 09 10:22:47 2015 +0000"
      },
      "message": "[maven-release-plugin] prepare release 1.0.0-M8\n"
    },
    {
      "commit": "7b7850cce9cbdb4ebbd3b86cb47cec474612e012",
      "tree": "e981c6bc9b333a1c0e75bfe4abd36e231d7a89e0",
      "parents": [
        "6554e0adbb46ac596fc16f489eb48326d32f6032"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon Jun 29 08:16:37 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon Jun 29 08:16:37 2015 +0000"
      },
      "message": "include thread name in the error message\n\n"
    },
    {
      "commit": "6554e0adbb46ac596fc16f489eb48326d32f6032",
      "tree": "f9260a5ad444546fe9c4de3d1150211dd0dcf75e",
      "parents": [
        "1da1c704146e51e7582d850edb18b96a06c5e94d"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon Jun 29 07:52:05 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon Jun 29 07:52:05 2015 +0000"
      },
      "message": "o fixed an issue of missing pages after PageReclaimer runs by calling updateRecordManagerHeader() after reclaimer.reclaim() in runReclaimer() method\no removed explicit transaction calls inside reclaim() method\no made some methods default protected in RM\no updated tests\n\n"
    },
    {
      "commit": "1da1c704146e51e7582d850edb18b96a06c5e94d",
      "tree": "4911df778309ca5f76a99d6583beaf24ed5166d5",
      "parents": [
        "0a45c7df7c29e326b87b00aad2bcea2fadf82170"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon Jun 29 07:41:40 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon Jun 29 07:41:40 2015 +0000"
      },
      "message": "added another option to read a page using an offset\n\n"
    },
    {
      "commit": "0a45c7df7c29e326b87b00aad2bcea2fadf82170",
      "tree": "179c5259d5cad81e072866ae1481511ce90e1da6",
      "parents": [
        "9fd43c221cc465d0513bff03dfa0e42627bf29e3"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Fri May 29 07:42:34 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Fri May 29 07:42:34 2015 +0000"
      },
      "message": "o use alphabets as option characters instead of digital characters\no made inspector work on command line by accepting the db file path\n\n"
    },
    {
      "commit": "9fd43c221cc465d0513bff03dfa0e42627bf29e3",
      "tree": "d7880b59a39b33c160e7212bedda0add37bd9f0c",
      "parents": [
        "6fe11b25b1b493b406531ffaa82b1f4430f04309"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed May 27 10:00:32 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed May 27 10:00:32 2015 +0000"
      },
      "message": "o updated javadoc\no changed the signature of free() method\n\n"
    },
    {
      "commit": "6fe11b25b1b493b406531ffaa82b1f4430f04309",
      "tree": "05a3e74b044e018e8d9d704191580e0cffe09034",
      "parents": [
        "93e806e1e5b75f4446d171d112e3c8bca516688c"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 26 09:10:49 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 26 09:10:49 2015 +0000"
      },
      "message": "o replaced duplicate code from updateCheckedPages() with a call to  setCheckedPage()\no fixed incorrect offset calculation in getPageOffsets()\n\n"
    },
    {
      "commit": "93e806e1e5b75f4446d171d112e3c8bca516688c",
      "tree": "a5a3bf13981d06ad6c04690201525efd89ed2d40",
      "parents": [
        "c25f57d82b4d1ae61ecbee85757628a72752c55c"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 26 08:07:41 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 26 08:07:41 2015 +0000"
      },
      "message": "fixed javadoc\n\n"
    },
    {
      "commit": "c25f57d82b4d1ae61ecbee85757628a72752c55c",
      "tree": "19e14f57c0facd7af9aaf8175ca86f6a9f6e0f8f",
      "parents": [
        "8fa1994f3a8843527adf2ad6ed848b36c2d57d8a"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 26 07:56:55 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 26 07:56:55 2015 +0000"
      },
      "message": "o added a method to get the offsets of pages\no updated test to check offsets(still incomplete)\n\n"
    },
    {
      "commit": "8fa1994f3a8843527adf2ad6ed848b36c2d57d8a",
      "tree": "8eb016149256911b7aefc2d70b4a7d483e7c1c1d",
      "parents": [
        "a678a4a67429df7e8cc69041a204aececd595b4a"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed May 20 08:15:00 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed May 20 08:15:00 2015 +0000"
      },
      "message": "giving an appropriate name to the SpaceReclaimer\n\n"
    },
    {
      "commit": "a678a4a67429df7e8cc69041a204aececd595b4a",
      "tree": "27bf046623b680d5a5780db6e63a2a420494493f",
      "parents": [
        "3d619edf16b446f55efa9986707ef61791fad883"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Mon May 18 22:46:09 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Mon May 18 22:46:09 2015 +0000"
      },
      "message": "Some Sonar cleanup\n"
    },
    {
      "commit": "3d619edf16b446f55efa9986707ef61791fad883",
      "tree": "02568c408d623167d5bced04a19a7eb919c89005",
      "parents": [
        "a122b40f46d20887fd473c1ff1512d408d5b7c29"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun May 17 10:26:14 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun May 17 10:26:14 2015 +0000"
      },
      "message": "verifying the number of pages created\n\n"
    },
    {
      "commit": "a122b40f46d20887fd473c1ff1512d408d5b7c29",
      "tree": "8f252dcbb999b94070a0271b22b6b127fa6c0087",
      "parents": [
        "59bcb73f679ccc67a97af61bd8b916e8f4d3c710"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun May 17 10:20:48 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun May 17 10:20:48 2015 +0000"
      },
      "message": "corrected javadoc\n\n"
    },
    {
      "commit": "59bcb73f679ccc67a97af61bd8b916e8f4d3c710",
      "tree": "84c43d406b3dde5ca5d346ea41e199d57439b832",
      "parents": [
        "26c0bb2012f54233b2443f879aae4dfc32e1acad"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Thu May 14 10:06:37 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Thu May 14 10:06:37 2015 +0000"
      },
      "message": "o added a flag(for internal testing use only) to disable free page reclaimer\no added a test for verifying the internal state of the RM (work in progress)\n\n"
    },
    {
      "commit": "26c0bb2012f54233b2443f879aae4dfc32e1acad",
      "tree": "58a4f8dac7535d91b29fd011ee7912ea1297bb5d",
      "parents": [
        "bfe7ffe2fc848de36a097da805a0dc1968203609"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed May 13 08:47:00 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed May 13 08:47:00 2015 +0000"
      },
      "message": "o changed the reclaimer threshold to 70\no updated space reclaimer to clean the BTree of BTrees\no added a multi threaded test \n\n"
    },
    {
      "commit": "bfe7ffe2fc848de36a097da805a0dc1968203609",
      "tree": "7bd7636abaf1fb4068b4dc46e22147646a7113b3",
      "parents": [
        "a9450eda183be9e55234e232413c325e9ff2782e"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 12 06:20:00 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Tue May 12 06:20:00 2015 +0000"
      },
      "message": "o run reclaimer in a transaction\no added a test which demonstrates a failed page reclaiming operation when not run inside a transaction\no removed useless imports\no added a flag to skip running reclaimer when a reclaiming operation is in progress\n\n"
    },
    {
      "commit": "a9450eda183be9e55234e232413c325e9ff2782e",
      "tree": "5c85f3c6f96e05ed917628911aa7a8cefc7a4b1a",
      "parents": [
        "879a26f89df2303d5ef802921c7171dba29380ce"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:12:13 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:12:13 2015 +0000"
      },
      "message": "debug statements\n\n"
    },
    {
      "commit": "879a26f89df2303d5ef802921c7171dba29380ce",
      "tree": "795fa93baea8a6d81186168925ee29cdae6d7067",
      "parents": [
        "cce0a5be725f6c3d64367ce1dfbed3fae828328e"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:11:31 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:11:31 2015 +0000"
      },
      "message": "fixed tests to pass on windows by closing the recordmanager first before deleting the files\n\n"
    },
    {
      "commit": "cce0a5be725f6c3d64367ce1dfbed3fae828328e",
      "tree": "f0b5aef069c6ef8edaf8210f95ba3f9077bb724b",
      "parents": [
        "78fdf328a2eed3d6aeaedb53c185b812d1f0d76a"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:10:47 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:10:47 2015 +0000"
      },
      "message": "remmoved reference to non-existing variable\n\n"
    },
    {
      "commit": "78fdf328a2eed3d6aeaedb53c185b812d1f0d76a",
      "tree": "52311892c93033acb0519ccda0eb08d0c7b5ddba",
      "parents": [
        "6b5f4bb1a4b87f10db20320deaf60a78a072e9be"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:08:49 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Mon May 11 08:08:49 2015 +0000"
      },
      "message": "o reinstated the copiedPage BTree (reverted the changes made in revision 1613792)\no updated SpaceReclaimer\n\n"
    },
    {
      "commit": "6b5f4bb1a4b87f10db20320deaf60a78a072e9be",
      "tree": "0baa83140b97f70e161b1b471f3a08daf62b5c90",
      "parents": [
        "184ff3df07bfceb80ad430aa41bcb7c649035276"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Apr 05 15:40:14 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Apr 05 15:40:14 2015 +0000"
      },
      "message": "call next() on cursor to avoid infinite loop \n\n"
    },
    {
      "commit": "184ff3df07bfceb80ad430aa41bcb7c649035276",
      "tree": "91b809f4931a105bf95c507f33156d246140be33",
      "parents": [
        "594e66c1621bd4f930753f7bd753548430a29bcb"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Thu Apr 02 10:15:42 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Thu Apr 02 10:15:42 2015 +0000"
      },
      "message": "o added a setter for reclaimer threshold\no added a test for reclaimer (in progress)\n\n"
    },
    {
      "commit": "594e66c1621bd4f930753f7bd753548430a29bcb",
      "tree": "e1d4e7dc4ccbbcbec73c38e2ea1ea604dbb16563",
      "parents": [
        "1f333a8a91ca2a58228b6c5678d17381b36e08ba"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Thu Apr 02 07:51:58 2015 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Thu Apr 02 07:51:58 2015 +0000"
      },
      "message": "do not swallo exception\n\n"
    },
    {
      "commit": "1f333a8a91ca2a58228b6c5678d17381b36e08ba",
      "tree": "a426c0c7209fc3dbc1438b9388efb592a88ceac8",
      "parents": [
        "0ebdb4e6867e603b649fc1c70061bb742fd0b2f6"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 12:27:30 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 12:27:30 2015 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "0ebdb4e6867e603b649fc1c70061bb742fd0b2f6",
      "tree": "9ab36455750b4d5e2057e68f391e9ec6baf722eb",
      "parents": [
        "6fb097a94a3fb31c2dc6dc885c53025a04d3a647"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 12:27:02 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 12:27:02 2015 +0000"
      },
      "message": "[maven-release-plugin] prepare release 1.0.0-M7\n"
    },
    {
      "commit": "6fb097a94a3fb31c2dc6dc885c53025a04d3a647",
      "tree": "8daa7b678b5a33df7b364d9969860efd01bd4159",
      "parents": [
        "fd99593ed1d2de361f573d46576cc881cb422454"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 11:57:09 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 11:57:09 2015 +0000"
      },
      "message": "Updated the dataStructure image\n"
    },
    {
      "commit": "fd99593ed1d2de361f573d46576cc881cb422454",
      "tree": "e11e2c4dfb078a930e85c2f026b1f5ea033bcbda",
      "parents": [
        "1ea8acb17281f6fed0c66d149229dc57d98bc4bd"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 11:51:40 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 11:51:40 2015 +0000"
      },
      "message": "Added a logger definition for TXNs\n"
    },
    {
      "commit": "1ea8acb17281f6fed0c66d149229dc57d98bc4bd",
      "tree": "7b2300f3a5e19bdca9384222157b8efb45f261f4",
      "parents": [
        "90b476f11b753510c411259a1be16bd806965f02"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 11:50:52 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 22 11:50:52 2015 +0000"
      },
      "message": "Added an (ignored) test for transactions\n"
    },
    {
      "commit": "90b476f11b753510c411259a1be16bd806965f02",
      "tree": "8e96fa6339eeaedf2a139e25dbeda6a77162ba63",
      "parents": [
        "55f676300a59a5d1abfa0cc62ac493114542134c"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Mon Mar 09 06:30:49 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Mon Mar 09 06:30:49 2015 +0000"
      },
      "message": "Speedup: we don\u0027t write the recordManager everytime a btree is modified, we do that when a full transaction is committed. Otherwise, we had this page written twice, once when the B-tree was updated, and another one when the BoB B-tree was updated.\n"
    },
    {
      "commit": "55f676300a59a5d1abfa0cc62ac493114542134c",
      "tree": "654088db502af9fe30a9cdf48696066cf6139756",
      "parents": [
        "55d867501d55c68a1d161a6940fd2f3bec782dde"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 08 17:24:55 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 08 17:24:55 2015 +0000"
      },
      "message": "o Added a dedicated logger for the transaction : TXN_LOG\no Removed the lock from the AbstractTransactionManager\no Added a map to keep a track of the number of times a page is written\no Fixes in the way we handle transactions in the RM\no Added some explicit generics\n"
    },
    {
      "commit": "55d867501d55c68a1d161a6940fd2f3bec782dde",
      "tree": "d6abc8648a1cd394ea9ad0bbd39de4f64f3cd9c4",
      "parents": [
        "dd3e915def3416caa0b01028b073620e546d5787"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Mar 05 10:33:03 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Mar 05 10:33:03 2015 +0000"
      },
      "message": "Added \ta boundary check in the RecordManager.readBytes() method. That will log an error message too.\n"
    },
    {
      "commit": "dd3e915def3416caa0b01028b073620e546d5787",
      "tree": "ef6e226a3d63393aa273be985b2741bf343d0ee0",
      "parents": [
        "9fb7e123b47c97886a6bc7ecde1f01370d97029b"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Mar 04 00:54:41 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Mar 04 00:54:41 2015 +0000"
      },
      "message": "o Set the caseSize to DEFAULT_CACHE_SIZE if it\u0027s 0\no Suppressed some useless code in the browsefrom method\n"
    },
    {
      "commit": "9fb7e123b47c97886a6bc7ecde1f01370d97029b",
      "tree": "3f117e985240b13c4b9ccf6c364083f25c7f89b3",
      "parents": [
        "f2d6235e17160cfb77e1f9e0abefff165df1c92c"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 01 06:10:41 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 01 06:10:41 2015 +0000"
      },
      "message": "The browse test with 500 random btrees now test the backward browse too.\n"
    },
    {
      "commit": "f2d6235e17160cfb77e1f9e0abefff165df1c92c",
      "tree": "5713d514bf9cbdd783f7c841827c89a9abcf06c4",
      "parents": [
        "0b962e963191dbde9067732e61c85c63be82a6f0"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 01 04:49:36 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Mar 01 04:49:36 2015 +0000"
      },
      "message": "Refactored the PersistedLeaf browse(K) method. That should fix DIRSERVER-2047\n"
    },
    {
      "commit": "0b962e963191dbde9067732e61c85c63be82a6f0",
      "tree": "03061e7e5ca78b00f7e04a5121d3088f6422c1ef",
      "parents": [
        "749e9f269f7cde649f7c79ddbb5d1f55ddbc1ac8"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sat Feb 28 15:58:05 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sat Feb 28 15:58:05 2015 +0000"
      },
      "message": "o Fixed the EmptyTupleCursor class\n"
    },
    {
      "commit": "749e9f269f7cde649f7c79ddbb5d1f55ddbc1ac8",
      "tree": "477336ae3d3c30e44f40010c03107a51ce3e33b1",
      "parents": [
        "381b986ff2d1a3dc58bafc9fff9aa47237eb44de"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 27 07:37:54 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 27 07:37:54 2015 +0000"
      },
      "message": "Removed useless code, thanks to Lin Zhao ! \n"
    },
    {
      "commit": "381b986ff2d1a3dc58bafc9fff9aa47237eb44de",
      "tree": "3fb67c1bb3dc663c94f032c27ae21f4a87748a44",
      "parents": [
        "9e83907abe9e77008a8589ff2366670a296b4dcb"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 25 15:19:55 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 25 15:19:55 2015 +0000"
      },
      "message": "o A few optimization in the browse(K) method\no Fixed a NPE (DIRSERVER-20147) applying Lin\u0027s suggested patch\no Removed some spurious Sysout.println\n"
    },
    {
      "commit": "9e83907abe9e77008a8589ff2366670a296b4dcb",
      "tree": "732ba76ab8f1df228f923b27c0114eb366dbedfe",
      "parents": [
        "1aa6bf278582bbd7258e95b08d382ce0e7f3a2e7"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Feb 24 13:43:59 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Feb 24 13:43:59 2015 +0000"
      },
      "message": "o Huge refactoring of the BulkLoad feature. We now are capable to bulk load elements with multiple values\no Removed useless sysout\no Added a setValues() method in Page\no The BtreHeaderOffset and BTreeInfoOffset default value is now NO_PAGE\no The subtrees are now created in one step, then written in a second step, to avoid creating pages that will be immediately reused\no raw keys are marked with the deserialied value as :\u003cK\u003e in the KeyHolder.toString() method\no Fixed a NPE in PersistedLeaf.toString() method\n\n\n\n\n"
    },
    {
      "commit": "1aa6bf278582bbd7258e95b08d382ce0e7f3a2e7",
      "tree": "2a722910dc849ab0e2385059ef36edb62cb27d41",
      "parents": [
        "4868cef8d73ba5f34ce422b0555cc72269194a23"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 20 08:02:14 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 20 08:02:14 2015 +0000"
      },
      "message": "Updated the Javadoc\n"
    },
    {
      "commit": "4868cef8d73ba5f34ce422b0555cc72269194a23",
      "tree": "b3891bc0799e9182b3048fa35e4861371a664d63",
      "parents": [
        "9d81c7b453b2791b3e3b8b791b0ae6ca6bdaefe4"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 19 09:46:27 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 19 09:46:27 2015 +0000"
      },
      "message": "o Made the BulkLoader a class with static methods\no Externalized the LevelInfo class\n"
    },
    {
      "commit": "9d81c7b453b2791b3e3b8b791b0ae6ca6bdaefe4",
      "tree": "b00ab13ac0d63848704065cb701e4d194ed3c499",
      "parents": [
        "ab9078c3390ddfd3db8fe26d0ffbbb0f88cbe9b7"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 18 14:47:18 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 18 14:47:18 2015 +0000"
      },
      "message": "o Fixed the browse(K) method\no Partial fix for the sub-btree creation : it\u0027s not enough, we need to rewrite the PersistedValue.build() method, but at least, for values with less than 16 values, it works (we weren\u0027t writing the created pages to disk, and we still don\u0027t for nodes)\no Added some bulkLoader test, @Ignoring the one which failes\no \n"
    },
    {
      "commit": "ab9078c3390ddfd3db8fe26d0ffbbb0f88cbe9b7",
      "tree": "7b4272c58d8d6f06e7577e973ef4c2bdb32c3c60",
      "parents": [
        "6065f8a3bb87942fd41199c5f136b69c73937e5e"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 18 13:34:02 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 18 13:34:02 2015 +0000"
      },
      "message": "Fixed the way we count elements in the bulk loader : when two tuples have the same key, they count for one single element.\n"
    },
    {
      "commit": "6065f8a3bb87942fd41199c5f136b69c73937e5e",
      "tree": "c43ade04bb51e9777af0aa8dd828595a3a767a64",
      "parents": [
        "2bcabe09c196f9ac677c5177918d9a2dcfebe513"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sat Feb 14 09:16:57 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sat Feb 14 09:16:57 2015 +0000"
      },
      "message": "Use the parameter instead of calling a method\n"
    },
    {
      "commit": "2bcabe09c196f9ac677c5177918d9a2dcfebe513",
      "tree": "31c7ab17cb5edd98f13ab74e63d9374b277d63d4",
      "parents": [
        "e18de22296347d180cf7fa56c141d3b970115457"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 13 13:40:11 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 13 13:40:11 2015 +0000"
      },
      "message": "o Fixed the hasNext() method which was returning false when teh cursor was on the end of a page\n"
    },
    {
      "commit": "e18de22296347d180cf7fa56c141d3b970115457",
      "tree": "e2b959fdb675750b38d6da97a55fbdd535023187",
      "parents": [
        "b281aa4f7e8c04b998b9270ffe35b86ac52f26ea"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 13 13:38:38 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Fri Feb 13 13:38:38 2015 +0000"
      },
      "message": "o Fixed the browse(K,...) method, which was incorrectly positioning the cursor when the key was not found in the BTree, and when the closest higher key was on a next page.\no Added a test to check that the browse method works\n"
    },
    {
      "commit": "b281aa4f7e8c04b998b9270ffe35b86ac52f26ea",
      "tree": "f6a9ff959c05efb44c07a9d8fb423b1b577f3e8d",
      "parents": [
        "95a0c967003043a356f206ed156b49ec87db3a5a"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 12 10:07:15 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 12 10:07:15 2015 +0000"
      },
      "message": "Fixed the test which was failing\n"
    },
    {
      "commit": "95a0c967003043a356f206ed156b49ec87db3a5a",
      "tree": "f71a84ab259c4e98811f9efd8394aaf04c088355",
      "parents": [
        "a86f34b02b7b0c9f170d74b96b4599166ac499ec"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 12 08:59:25 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 12 08:59:25 2015 +0000"
      },
      "message": "Fixed the test, which was not injecting all the values\n"
    },
    {
      "commit": "a86f34b02b7b0c9f170d74b96b4599166ac499ec",
      "tree": "0f2e115e5b37fa9023ca4405e0d13da74e8cb49b",
      "parents": [
        "27c150c877531b21fed0b9cafb865783edb84aee"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 12 01:30:14 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Feb 12 01:30:14 2015 +0000"
      },
      "message": "Adding a test that checks we can browse a btree with random keys. Currently, this test is failing, we have some issue in teh way we build the browser.\n"
    },
    {
      "commit": "27c150c877531b21fed0b9cafb865783edb84aee",
      "tree": "17ef5241eef38402804543794ab2a3e2053bbb36",
      "parents": [
        "4f07a5fd8f341ea23f647975e472be60f9d6604e"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 11 08:52:07 2015 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Feb 11 08:52:07 2015 +0000"
      },
      "message": "Bumped up dependency versions\n"
    },
    {
      "commit": "4f07a5fd8f341ea23f647975e472be60f9d6604e",
      "tree": "5952922211fc640fa3c5d30435757352d663b716",
      "parents": [
        "bb2b6d5e7235268493943ebbf6d95bf2dcd86d7e"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "seelmann@apache.org",
        "time": "Sun Dec 14 17:34:42 2014 +0000"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "seelmann@apache.org",
        "time": "Sun Dec 14 17:34:42 2014 +0000"
      },
      "message": "Remove versions managed by parent. Remove slf4j-log4j and commons-io runtime dependency, only required for tests.\n"
    },
    {
      "commit": "bb2b6d5e7235268493943ebbf6d95bf2dcd86d7e",
      "tree": "8c32c166b76acc87c4e45cd66576ce9d9f5d6e41",
      "parents": [
        "e89a93065c8d57788919fd13116212d7e4b05584"
      ],
      "author": {
        "name": "Stefan Seelmann",
        "email": "seelmann@apache.org",
        "time": "Tue Dec 02 18:18:53 2014 +0000"
      },
      "committer": {
        "name": "Stefan Seelmann",
        "email": "seelmann@apache.org",
        "time": "Tue Dec 02 18:18:53 2014 +0000"
      },
      "message": "Generate manifest by maven-bundle-plugin, switch back to packaging\u003dbundle\n"
    },
    {
      "commit": "e89a93065c8d57788919fd13116212d7e4b05584",
      "tree": "38994a0432991677ab765c6ae58e70433e840300",
      "parents": [
        "f70d31157ddb30cfb4b827e254d881a26e1c1b1d"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:43:24 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:43:24 2014 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "f70d31157ddb30cfb4b827e254d881a26e1c1b1d",
      "tree": "c63eadb0bd9b9b8869137eb2fb1421fdb36ac7b8",
      "parents": [
        "9f777f24fd806f45d88263b6073f5ea13b0c66ec"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:43:07 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:43:07 2014 +0000"
      },
      "message": "[maven-release-plugin] prepare release 1.0.0-M6\n"
    },
    {
      "commit": "9f777f24fd806f45d88263b6073f5ea13b0c66ec",
      "tree": "51672f874aa49ffe19ff036b17610a496966b214",
      "parents": [
        "589b651826b10afe3303dcf22fe3fc2c18af2e36"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:14:33 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:14:33 2014 +0000"
      },
      "message": "Added support for multiple-value bulkload.\n"
    },
    {
      "commit": "589b651826b10afe3303dcf22fe3fc2c18af2e36",
      "tree": "4701b9343a120442908cfdd77bbedbff39bbf64a",
      "parents": [
        "f398635b27e7c4a694cee63075d046aa4be2f869"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:04:25 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Wed Nov 12 10:04:25 2014 +0000"
      },
      "message": "Added a logger to avoid writing info on the console\n"
    },
    {
      "commit": "f398635b27e7c4a694cee63075d046aa4be2f869",
      "tree": "5e220bf26416dd8b6f2b7fb1388d96a0ddd81d31",
      "parents": [
        "e21c2e2f60ffdacbba4ecf2aed18319168f83531"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:13:03 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:13:03 2014 +0000"
      },
      "message": "Minor cleanup\n"
    },
    {
      "commit": "e21c2e2f60ffdacbba4ecf2aed18319168f83531",
      "tree": "05abb2ae5fa9fab662233367315d68366786fbb5",
      "parents": [
        "dc4e7da6a29acdad18ef7005ff7a8fb862231f24"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:12:42 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:12:42 2014 +0000"
      },
      "message": "Using a TreeMap instead of a Set for the bulkloading of elements with multiple-values\n"
    },
    {
      "commit": "dc4e7da6a29acdad18ef7005ff7a8fb862231f24",
      "tree": "d6136ec9f71ebeeb11db1e645ccb37e04be17c44",
      "parents": [
        "2809ad1231a46d61e1da5ae6ba72b0f377a23866"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:12:02 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:12:02 2014 +0000"
      },
      "message": "Delete the temporary file after the end of the test\n"
    },
    {
      "commit": "2809ad1231a46d61e1da5ae6ba72b0f377a23866",
      "tree": "44c8746fd59fb164aa38bdd4a4907d6d4f0853cb",
      "parents": [
        "52082141c03ae408fd7f3119e10ccdec697646bd"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:11:29 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:11:29 2014 +0000"
      },
      "message": "o Added a test for multi-values element (@Ignored)\n\n"
    },
    {
      "commit": "52082141c03ae408fd7f3119e10ccdec697646bd",
      "tree": "08cfda61fd6b4b3389aa8ccb0fa39383203fa8b7",
      "parents": [
        "476225981817e68cadc5ee716dd1c099832b5e3d"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:07:15 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 23:07:15 2014 +0000"
      },
      "message": "Updated the reference to the latest \u0027project\u0027 version (33)\n"
    },
    {
      "commit": "476225981817e68cadc5ee716dd1c099832b5e3d",
      "tree": "e17a93cfb3c555f3f944a6a393336969ded03c45",
      "parents": [
        "1bd372f3a52b908c5b9c989eb5997c861b1b6e84"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 22:57:07 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 22:57:07 2014 +0000"
      },
      "message": "Removed the log4j dependency (MAVIBOT-36)\n"
    },
    {
      "commit": "1bd372f3a52b908c5b9c989eb5997c861b1b6e84",
      "tree": "806f413da6d6ad8220fd91b0461bbfa1037ea563",
      "parents": [
        "1d7a7b859e715129f8698ecb97f4e040bd54963a"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 11:37:26 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 11:37:26 2014 +0000"
      },
      "message": "o Bulkloader code cleanup\no Deleting the temprorary files when quiting the tests\n"
    },
    {
      "commit": "1d7a7b859e715129f8698ecb97f4e040bd54963a",
      "tree": "23614b067bbf322e9d666b32465d58e4ee03689f",
      "parents": [
        "bb9e17fe79199d876762b7d24c05c6b430a73408"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 01:56:50 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 01:56:50 2014 +0000"
      },
      "message": "o Added some tests for the bulkLoader\no Ignored the InMemoryBtreeBuilder atm.\n"
    },
    {
      "commit": "bb9e17fe79199d876762b7d24c05c6b430a73408",
      "tree": "29ca46b204ef2821ff35c690a7de7cf992a8cbe8",
      "parents": [
        "8b46c8264bcd0c117929c93492ec2e407f6c4908"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 01:55:54 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Nov 11 01:55:54 2014 +0000"
      },
      "message": "o Fixed the getPage and getReference methods so that they don\u0027t throw NPE\no Huge refactoring of the InMemoryBtreeBuilder, which now takes a configuration instance\no Added a toString method to the KeyHolder class\no Added the BulkLoader class which can bulkload a complete BTree (persistent btree only atm)\n"
    },
    {
      "commit": "8b46c8264bcd0c117929c93492ec2e407f6c4908",
      "tree": "77894cdfed42f992713e3a0bd11e2a5b248ad1eb",
      "parents": [
        "f4336de5880196f8650b1f8e3d68b17fc6ed592a"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Oct 16 17:36:58 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Oct 16 17:36:58 2014 +0000"
      },
      "message": "o Added a getValueComparator() method in Btree\no Renamed the getComparator() method to getKeyComparator()\no Fixed a failing test in PersistedBTreeBuilderTest\n\n"
    },
    {
      "commit": "f4336de5880196f8650b1f8e3d68b17fc6ed592a",
      "tree": "449b0af2a558681412113b2d23cf6d8d67191f0f",
      "parents": [
        "f0e3c1f70a7f7c7288107794422e83ef64f8b8e8"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Sep 25 06:14:06 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Thu Sep 25 06:14:06 2014 +0000"
      },
      "message": "Renamed a variable for clarity\n"
    },
    {
      "commit": "f0e3c1f70a7f7c7288107794422e83ef64f8b8e8",
      "tree": "c376d6866c513c32f0e471820eed7b36e09bd7fd",
      "parents": [
        "849cda28fadcc6db4d80e54648e422c0f117248e"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:58:16 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:58:16 2014 +0000"
      },
      "message": "Added the setter for the envdir Filepath\n"
    },
    {
      "commit": "849cda28fadcc6db4d80e54648e422c0f117248e",
      "tree": "3f6639dff1a5abae4678604c4af7bbff931ec561",
      "parents": [
        "1361b1860583abb61089bbe84cb2fd3461027efc"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:48:26 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:48:26 2014 +0000"
      },
      "message": "Added a TupleComparator which is used when we sort tuples.\n"
    },
    {
      "commit": "1361b1860583abb61089bbe84cb2fd3461027efc",
      "tree": "40e8a2396e64d0fc18a1ec7de5bf9d7f1579f869",
      "parents": [
        "ed2c46fd3d6dbe7ca6876a1c9332321e6ebce8b4"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:46:58 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:46:58 2014 +0000"
      },
      "message": "o The class now implements Comparable\no Added a Comparator for the keys\no Added the missing hasCode() and equals() methods\n"
    },
    {
      "commit": "ed2c46fd3d6dbe7ca6876a1c9332321e6ebce8b4",
      "tree": "4a3a89fb8f60987e0fe0209c8df258e32136b569",
      "parents": [
        "a7c1c294f1bb8989511b0d861d5c0c93bbede577"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:27:28 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:27:28 2014 +0000"
      },
      "message": "Fixed for MAVIBOT-42 : we now create a new instance for each resulting tuple instead of using a class instance\n"
    },
    {
      "commit": "a7c1c294f1bb8989511b0d861d5c0c93bbede577",
      "tree": "a664bd6dd4612399466f5fc1191d658727214446",
      "parents": [
        "b7f78341747b7febdac619ed9990618786e1db46"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:21:25 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Tue Sep 23 04:21:25 2014 +0000"
      },
      "message": "Added some missing Javadoc\n"
    },
    {
      "commit": "b7f78341747b7febdac619ed9990618786e1db46",
      "tree": "383f5692c31f052b4e6e1fd95bb5aab71be56b9d",
      "parents": [
        "f624aa70f271d211426c5f119067c8a5c89f573a"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed Aug 06 12:02:19 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed Aug 06 12:02:19 2014 +0000"
      },
      "message": "fixed the free() method, this was not freeing the associated PageIOs\n\n"
    },
    {
      "commit": "f624aa70f271d211426c5f119067c8a5c89f573a",
      "tree": "724c91d92cc6e0a83b0cdf7c75a3b13d3ddcb9d5",
      "parents": [
        "32b7b4b2e880590ed33ca76dbda8983761ea3179"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed Aug 06 12:01:19 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed Aug 06 12:01:19 2014 +0000"
      },
      "message": "made the classes serializable\n\n"
    },
    {
      "commit": "32b7b4b2e880590ed33ca76dbda8983761ea3179",
      "tree": "8f31c4101f6c73efff23882a950dda8f5cfe0baa",
      "parents": [
        "b6102dad2a6809eb4c927007bad0b8147d69271f"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Aug 03 18:25:41 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Aug 03 18:25:41 2014 +0000"
      },
      "message": "o added support for replacing value of an existing key\no fixed an issue in InMemoryBTree when a key already exists\no fixed an NPE in findLeftMost() findRightMost() of PersistedLeaf of a persisted sub-BTree\no made RevisionName serializable\no added and updated tests\n\n"
    },
    {
      "commit": "b6102dad2a6809eb4c927007bad0b8147d69271f",
      "tree": "da2db19fd349f8eff8de397c7050e7fd81a9e193",
      "parents": [
        "5b8cc96b61fbafe24f1bd365497c65815a7509f3"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Jul 27 13:41:02 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Jul 27 13:41:02 2014 +0000"
      },
      "message": "o added a class for reclaiming space by freeing up the copied pages\no the copied pages are now stored in a concurrent hashmap instead of a BTree\no the copied page map is processed after reaching a certain write commit count\no updated a test and removed another unused test\n\n"
    },
    {
      "commit": "5b8cc96b61fbafe24f1bd365497c65815a7509f3",
      "tree": "3f6dc01c1218a717464203616e2062420fbd22ab",
      "parents": [
        "18dd174b2e2f06fb1c2a7adad118346d75b731b3"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Jul 27 13:37:15 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Sun Jul 27 13:37:15 2014 +0000"
      },
      "message": "a new data structure to hold revision number and offsets of the copied pages of that revision\n\n"
    },
    {
      "commit": "18dd174b2e2f06fb1c2a7adad118346d75b731b3",
      "tree": "6b05d46b7e97371792eb95c6ff00bed28875ecc5",
      "parents": [
        "f3dd13445241cb0f18f5bd708639b5c573bd4b6c"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Mon Jul 14 08:23:16 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Mon Jul 14 08:23:16 2014 +0000"
      },
      "message": "Fixed the bad CPB offset (due to a wrong LongArray deserialization)\n"
    },
    {
      "commit": "f3dd13445241cb0f18f5bd708639b5c573bd4b6c",
      "tree": "11702653ebae2e1c2fe57b003493d268e351e9c7",
      "parents": [
        "ba5a83b8175f31023210d4f9ead3077765f264c4"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Fri Jul 11 12:35:52 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Fri Jul 11 12:35:52 2014 +0000"
      },
      "message": "o made CPB field and checkOffset() method package protected\no added a test that demonstrates bad offset values present in CPB after reloading RM \n\n"
    },
    {
      "commit": "ba5a83b8175f31023210d4f9ead3077765f264c4",
      "tree": "07f9b6119cf4307aa6940650d5d33ff1ba1e7a6f",
      "parents": [
        "a87cbd2a69d2f0894d750fe2716aea2740dc1afa"
      ],
      "author": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed Jul 09 14:47:27 2014 +0000"
      },
      "committer": {
        "name": "Kiran Ayyagari",
        "email": "kayyagari@apache.org",
        "time": "Wed Jul 09 14:47:27 2014 +0000"
      },
      "message": "set nbUsers to zero in the clone\n\n"
    },
    {
      "commit": "a87cbd2a69d2f0894d750fe2716aea2740dc1afa",
      "tree": "65b64186e005e00cd74f0664f9ed1af145b0cf0e",
      "parents": [
        "0bfbd1849137e32f7909c3d7831df87513b94527"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 15:06:40 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 15:06:40 2014 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "0bfbd1849137e32f7909c3d7831df87513b94527",
      "tree": "8e0ba821d44b3581fd5ebb5b04cb54045fba79c7",
      "parents": [
        "7c067e8d9d89a4885847ab4884bf0fbfcd632ab7"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 15:06:06 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 15:06:06 2014 +0000"
      },
      "message": "[maven-release-plugin] prepare release 1.0.0-M5\n"
    },
    {
      "commit": "7c067e8d9d89a4885847ab4884bf0fbfcd632ab7",
      "tree": "63c7f8d0ad1c9a64a3a201ae8623d801daac668a",
      "parents": [
        "cb2a6bbbfdac0deb6f19fcb93163fe65711690a4"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 14:54:12 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 14:54:12 2014 +0000"
      },
      "message": "Replave the tags/1.0.0-M5 in the scm part by trunk\n"
    },
    {
      "commit": "cb2a6bbbfdac0deb6f19fcb93163fe65711690a4",
      "tree": "0a584c180349390f776e4d1789514b5f27603267",
      "parents": [
        "d0f622043ce349d848856cceb8bac118e6082fda"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 14:52:02 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 14:52:02 2014 +0000"
      },
      "message": "[maven-release-plugin] rollback the release of 1.0.0-M5\n"
    },
    {
      "commit": "d0f622043ce349d848856cceb8bac118e6082fda",
      "tree": "8e0ba821d44b3581fd5ebb5b04cb54045fba79c7",
      "parents": [
        "777c8ca43cb198fcf4579c4a79bf428c3aa9be0f"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 11:59:46 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 11:59:46 2014 +0000"
      },
      "message": "[maven-release-plugin] prepare release 1.0.0-M5\n"
    },
    {
      "commit": "777c8ca43cb198fcf4579c4a79bf428c3aa9be0f",
      "tree": "0a584c180349390f776e4d1789514b5f27603267",
      "parents": [
        "2081c36dd6fd04bb2b7c8100d72b0ae9981ae91a"
      ],
      "author": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 11:57:16 2014 +0000"
      },
      "committer": {
        "name": "Emmanuel Lécharny",
        "email": "elecharny@apache.org",
        "time": "Sun Jun 29 11:57:16 2014 +0000"
      },
      "message": "[maven-release-plugin] rollback the release of 1.0.0-M5\n"
    }
  ],
  "next": "2081c36dd6fd04bb2b7c8100d72b0ae9981ae91a"
}
