{"push_id":3922848162,"size":4,"distinct_size":4,"ref":"refs/heads/enhancements/4.0/completable-future","head":"2d163e22f36b9a42058ef204683322bd2bafa751","before":"879f4b636ca2e4cd765c2b871b95240995f96362","commits":[{"sha":"55685901200890f84aa35bca18658569394307e1","author":{"name":"Vassilis Bekiaris","email":"c01c2c2617cb6c86fc200fb7a41e66c0c9060e87@gmail.com"},"message":"[WIP] Integrating completable future work while still maintaining\nICompletableFuture impl in InvocationFuture\n\nICompletableFuture and its subclasses will be removed in a separate\ncommit","distinct":true,"url":"https://api.github.com/repos/vbekiaris/hazelcast/commits/55685901200890f84aa35bca18658569394307e1"},{"sha":"107e358bb4cdab2c8641c3193b092d953a717671","author":{"name":"Vassilis Bekiaris","email":"c01c2c2617cb6c86fc200fb7a41e66c0c9060e87@gmail.com"},"message":"Replace CacheConfigFuture with plain CompletableFuture","distinct":true,"url":"https://api.github.com/repos/vbekiaris/hazelcast/commits/107e358bb4cdab2c8641c3193b092d953a717671"},{"sha":"c81446ae8073c9ffd037f18701887220ea5db595","author":{"name":"Vassilis Bekiaris","email":"c01c2c2617cb6c86fc200fb7a41e66c0c9060e87@gmail.com"},"message":"Replace usages of InternalCompletableFuture.join with joinInternal\n\njoin method, as defined by CompletableFuture, wraps exceptions in\nCompletionException. On the other hand, InternalCompletableFuture.join\nuses the ExceptionUtil.rethrow semantics which can be summarised as:\n- if RuntimeException, throw as is\n- if ExecutionException or InterruptedException, it is peeled\n- if a checked exception, wrap in HazelcastException\n\nUsage of InternalCompletableFuture.join within Hazelcast codebase only\nmakes sense with the \"rethrow\" semantics; otherwise using as\nCompletableFuture.join will result in additional unnecessary litter\n(a CompletionException instance that wraps actual exception) and too\nmuch additional code in client code to catch and unwrap the\nCompletionException. Instead of this, we use joinInternal which\nprovides the proper exception semantics for usage within Hazelcast\ncodebase.","distinct":true,"url":"https://api.github.com/repos/vbekiaris/hazelcast/commits/c81446ae8073c9ffd037f18701887220ea5db595"},{"sha":"2d163e22f36b9a42058ef204683322bd2bafa751","author":{"name":"Vassilis Bekiaris","email":"c01c2c2617cb6c86fc200fb7a41e66c0c9060e87@gmail.com"},"message":"Previously the way to complete an ICompletableFuture with an exception was calling complete(Throwable). Since we are implementing CompletableFuture, the correct way to exceptionally complete the future is to use completeExceptionally(t).","distinct":true,"url":"https://api.github.com/repos/vbekiaris/hazelcast/commits/2d163e22f36b9a42058ef204683322bd2bafa751"}]}
{"actor":{"display_login":"vbekiaris"}}