{"push_id":1258487111,"size":16,"distinct_size":9,"ref":"refs/heads/3.0","head":"b4c5f931d82ad45a990342aadbbbd15b4c65bc92","before":"56297638ff8b994329daf6c5420e93e9375ce2ac","commits":[{"sha":"8e615573f28f1f9cb0b9ed3b120ea7c7e79914c4","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Rebuild indexes that fail to open\n\nIf an index that should be online fails to open on startup we would not\nbe able to apply updates to it, and it would thus become inconsistent\nwith the database. Should the index then be possible to open after a\nrestart of the database we would end up with an inconsistent index.\n\nThe situation described above is now handled by treating the index as\npermanently failed, and then taking actions to correct it. The first and\npossibly most important action is to log the failure, something that was\nnot done before. Then we recognise that the only thing a user could do\nto restore the index would be to either drop it and recreate it, or\nstop the database, delete the index store files from disk, then restart\nthe database. By automating this second option we can avoid the need for\na restart. Since we are already in the startup phase when this happens,\nwe can simply treat the index as incompletely populated instead, forcing\nthe database to rebuild the index without any further intervention.","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/8e615573f28f1f9cb0b9ed3b120ea7c7e79914c4"},{"sha":"55b6782fb34b82d3648ee57cd3a52c6785b70ffc","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Ensure that IndexProxy returns the correct config\n\nWhen performing recovery of a constraint index, the IndexProxy would\ncontain an IndexConfiguration object that said that it was a normal\nindex rather than a constraint index. This was because we did not want\nthe index to have to go through a tentative phase, but instead go to the\nonline state immediately.\n\nThis issue is solved by separating the configuration of the index from\nwhether it should flip through a tentative state or not.\n\nThere was nothing in the code that depended on this IndexConfiguration\nobject being correct after recovery, but it is possible that such code\ncould be written in the future...","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/55b6782fb34b82d3648ee57cd3a52c6785b70ffc"},{"sha":"e3e9e91ff73d5220e2d505826a02375cd0e7064a","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Remove unused code","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/e3e9e91ff73d5220e2d505826a02375cd0e7064a"},{"sha":"f0c2348e6584012839a1cf31ab792c6e6263a683","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Rebuild indexes that fail to open\n\nIf an index that should be online fails to open on startup we would not\nbe able to apply updates to it, and it would thus become inconsistent\nwith the database. Should the index then be possible to open after a\nrestart of the database we would end up with an inconsistent index.\n\nThe situation described above is now handled by treating the index as\npermanently failed, and then taking actions to correct it. The first and\npossibly most important action is to log the failure, something that was\nnot done before. Then we recognise that the only thing a user could do\nto restore the index would be to either drop it and recreate it, or\nstop the database, delete the index store files from disk, then restart\nthe database. By automating this second option we can avoid the need for\na restart. Since we are already in the startup phase when this happens,\nwe can simply treat the index as incompletely populated instead, forcing\nthe database to rebuild the index without any further intervention.","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/f0c2348e6584012839a1cf31ab792c6e6263a683"},{"sha":"f5dbb460e5b13906cbb4b2b79e226a187a628ea6","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Ensure that IndexProxy returns the correct config\n\nWhen performing recovery of a constraint index, the IndexProxy would\ncontain an IndexConfiguration object that said that it was a normal\nindex rather than a constraint index. This was because we did not want\nthe index to have to go through a tentative phase, but instead go to the\nonline state immediately.\n\nThis issue is solved by separating the configuration of the index from\nwhether it should flip through a tentative state or not.\n\nThere was nothing in the code that depended on this IndexConfiguration\nobject being correct after recovery, but it is possible that such code\ncould be written in the future...","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/f5dbb460e5b13906cbb4b2b79e226a187a628ea6"},{"sha":"1987582e9db3d8ad8e0b62b99dec12e645470328","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Remove unused code","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/1987582e9db3d8ad8e0b62b99dec12e645470328"},{"sha":"ce19eddfdd73f8abab887fa28823a22d71e9cbd5","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Allow log recording output for failed tests","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/ce19eddfdd73f8abab887fa28823a22d71e9cbd5"},{"sha":"81c197d4fcc0d2c7785a473369151e7fc2100666","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Archive failed index\n\nWhen an index is rebuilt (when the index is populated and there already\nexists data in that index directory) we now have the option to create an\narchive of the previous index files. This allows future investigation of\nwhy the index failed in the first place.","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/81c197d4fcc0d2c7785a473369151e7fc2100666"},{"sha":"e17304b4fb94504edb1d609c2f0a26b82577a485","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Explicit unboxing","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/e17304b4fb94504edb1d609c2f0a26b82577a485"},{"sha":"545fb26ded1d88ec804cf671f169cd0d3b80f8e7","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Allow log recording output for failed tests","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/545fb26ded1d88ec804cf671f169cd0d3b80f8e7"},{"sha":"b01a9bbfd98186a3caa92a9b838addf85d1f6523","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Archive failed index\n\nWhen an index is rebuilt (when the index is populated and there already\nexists data in that index directory) we now have the option to create an\narchive of the previous index files. This allows future investigation of\nwhy the index failed in the first place.","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/b01a9bbfd98186a3caa92a9b838addf85d1f6523"},{"sha":"34348f1760986064edbd03ef77b06454f4465a09","author":{"name":"Tobias Lindaaker","email":"36c5bbefeb290c7a456f392d21ced31cf0271e32@thobe.org"},"message":"Explicit unboxing","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/34348f1760986064edbd03ef77b06454f4465a09"},{"sha":"4f257cb482cfc10929d8435d306e7e3dbf32018a","author":{"name":"Chris Vest","email":"bf3fab56c1f3bc28454356fb923501be166a4c2c@gmail.com"},"message":"Fix flaky index failure test\n\nThe test assumed that indexes that had been rebuild as part of recovery, would be online afterwards.\nHowever, recovery only starts the index rebuild, but does not wait for it to complete.\nSo the test does the waiting before asserting on the state of the index.","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/4f257cb482cfc10929d8435d306e7e3dbf32018a"},{"sha":"562320c0be4006685ed6f086c12ef4e1f1964f3c","author":{"name":"Chris Vest","email":"bf3fab56c1f3bc28454356fb923501be166a4c2c@gmail.com"},"message":"Merge pull request #7745 from thobe/2.3-auto-rebuild-failed-index\n\nRebuild indexes that fail to come online at startup","distinct":false,"url":"https://api.github.com/repos/neo4j/neo4j/commits/562320c0be4006685ed6f086c12ef4e1f1964f3c"},{"sha":"abe9b2a3f4653864da8ac9b465dcfd40e04803c2","author":{"name":"Chris Vest","email":"bf3fab56c1f3bc28454356fb923501be166a4c2c@gmail.com"},"message":"Merge branch '2.3' into 3.0","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/abe9b2a3f4653864da8ac9b465dcfd40e04803c2"},{"sha":"b4c5f931d82ad45a990342aadbbbd15b4c65bc92","author":{"name":"Chris Vest","email":"bf3fab56c1f3bc28454356fb923501be166a4c2c@gmail.com"},"message":"Merge branch '3.0-auto-rebuild-failed-index' into 3.0","distinct":true,"url":"https://api.github.com/repos/neo4j/neo4j/commits/b4c5f931d82ad45a990342aadbbbd15b4c65bc92"}]}
{"actor":{"display_login":"chrisvest"}}