onyx

FYI: alternative Onyx :onyx: chat is at <https://gitter.im/onyx-platform/onyx> ; log can be found at <https://clojurians-log.clojureverse.org/onyx/index.html>
luiseugenio 2019-07-23T16:24:06.007400Z

Hi, there. Can anybody help me with one thing in Onyx? It’s about :onyx/pending-timeout and the sentence bellow: “Asynchronous Barrier Snapshotting fault tolerance technique does not depend on retrying individual segments on a timeout.” Ok, it does not depend on retrying, but indeed is there a timeout inside the code somewhere, where the segments are submitted to retry? If yes, is it possible/recomendable to disable or increase this timeout attribute somewhere? Thanks, Luis

2019-07-23T18:41:59.007900Z

the keyword here is "individual" -- it does not depend on retrying individual segments

2019-07-23T18:42:32.008500Z

however, periodically, it will send a control signal, a barrier, which is then stored on both input and output storage

2019-07-23T18:42:54.009100Z

this essentially makes sure that input and output both agree on what data has been processed

2019-07-23T18:43:11.009400Z

this happens periodically, e.g. every 15 seconds

2019-07-23T18:44:17.009900Z

i think, however, the onyx/pending-timeout might be more of an artifact of the pre-ABS days

👍 1
luiseugenio 2019-07-23T18:50:16.013500Z

Yes, it is pre-ABS days. My concern is: eventually, if a block of segments passes the 60sec, it will receive a timeout and then retried, right? Is it defined in some place?

2019-07-23T19:17:24.014400Z

yes if the block passes 60s, a timeout occurs and an exception for the task is thrown

2019-07-23T19:17:37.014900Z

Onyx then attempts to restart the task

2019-07-23T19:17:45.015200Z

and recover from the last checkpoint

2019-07-23T19:18:34.016700Z

the code to handle this is fairly deep inside Onyx, but you can see it surface in e.g. all the plugins that have to implement these check pointing and recovery functions

👍 1