{"push_id":2734711490,"size":7,"distinct_size":3,"ref":"refs/heads/1053-key-generation","head":"dec6592209dc91c58fb86268759c2feb2a0c07ee","before":"8316ec67c1f6a756f694c5120047daf796e24a09","commits":[{"sha":"3304862f6dc69ce797b9053e300e3535724fee5a","author":{"name":"Sebastian Menski","email":"db043b2055cb3a47b2eb0b5aebf4e114a8c24a5a@menski.org"},"message":"fix(scheduler): handle race condition where job is added to dropped queue\n\nIf the submit method is interrupted between getting the reference of the\nsubmitted jobs queue and the offer of the new job. And in the meantime the\nonClosed method is invoked and drains the old queue before the offer happens\nthe job will still be added to the original queue and never executed.\n\nTo prevent this we check after the offering of the job if the submitted\njobs queue was replaced in the meantime and fail the job manually. We ignore\nexceptions in case the job is failed multiple times, i.e. during the drain\nand after the swap check.","distinct":false,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/3304862f6dc69ce797b9053e300e3535724fee5a"},{"sha":"c9aba7899b1158ab48f989cc19151e8cf6e1ad77","author":{"name":"Sebastian Menski","email":"5d0713a1e2e2353f21d1d23ee936a5cea15b1e4c@camunda.com"},"message":"ci(Jenkinsfile): reduce days/num builds keeped","distinct":false,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/c9aba7899b1158ab48f989cc19151e8cf6e1ad77"},{"sha":"a3a76ddc838273b429b495ccfdea32fba87c50fd","author":{"name":"bors[bot]","email":"31e8831a045c193c917fdcb487f388eedbd9ad8e@users.noreply.github.com"},"message":"Merge #1065\n\n1065: Handle race condition where job is added to dropped queue r=ThorbenLindhauer a=menski\n\nIf the submit method is interrupted between getting the reference of the\r\nsubmitted jobs queue and the offer of the new job. And in the meantime the\r\nonClosed method is invoked and drains the old queue before the offer happens\r\nthe job will still be added to the original queue and never executed.\r\n\r\nTo prevent this we check after the offering of the job if the submitted\r\njobs queue was replaced in the meantime and fail the job manually. We ignore\r\nexceptions in case the job is failed multiple times, i.e. during the drain\r\nand after the swap check.\r\n\r\ncloses #976 \r\n\n\nCo-authored-by: Sebastian Menski <sebastian@menski.org>","distinct":false,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/a3a76ddc838273b429b495ccfdea32fba87c50fd"},{"sha":"b94a1d27997f4afeb8de5b4374bbd75a615bfcd1","author":{"name":"Sebastian Menski","email":"5d0713a1e2e2353f21d1d23ee936a5cea15b1e4c@camunda.com"},"message":"test(it): mark test as stable again\n\n- deployment was rewritten and the test didn't fail for a long time\n\ncloses #567","distinct":false,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/b94a1d27997f4afeb8de5b4374bbd75a615bfcd1"},{"sha":"9c3b742c8c7d594d1f030cbe9f3ec0998674874a","author":{"name":"Thorben Lindhauer","email":"ae2d9b6e0ae4bf24b0588148b219cdd80d1dcfe4@camunda.com"},"message":"chore(tests): always deserialize msgpack numbers as long\n\n- before, Jackson would deserialize numbers as either Integer or Long\n  based on the actual value; so tests would assume the value range,\n  which produces maintenance overhead when the range should change due\n  to a refactoring","distinct":true,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/9c3b742c8c7d594d1f030cbe9f3ec0998674874a"},{"sha":"2bef3622895daebc807aee7ec4ba7a466d98c71b","author":{"name":"Thorben Lindhauer","email":"ae2d9b6e0ae4bf24b0588148b219cdd80d1dcfe4@camunda.com"},"message":"chore(tests): mark tests failing on Windows as unstable","distinct":true,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/2bef3622895daebc807aee7ec4ba7a466d98c71b"},{"sha":"dec6592209dc91c58fb86268759c2feb2a0c07ee","author":{"name":"Thorben Lindhauer","email":"ae2d9b6e0ae4bf24b0588148b219cdd80d1dcfe4@camunda.com"},"message":"refactor(broker): generate event keys in stream processor\n\n- allows the stream processor to use the key immediately after\n  publication, e.g. as a key in an index map (as compared to #positionAsKey,\n  where we cannot know the key in the publishing stream processor)\n- writes snapshots for the key counter\n- ensures that keys for wf instances, jobs, incidents on the same\n  partition are unique by giving them a separate key space; as soon as\n  we merge their stream processors, we can have a single key space and\n  key generator\n- protocol changes:\n  - commands that create a new entity (e.g. workflow instance) get no\n    key assigned, i.e. the command's key is -1\n  - command rejection in these cases has no key either\n  - the topic record with intent CREATE_COMPLETE is now a command\n    instead of an event; this makes more sense as it is published from\n    the outside and can be followed by rejection","distinct":true,"url":"https://api.github.com/repos/zeebe-io/zeebe/commits/dec6592209dc91c58fb86268759c2feb2a0c07ee"}]}
{"actor":{"display_login":"menski"}}