{"push_id":880610394,"size":58,"distinct_size":58,"ref":"refs/heads/feature-log4net-adapter","head":"3017a8d3a6c53134ad68f553e78838fc2496329d","before":"743361963071ccad526967e93256173791f99e26","commits":[{"sha":"962c0fa85963bbdafb4a1ff54e0cc54d1410e424","author":{"email":"ae80d870eb40a8fd7c256c0ec3faf2ba511ba134@ingerslev.io","name":"Emil Ingerslev"},"message":"Add optional PipeTo completion handlers\n\nAdded an optional success and failure handler to PipeTo, to simplify\nuse of Tasks. PipeTo falls back to original behavior when not supplied.","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/962c0fa85963bbdafb4a1ff54e0cc54d1410e424"},{"sha":"7cd4f799f6cd38332fe09da2162444dc4fde7447","author":{"email":"9b43cb833ea8a72acb1f6c7ce1a53cc347736900@gmail.com","name":"Bartosz Sypytkowski"},"message":"SQL-based persistence journals query support\n\nMotivation:\n\nOne of the popular problems related to Akka.Persistence is support for aggregation of events across multiple persisted streams. Since partitioned journals are part of the Akka.Persistence plugin design, this is hard to achieve using generic tools. Instead each journal provider should be allowed to define set of querying operations, it supports.\n\nPurpose of this commit is to introduce common set of querying messages to be used by all SQL-backed journals. This has been provided in form of Query message, which can take a collection of IHint parameters, that are used to specify filters around queried events. Currently there are three of them possible:\n\n- Query by provided persistence id collection.\n- Query by provided message manifest - manifest is often correlated with message type, but in this case it's won't take a inheritance rules when filtering a message.\n- Query by message timestamp range - range can be one-side open or closed one. Range is always left-side inclusive (From) and right-side exclusive (To) in order to avoid resending the same events in sliding window scenarios.\n\nIn result, journal will emit each IPersistentRepresentation containing an event wrapped in QueryResponse message. End of the transmission will be signaled by QuerySuccess message and any possible errors will cause QueryFailure to used as a reply.\n\nAdditional changes:\n\nIn addition this commit fixes issue with concurrent access to SQL transaction by creating a dedicated sql connection object for each request.\n\nBREAKING CHANGES:\n\nThe biggest change is modification of existing SQL table schemas - 'payload_type' field has been renamed to 'manifest' and aditional 'timestamp' field has been added.\n\nAnother change is a generic 'SqlJournal' class that can be used as base class for incomming journal implementations for any future specific SQL providers. Also dependent types (like 'JournalDbEngine' and 'IQueryBuilder') have been changed to make querying possible.","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/7cd4f799f6cd38332fe09da2162444dc4fde7447"},{"sha":"da8e20fd2c97890aecc4dbcf470cbcb3f688934d","author":{"email":"d7fe767e1bf76368ea399dd4882e67cfa255b65a@gmail.com","name":"Uladzimir Makarau"},"message":"Publish not sent remote messages to DeadLetters (fix for #1390)\n\n - EndpointWriter now publishes actual messages instead of LinkedListNodes to\nDeadLetters\n - RemoteDeadLetterActorRef now handles submitted dead letters","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/da8e20fd2c97890aecc4dbcf470cbcb3f688934d"},{"sha":"efdacf8bf9d179956d5af16269b837fb2dd70d57","author":{"email":"620cf0f0000b8d4acf36dc3b34867ea6f2e987a4@gmail.com","name":"Roger Johansson"},"message":"Merge pull request #1391 from takemyoxygen/1390-remote-dead-letters\n\nPublish not sent remote messages to DeadLetters (fix for #1390)","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/efdacf8bf9d179956d5af16269b837fb2dd70d57"},{"sha":"bab54d11c93075dfe1889dfea88a1a70e7a94ddf","author":{"email":"9b43cb833ea8a72acb1f6c7ce1a53cc347736900@gmail.com","name":"Bartosz Sypytkowski"},"message":"Merge pull request #1383 from emilingerslev/dev\n\nAdd optional PipeTo completion handlers","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/bab54d11c93075dfe1889dfea88a1a70e7a94ddf"},{"sha":"cdde2e89f3c0d3daa3531b5ca84271cc845c08ad","author":{"email":"fcd81c35da03b94b0d96c8c20af0e0e5e4bc08a3@ispras.ru","name":"Artem Borzilov"},"message":"Fix incorrect Exception cast in SelectionHandlerSupervisorStrategy","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/cdde2e89f3c0d3daa3531b5ca84271cc845c08ad"},{"sha":"3501f04b05f2cc2f034dbf0f56dac0dda6cf9844","author":{"email":"9b43cb833ea8a72acb1f6c7ce1a53cc347736900@gmail.com","name":"Bartosz Sypytkowski"},"message":"Merge pull request #1393 from uppi/dev\n\nFix incorrect Exception cast in SelectionHandlerSupervisorStrategy","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/3501f04b05f2cc2f034dbf0f56dac0dda6cf9844"},{"sha":"d259edeb572352cb755f3ce6ebe7857a7acbda3f","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"added raw implementation with failed tests","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/d259edeb572352cb755f3ce6ebe7857a7acbda3f"},{"sha":"6f6658c07e6742c0a9e2f82f100281122292d8f5","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"solved problem with events persist","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/6f6658c07e6742c0a9e2f82f100281122292d8f5"},{"sha":"faaf5ba4827978e3e530393d82cca70f9ca1644d","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"added tests","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/faaf5ba4827978e3e530393d82cca70f9ca1644d"},{"sha":"c634bd43078630a442964ea7d8c5ac5a890db2b6","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"extracted methods to base class","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/c634bd43078630a442964ea7d8c5ac5a890db2b6"},{"sha":"642a65ffa56857c5e47f2d4cb6f47230f30ece12","author":{"email":"620cf0f0000b8d4acf36dc3b34867ea6f2e987a4@gmail.com","name":"Roger Johansson"},"message":"Merge pull request #1306 from Horusiath/sql-persistence-queries\n\nQuery mechanism for Akka.Persistence SQL-based journals","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/642a65ffa56857c5e47f2d4cb6f47230f30ece12"},{"sha":"4b6c6499318f721052d8f7dd05b9e10ce7f29cee","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"added OnRecoveryCompleted","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/4b6c6499318f721052d8f7dd05b9e10ce7f29cee"},{"sha":"5d6b95400621b93a69b9ed46a9e0e82f1b227e33","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"added data tests","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/5d6b95400621b93a69b9ed46a9e0e82f1b227e33"},{"sha":"d2668c67c3c3acb0a374b3dda239d4e4d4fe839c","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"cleanup","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/d2668c67c3c3acb0a374b3dda239d4e4d4fe839c"},{"sha":"30e4142547e0cc492a828fc15c9bf86182dc00bb","author":{"email":"56b96133ce25ba6c3d2a543867a068234881fd32@fastdev.se","name":"maxim.salamatko"},"message":"fix c# version","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/30e4142547e0cc492a828fc15c9bf86182dc00bb"},{"sha":"dce684d907df86f5039eb2ca20727ab48d4b218a","author":{"email":"9b43cb833ea8a72acb1f6c7ce1a53cc347736900@gmail.com","name":"Bartosz Sypytkowski"},"message":"Merge pull request #1394 from maxim-s/akka-persistence-fsm-dsl\n\n#1096 Port Finite State Machine DSL to Akka.Persistence","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/dce684d907df86f5039eb2ca20727ab48d4b218a"},{"sha":"aae048c24c121964940564fdb78e268e38ad5e17","author":{"email":"ec5ded051bdd7a84b5367ae5b2de249159b52633@tintoy.io","name":"tintoy"},"message":"Implement enumerator for Composite ByteString.","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/aae048c24c121964940564fdb78e268e38ad5e17"},{"sha":"b11dafc86eb9284c2d515fd9da3599fe463a5681","author":{"email":"9b43cb833ea8a72acb1f6c7ce1a53cc347736900@gmail.com","name":"Bartosz Sypytkowski"},"message":"Become and BecomeStacked for ReceivePersistentActor","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/b11dafc86eb9284c2d515fd9da3599fe463a5681"},{"sha":"7d21526b8efc2a720996428a8dc3587bb582a8d6","author":{"email":"9c5184f256fa4e0f47ed2cae81d34eab896094fe@siliconshark.com","name":"Graeme Bradbury"},"message":"Multinode test runner alterations\n\nRefactored NodeTestRunner to allow MultinodeTestRunner to call it in\ntwo different manners.\n\n`build multinodetests` works in the same manner as in the past. Starting\na seperate process for each node that needs to be created.\n\nUsing `build multinodetests spec=<name of spec>` will limit the runner to\nstarting just the named test. In addition, the nodes will be spun up\ninside isolated AppDomains rather than as seperate processes. The final\ndifference between single test and multi test mode, is that the runner\nwill call `Debugger.Launch()` to attach VS to the test.\n\nBy automatically launching the debugger, I've been able to remove\nthe `Thread.Sleep()`s that were needed previously, reducing the test run\ntime by 50%-60%.","distinct":true,"url":"https://api.github.com/repos/onatm/akka.net/commits/7d21526b8efc2a720996428a8dc3587bb582a8d6"}]}