{"push_id":1564884955,"size":1,"distinct_size":1,"ref":"refs/heads/trunk","head":"fc1cfe475e8ae8458d8ddf119ce18d0c64653a70","before":"1f2ee5f0a9dfc33e34362f7cd4ac45edaabe421b","commits":[{"sha":"fc1cfe475e8ae8458d8ddf119ce18d0c64653a70","author":{"name":"Ismael Juma","email":"e6abb59dc9dfc569a27afac0f1a05d72488c0302@juma.me.uk"},"message":"MINOR: Remove Struct from Request/Response classes\n\nMore details:\n* Replaced `struct` field in Request/Response with a `toStruct` method. This\nmakes the performance model (including memory usage) easier to understand.\nNote that requests have `toStruct()` while responses have `toStruct(version)`.\n* Replaced mutable `version` field in `Request.Builder` with an immutable\nfield `desiredVersion` and a `version` parameter passed to the `build` method.\n* Optimised `handleFetchRequest` to avoid unnecessary creation of `Struct`\ninstances (from 4 to 2 in the worst case and 2 to 1 in the best case).\n* Various clean-ups in request/response classes and their test. In particular,\nit is now clear what we are testing. Previously, it looked like we were testing\nmore than we really were.\n\nWith this in place, we could remove `AbstractRequest.Builder` in the future by\ndoing the following:\n* Change `AbstractRequest.toStruct` to accept a version (like responses).\n* Change `AbstractRequest.version` to be `desiredVersion` (like `Builder`).\n* Change `ClientRequest` to take `AbstractRequest`.\n* Move validation from the `build` methods to the request constructors or\nstatic factory methods.\n* Anything else required for the code to compile again.\n\nAuthor: Ismael Juma <ismael@juma.me.uk>\n\nReviewers: Apurva Mehta <apurva.1618@gmail.com>, Jason Gustafson <jason@confluent.io>\n\nCloses #2513 from ijuma/separate-struct","distinct":true,"url":"https://api.github.com/repos/apache/kafka/commits/fc1cfe475e8ae8458d8ddf119ce18d0c64653a70"}]}
{"actor":{"display_login":"asfgit"}}