{"push_id":553041344,"size":9,"distinct_size":9,"ref":"refs/heads/master","head":"d1a97e4fa95cb27f6c38d3c1c58fa382efdc22fb","before":"935500c1cfe2782bb8127dbb4aaa8ecf081db980","commits":[{"sha":"315b4152d8b92b2468174926180876be5a0d46d8","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"Update to Netty 4\n\nNetty 4 introduces major API changes, including:\n\n- All classes are under the io.netty package.\n- ChannelBuffer was renamed to ByteBuf.\n- Buffers are reference counted and optionally pooled.\n- ChannelEvent objects have been replaced by direct method\n  invocation.\n- Handler interface and base classes have been renamed.\n- The thread model has changed completely.\n\nMany of the changes are easily applied. Reference counting buffers\nrequires careful design of handlers, although for many xrootd\nhandlers most details are taken care of by the XrootdRequestHandler\nabstract base class.\n\nThe other major change is the new thread model. The ordered and\nmemory limiting executor handler is gone. Some support for\nalternate executors is present in the new pipeline implementation,\nbut there is no replacement for the memory limiting aspects.\nFor the standalone server this is hardly an issue, as the gains\nof using the separate executor were probably non-existing. For\ndCache, we have to manually hand blocking operations over to an\nexecutor, independently of Netty.\n\nI changed the design of the message decoding and buffer copy in\nthe decoder. The message implementation is now responsible for\ncopying the buffer if needed (only the read messages need it).\nIt avoids unnecessary copies and simplifies reference counting.\n\nDue to the massive API changes, channel handler plugins have to\nbe updated to work with the new version. Therefore I bumped the\nversion of xrootd4j to 2.0.\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7545/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/315b4152d8b92b2468174926180876be5a0d46d8"},{"sha":"3f8c5b7e19a93177e35a602565f1fdf762e5d9d2","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Use ByteBufAllocator to allocate ByteBuf for read data\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7580/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/3f8c5b7e19a93177e35a602565f1fdf762e5d9d2"},{"sha":"09a7710c1112bdcc9fc38f568a9129c76b6949b5","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Refactor response classes\n\n- Introduces an interface for xrootd responses\n\n- Introduces a method to allow responses to write themselves to\n  the channel rather than being bound to returning a buffer -\n  this will be used to fix a race when using zero copy reads.\n\n- Delays the encoding until the xrootd encoder is invoked rather\n  than encoding the response in the response constructor.\n\n- Exposes all response fields as getters.\n\n- More efficient encoding of read and readv responses.\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7700/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/09a7710c1112bdcc9fc38f568a9129c76b6949b5"},{"sha":"004d7a108587b1657068a66256638be7afe91aee","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Refactor request classes\n\nIntroduce an interface for requests and unify naming scheme for fields\nof request classes.\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7701/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/004d7a108587b1657068a66256638be7afe91aee"},{"sha":"c9bdbb1e8316ba511a825581940ad764c432965c","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Refer directly to US_ASCII Charset\n\nTarget: master\nAcked-by: Paul Millar <paul.millar@desy.de>\nPatch: https://rb.dcache.org/r/7702/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/c9bdbb1e8316ba511a825581940ad764c432965c"},{"sha":"c6e5c4f99f0c1e6d58e1065e45c7e4f51180e18c","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Generify response interface\n\nThe response object carries a reference to the request object. With this\npatch the type of the request is preserved in the response and the request\ncan be accessed without casting.\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7703/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/c6e5c4f99f0c1e6d58e1065e45c7e4f51180e18c"},{"sha":"b02f66640794cb1825623aa8184119dbd41adb3f","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"Update license headers to 2015.","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/b02f66640794cb1825623aa8184119dbd41adb3f"},{"sha":"e5ae9e405b9fa03be96801acca220ae2bfbfc59d","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Minor refactorings to clean up the code\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7704/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/e5ae9e405b9fa03be96801acca220ae2bfbfc59d"},{"sha":"d1a97e4fa95cb27f6c38d3c1c58fa382efdc22fb","author":{"email":"6f9af0692a7d1f914f468ec8416a8e6aa93178b4@gmail.com","name":"Gerd Behrmann"},"message":"xrootd4j: Introduce read response for zero copy replies\n\nResolves a race condition between chunked and zero copy replies.\n\nTarget: master\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/7705/","distinct":true,"url":"https://api.github.com/repos/dCache/xrootd4j/commits/d1a97e4fa95cb27f6c38d3c1c58fa382efdc22fb"}]}