{"push_id":823610386,"size":2,"distinct_size":2,"ref":"refs/heads/2.3-async-log","head":"2690a50a94faa9b9faf8e38e29d6bc21ba6e8425","before":"79b583ea86d0fa1351e90528476279f2c0c0169f","commits":[{"sha":"7a68aa2fe91787cf1cd7c40651e288f2adbcaa94","author":{"email":"1cfe25a1af55d49242b8aee168675c41b644153f@neotechnology.com","name":"Mattias Persson"},"message":"Introduces asynchronous logging\n\nWhere AsyncLogProvider wraps an actual LogProvider, and internally all sub\ncomponents thereof, providing the asynchronous aspect of the logging.\nEach logging statement is registered as an event, to be processed by\na separate and dedicated logging thread in the background.\n\nThe driving reason for this is to avoid I/O waits on critical execution\npaths that does, even ever so little, logging.\n\nImplementation uses AsyncEvents, which is a lock-free unbounded queue with\na consumer for processing the log events, i.e. making the actual logging\nhappen. Logging in neo4j is considered to be scarse enough to not impose a\nheap usage problem which may theoretically be a problem for an unbounded\nqueue.","distinct":true,"url":"https://api.github.com/repos/tinwelint/neo4j/commits/7a68aa2fe91787cf1cd7c40651e288f2adbcaa94"},{"sha":"2690a50a94faa9b9faf8e38e29d6bc21ba6e8425","author":{"email":"1cfe25a1af55d49242b8aee168675c41b644153f@neotechnology.com","name":"Mattias Persson"},"message":"Only adds LogService to LifeSupport once","distinct":true,"url":"https://api.github.com/repos/tinwelint/neo4j/commits/2690a50a94faa9b9faf8e38e29d6bc21ba6e8425"}]}