{"push_id":637527337,"size":6,"distinct_size":6,"ref":"refs/heads/2.3-null-safe-logging","head":"513568efb134bd93dc0bc169370745fbb0855155","before":"2c0da2bfc703aa03ed8be397535de8a7af340c02","commits":[{"sha":"21149c8af9943fa956c6fddc14ff2d3800e76223","author":{"email":"1cfe25a1af55d49242b8aee168675c41b644153f@neotechnology.com","name":"Mattias Persson"},"message":"Parallel relationship import in batch importer\n\nBatches of relationships to be imported are individually analyzed whether\nor not they can be processed in parallel with its surrounding batches. The\ndeciding factor is whether or not there's any start/end node that is the\nsame as the previous batch. There can be stretches of batches that can be\nrun in parallel, batches that have completely disjoint sets of start/end\nnodes. Then when there's a batch that has some same start/end node as any\nin the current stretch of concurrently processing batches then it will\nawait all previous batches to complete before starting. Consecutive\nbatches will continue as described above.\n\nThere's a theoretical worst-case scenario where all batches have at least\none start/end node id in common, effectively removing the ability to\nparallelize any batch. This scenario is not very likely and will still\nhave the performance of the relationship import as it was before this\ncommit.\n\nDetection is done by comparing two sorted long[] in a new single-threaded\nstep. The actual sorting is done in an already existing preparation step\nbefore ths detection step and since preparation is parallelizable it will\nnot become the bottleneck (given enough CPUs available of course).\n\nRelationship import has been one of the most time consuming stages in the\nbatch importer, partly because it usually contains the most data of an\nimport, but also partly because there has been no parallelism in that stage.\nThis commit should (again, given enough available CPUs) ensure that the\nbottleneck will be raw disk I/O.","distinct":true,"url":"https://api.github.com/repos/lutovich/neo4j/commits/21149c8af9943fa956c6fddc14ff2d3800e76223"},{"sha":"42fdec93862e628ed9befdb4cb1fc4f3038f88d6","author":{"email":"017bacf1f1a6c5cf0716db4fab19fc32e02e5411@gmail.com","name":"Mark Needham"},"message":"Merge pull request #4428 from tinwelint/2.2-bip-parallel-rel-encoder\n\nParallel relationship import in batch importer","distinct":true,"url":"https://api.github.com/repos/lutovich/neo4j/commits/42fdec93862e628ed9befdb4cb1fc4f3038f88d6"},{"sha":"4f45b5939d198471d4649104fbec1f60d36ac3d9","author":{"email":"1cfe25a1af55d49242b8aee168675c41b644153f@neotechnology.com","name":"Mattias Persson"},"message":"Fixes a CSV parser issue for newlines in quotes","distinct":true,"url":"https://api.github.com/repos/lutovich/neo4j/commits/4f45b5939d198471d4649104fbec1f60d36ac3d9"},{"sha":"446423fc0d160ff9e8c440cb455ae75a00a22624","author":{"email":"1cfe25a1af55d49242b8aee168675c41b644153f@neotechnology.com","name":"Mattias Persson"},"message":"Merge branch '2.2' into 2.3\n\nConflicts:\n\tcommunity/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/RelationshipEncoderStep.java\n\tcommunity/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/RelationshipStage.java","distinct":true,"url":"https://api.github.com/repos/lutovich/neo4j/commits/446423fc0d160ff9e8c440cb455ae75a00a22624"},{"sha":"aec9e55f95b9d88ce73e3604feb2ee05509fb602","author":{"email":"fc76649b9d8bbdfbffafcf110b227f804bfc8076@neotechnology.com","name":"lutovich"},"message":"Logging of messages made null-safe and fail-fast.\n\nMake sure that we fail fast and not end up with partially written log messages when arguments of `FormattedLogger#writeLog` calls are wrong.\nNull messages and incorrect string formatting are considered wrong arguments.","distinct":true,"url":"https://api.github.com/repos/lutovich/neo4j/commits/aec9e55f95b9d88ce73e3604feb2ee05509fb602"},{"sha":"513568efb134bd93dc0bc169370745fbb0855155","author":{"email":"711c73f64afdce07b7e38039a96d2224209e9a6c@leishman.org","name":"Chris Leishman"},"message":"Test output of FormattedLog","distinct":true,"url":"https://api.github.com/repos/lutovich/neo4j/commits/513568efb134bd93dc0bc169370745fbb0855155"}]}