{"push_id":612070364,"size":18,"distinct_size":8,"ref":"refs/heads/master","head":"411aea35ce276866be83aeb42d37a7ac156c7031","before":"68c49f2c66b7bc7d9a690e8b6d0cfd8db127a7fd","commits":[{"sha":"1885f0c5452cebad26579b51ef3907fe84aae237","author":{"email":"be0d84d4a31014de3b65a78138cde6d6373a985a@gmail.com","name":"Bosky"},"message":"worker does draining","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/1885f0c5452cebad26579b51ef3907fe84aae237"},{"sha":"f6463f74c8b94e6c02ed905ac60ac3c2aca94e69","author":{"email":"be0d84d4a31014de3b65a78138cde6d6373a985a@gmail.com","name":"Bosky"},"message":"Handle broker down, restarts, and change in kafka config\n\nAdditional features are:\n- Support creation of new topic, querying it and replying. fixes #2\n- Buffers messages during network partition, and resends them\n- Sends batches as sync calls instead of asyn calls, to ack reply\n- Several more callbacks such as:\n\n    EKAF_CALLBACK_FLUSH\n    EKAF_CALLBACK_FLUSHED_REPLIED\n    EKAF_CALLBACK_WORKER_DOWN\n    EKAF_CALLBACK_WORKER_UP\n    EKAF_CALLBACK_DOWNTIME_SAVED\n    EKAF_CALLBACK_DOWNTIME_REPLAYED\n    EKAF_CALLBACK_TIME_TO_CONNECT\n    EKAF_CALLBACK_TIME_DOWN\n\n- Added ekaf_demo.erl that is useful to try out ekaf","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/f6463f74c8b94e6c02ed905ac60ac3c2aca94e69"},{"sha":"cc54adb2eaebf439e959e11a42c3290228b8ea75","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Bootstrap topic better, expose ekaf:bootstrap()\n\nEarlier, there was a race condition since i did this from within\nthe ekaf metadata setup. Now taking this out, and letting the\nuser decide when to call it. it will now be safe.\n\nother small refactoring, resulting in faster ekaf_server creation\nfor an unknown topic","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/cc54adb2eaebf439e959e11a42c3290228b8ea75"},{"sha":"3b1b27e3239657a7a1e66317928b7eff9fd980ea","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Main worker gen_fsm loop will handle incoming tcp data\n\nEarlier attempted to spawn off a pid to do so.","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/3b1b27e3239657a7a1e66317928b7eff9fd980ea"},{"sha":"2ea63172af30befb6a0c9630f89d18f2e04f8d94","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Bumped version to 1.3\n\nSeveral optimizations, changes in callback from branch\nfeature/network-partitions","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/2ea63172af30befb6a0c9630f89d18f2e04f8d94"},{"sha":"2979c6a348f9eeaeb6111a4a10692164c141d2f0","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Corrected Demo, updated README with quickstart to run demo\n\nThe quickstart will start a mock kafka broker, and let ekaf publish to it\nout of the box.\n\nSee ekaf_demo.erl for more details","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/2979c6a348f9eeaeb6111a4a10692164c141d2f0"},{"sha":"7e506bf9426ef3ba3b7a87f23fa3910988054b40","author":{"email":"be0d84d4a31014de3b65a78138cde6d6373a985a@gmail.com","name":"Bosky"},"message":"Recheck for metadata changes every minute\n\nSince partition changes dont result in tcp connections with workers\nbreaking, we poll this data once a minute per active topic.","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/7e506bf9426ef3ba3b7a87f23fa3910988054b40"},{"sha":"a08c6c0e545ca296303f975e49c1972be56d7723","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Better replaying of messages once back online\n\nEarlier had an auncaught condition","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/a08c6c0e545ca296303f975e49c1972be56d7723"},{"sha":"b12c95cf151181ae13b4854e4f70fe6ad892110c","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Handle metadata returning broker not ready\n\nMetadata gives numbers 1,2,.. for various brokers\nThen it gives partitions, with a broker index\nBut sometimes the broker for a partition isnt a valid broker\nsince kafka is preparing that broker\n\nThis catches that scenario, and logs it","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/b12c95cf151181ae13b4854e4f70fe6ad892110c"},{"sha":"465156e5b66a86c617c0c8dfeacbace5b07c428f","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Async calls will not keep reference in the worker\n\nIf you want to ensure they reach, use sync calls.\n\nSync calls get maintained in a dictionary called kv for every worker\nWhile merging with another branch, one mistake that was meant for\nsync calls were overlooked which did not break functionality, but\nled to a memory leak.\n\nasync calls will fire-and-forget, and no ack hack will be attempted.\n\nAlso added an api to inspect the worker fsm","distinct":false,"url":"https://api.github.com/repos/smarin/ekaf/commits/465156e5b66a86c617c0c8dfeacbace5b07c428f"},{"sha":"e45f136767875177f785343e52f5f5060cb94b46","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Merge branch 'feature/network-partitions'\n\nConflicts:\n\tVERSION\n\tsrc/ekaf_lib.erl","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/e45f136767875177f785343e52f5f5060cb94b46"},{"sha":"ddc8e0e0b3fea066dccf686f299d1f71417983d7","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Introduce ekaf_max_downtime_buffer_size option\n\nWhen kafka downtime is detected, we store messages in-memory\nUntil now, this was unbounded, assuming kafka restarts are fast.\n\nOptionally, you can now bound this max queue.\n\n    %% eg:\n    application:set_env(ekaf, ekaf_max_downtime_buffer_size, 10000000).\n\nThis is a topic level queue, so set this based on the memory on the\nmachine in question, anticipated downtime, etc","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/ddc8e0e0b3fea066dccf686f299d1f71417983d7"},{"sha":"416d3004533c277938c25da12e250328be5e31ad","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Introduce ekaf_max_downtime_buffer_size option\n\nWhen kafka downtime is detected, we store messages in-memory\nUntil now, this was unbounded, assuming kafka restarts are fast.\n\nOptionally, you can now bound this max queue.\n\n    %% eg:\n    application:set_env(ekaf, ekaf_max_downtime_buffer_size, 10000000).\n\nThis is a topic level queue, so set this based on the memory on the\nmachine in question, anticipated downtime, etc\n\nUpdated readme with tests","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/416d3004533c277938c25da12e250328be5e31ad"},{"sha":"f6df7e6d469952ea7c5db83e136a38c3ccb1dd86","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Merge branch 'feature/max-downtime-buffer-size'\n\n* feature/max-downtime-buffer-size:\n  Introduce ekaf_max_downtime_buffer_size option","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/f6df7e6d469952ea7c5db83e136a38c3ccb1dd86"},{"sha":"25472e2968bc63093086f73a150aa37081b58c5b","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Add log for unknown event in connect","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/25472e2968bc63093086f73a150aa37081b58c5b"},{"sha":"d4e049cf8f180d98d497bd4d58549854ba7b168d","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Bumped version to 1.5","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/d4e049cf8f180d98d497bd4d58549854ba7b168d"},{"sha":"d94cdd2f560d653d896637282d4e962102e8f1a2","author":{"email":"c3a911542c4ddc533bd32bfcb82e816587a37987@helpshift.com","name":"Bosky"},"message":"Stop debugging ekaf_server\n\nBump version to 1.5.1","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/d94cdd2f560d653d896637282d4e962102e8f1a2"},{"sha":"411aea35ce276866be83aeb42d37a7ac156c7031","author":{"email":"0a16e316a3fa2206b578c1396fd576b34ea4b8f9@vimeo.com","name":"Stephen Marin"},"message":"update from upstream","distinct":true,"url":"https://api.github.com/repos/smarin/ekaf/commits/411aea35ce276866be83aeb42d37a7ac156c7031"}]}