{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,30]],"date-time":"2026-10-30T19:05:03Z","timestamp":1793387103064,"version":"4.5.0"},"reference-count":43,"publisher":"Springer Science and Business Media LLC","issue":"10","license":[{"start":{"date-parts":[[2025,6,30]],"date-time":"2025-06-30T00:00:00Z","timestamp":1751241600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,6,30]],"date-time":"2025-06-30T00:00:00Z","timestamp":1751241600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"JSPS KAKENHI","award":["JP23K28089, JP22K19802"],"award-info":[{"award-number":["JP23K28089, JP22K19802"]}]},{"name":"JSPS KAKENHI","award":["JP23K24949"],"award-info":[{"award-number":["JP23K24949"]}]},{"DOI":"10.13039\/100009619","name":"AMED","doi-asserted-by":"crossref","award":["JP21zf0127005"],"award-info":[{"award-number":["JP21zf0127005"]}],"id":[{"id":"10.13039\/100009619","id-type":"DOI","asserted-by":"crossref"}]},{"name":"JST CREST","award":["JPMJCR22M2"],"award-info":[{"award-number":["JPMJCR22M2"]}]},{"DOI":"10.13039\/501100003051","name":"New Energy and Industrial Technology Development Organization","doi-asserted-by":"publisher","award":["JPNP20017"],"award-info":[{"award-number":["JPNP20017"]}],"id":[{"id":"10.13039\/501100003051","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Knowl Inf Syst"],"published-print":{"date-parts":[[2025,10]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>In data stream applications, a query is created using a series of operators connected by unidirectional pipelines. Since those operators may be deployed in a shared-nothing distributed environment, it is necessary to have a valid restore point in case an operator fails. This ensures consistency of the states among operators after recovering from failures. Typical fault-tolerant approaches periodically capture global snapshots, encompassing all operator states. In the recovery process, all operators must be reinstated to the most recent global snapshot. This global dependency affects the recovery performance and the required computational costs for recovery. We propose fault-tolerant schemes for stateful stream processing that localizes recovery to a subset of operators. Additionally, we introduce a partial snapshot mechanism to capture the states required for local recovery efficiently. This snapshot records only a subset of operator states instead of global states. Our implemented recovery schemes in Apache Flink show improved recovery times by up to more than 50 percent.\n<\/jats:p>","DOI":"10.1007\/s10115-025-02509-z","type":"journal-article","created":{"date-parts":[[2025,6,29]],"date-time":"2025-06-29T23:38:00Z","timestamp":1751240280000},"page":"9407-9435","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Local recovery and partial snapshot in distributed stateful stream processing"],"prefix":"10.1007","volume":"67","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7085-6937","authenticated-orcid":false,"family":"Takdir","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2984-2258","authenticated-orcid":false,"given":"Hiroyuki","family":"Kitagawa","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0595-2230","authenticated-orcid":false,"given":"Toshiyuki","family":"Amagasa","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2025,6,30]]},"reference":[{"key":"2509_CR1","unstructured":"Apache Flink. https:\/\/flink.apache.org\/"},{"key":"2509_CR2","unstructured":"Apache Storm. https:\/\/storm.apache.org\/"},{"key":"2509_CR3","doi-asserted-by":"publisher","unstructured":"Armbrust M, Das T, Torres J, Yavuz B, Zhu S, Xin R, Ghodsi A, Stoica I, Zaharia M (2018) Structured streaming: a declarative API for real-time applications in apache spark. In: Proceedings of the 2018 international conference on management of data. sigmod \u201918, pp. 601\u2013613. association for computing machinery, New York, NY, USA . https:\/\/doi.org\/10.1145\/3183713.3190664","DOI":"10.1145\/3183713.3190664"},{"key":"2509_CR4","doi-asserted-by":"publisher","unstructured":"Takdir Kitagawa H, Amagasa T (2022) Region-based sub-snapshot (regsnap): Enhanced fault tolerance in distributed stream processing with partial snapshot. Proceedings of 7th Workshop on Real-time Stream Analytics, Stream Mining, CER\/CEP & stream data management in big data, co-located with 2022 IEEE international conference on big data (IEEE BigData2022), pp 3374\u20133382 . https:\/\/doi.org\/10.1109\/BigData55660.2022.10020607","DOI":"10.1109\/BigData55660.2022.10020607"},{"key":"2509_CR5","unstructured":"Apache Hadoop. https:\/\/hadoop.apache.org\/"},{"key":"2509_CR6","unstructured":"Apache Spark. https:\/\/spark.apache.org\/"},{"issue":"1","key":"2509_CR7","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1145\/214451.214456","volume":"3","author":"KM Chandy","year":"1985","unstructured":"Chandy KM, Lamport L (1985) Distributed snapshots: determining global states of distributed systems. ACM Trans Comput Syst 3(1):63\u201375. https:\/\/doi.org\/10.1145\/214451.214456","journal-title":"ACM Trans Comput Syst"},{"key":"2509_CR8","unstructured":"Hueske F, Kalavri V (2019) Stream processing with apache flink vol 148, pp 148\u2013162. O\u2019Reilly Media, California, CA, USA"},{"key":"2509_CR9","doi-asserted-by":"publisher","unstructured":"Murray DG, McSherry F, Isaacs R, Isard M, Barham P, Abadi M (2013) Naiad: A timely dataflow system. In: Proceedings of the twenty-fourth ACM symposium on operating systems principles. SOSP \u201913, pp 439\u2013455. Association for Computing Machinery, New York, NY, USA . https:\/\/doi.org\/10.1145\/2517349.2522738","DOI":"10.1145\/2517349.2522738"},{"key":"2509_CR10","doi-asserted-by":"publisher","unstructured":"Carbone P, F\u00f3ra G, Ewen S, Haridi S, Tzoumas K (2015) Lightweight asynchronous snapshots for distributed dataflows. https:\/\/doi.org\/10.48550\/arXiv.1506.08603","DOI":"10.48550\/arXiv.1506.08603"},{"key":"2509_CR11","doi-asserted-by":"publisher","unstructured":"Carboney P, Ewenz S, F\u00f3ra G, Haridi S, Richter S, Tzoumas K (2017) State management in Apache Flink: \u00ae consistent stateful distributed stream processing. In: Proceedings of the VLDB endowment, vol 10, pp 1718\u20131729. VLDB Endowment, New York. https:\/\/doi.org\/10.14778\/3137765.3137777","DOI":"10.14778\/3137765.3137777"},{"issue":"2","key":"2509_CR12","doi-asserted-by":"publisher","first-page":"507","DOI":"10.1007\/s00778-023-00819-8","volume":"33","author":"M Fragkoulis","year":"2023","unstructured":"Fragkoulis M, Carbone P, Kalavri V, Katsifodimos A (2023) A survey on the evolution of stream processing systems. VLDB J 33(2):507\u2013541. https:\/\/doi.org\/10.1007\/s00778-023-00819-8","journal-title":"VLDB J"},{"key":"2509_CR13","unstructured":"Apache Kafka. https:\/\/kafka.apache.org\/"},{"key":"2509_CR14","unstructured":"Mei Y (2020) FLIP-135 approximate task-local recovery. https:\/\/cwiki.apache.org\/confluence\/display\/FLINK\/FLIP-135%3A+Approximate+Task-Local+Recovery. [Accessed Oct 10, 2023]"},{"key":"2509_CR15","doi-asserted-by":"publisher","unstructured":"Silvestre PF, Fragkoulis M, Spinellis D, Katsifodimos A (2021) Clonos: Consistent causal recovery for highly-available streaming dataflows. In: Proceedings of the 2021 international conference on management of data. SIGMOD \u201921, pp 1637\u20131650. Association for Computing Machinery, New York, NY, USA . https:\/\/doi.org\/10.1145\/3448016.3457320","DOI":"10.1145\/3448016.3457320"},{"key":"2509_CR16","doi-asserted-by":"publisher","unstructured":"Su L, Zhou Y (2021) Fast recovery of correlated failures in distributed stream processing engines. In: Proceedings of the 15th ACM international conference on distributed and event-based systems. DEBS \u201921, pp 66\u201377. Association for Computing Machinery, New York, NY. https:\/\/doi.org\/10.1145\/3465480.3466923","DOI":"10.1145\/3465480.3466923"},{"key":"2509_CR17","doi-asserted-by":"publisher","DOI":"10.1016\/j.is.2023.102251","volume":"117","author":"A Trofimov","year":"2023","unstructured":"Trofimov A, Sokolov N, Marshalkin N, Kuralenok I, Novikov B (2023) Bounding substreams in distributed stream processing. Inf Syst 117:102251. https:\/\/doi.org\/10.1016\/j.is.2023.102251","journal-title":"Inf Syst"},{"issue":"5","key":"2509_CR18","doi-asserted-by":"publisher","first-page":"1950","DOI":"10.1007\/s11036-020-01729-7","volume":"26","author":"Z Zhang","year":"2021","unstructured":"Zhang Z, Li W, Qing X, Liu X, Liu H (2021) Research on optimal checkpointing-interval for flink stream processing applications. Mob Netw Appl 26(5):1950\u20131959. https:\/\/doi.org\/10.1007\/s11036-020-01729-7","journal-title":"Mob Netw Appl"},{"key":"2509_CR19","unstructured":"Tucker PA, Tufte K, Papadimos V, Maier D (2010) NEXMark\u2013a benchmark for queries over data streams. Portland State University, Portland, OR, USA . https:\/\/github.com\/nexmark\/nexmark\/"},{"key":"2509_CR20","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2023.111879","author":"S Henning","year":"2024","unstructured":"Henning S, Hasselbring W (2024) Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud. J Syst Softw. https:\/\/doi.org\/10.1016\/j.jss.2023.111879","journal-title":"J Syst Softw"},{"issue":"1","key":"2509_CR21","doi-asserted-by":"publisher","first-page":"670","DOI":"10.1109\/COMST.2023.3330953","volume":"26","author":"E Volnes","year":"2024","unstructured":"Volnes E, Plagemann T, Goebel V (2024) To migrate or not to migrate: An analysis of operator migration in distributed stream processing. IEEE Commun Surv Tutor 26(1):670\u2013705. https:\/\/doi.org\/10.1109\/COMST.2023.3330953","journal-title":"IEEE Commun Surv Tutor"},{"key":"2509_CR22","doi-asserted-by":"publisher","unstructured":"Siachamis G, Psarakis K, Fragkoulis M, Deursen A, Carbone P, Katsifodimos A (2024) Checkmate: Evaluating checkpointing protocols for streaming dataflows. In: 2024 IEEE 40th international conference on data engineering (ICDE), pp 4030\u20134043. IEEE Computer Society, Los Alamitos, CA, USA . https:\/\/doi.org\/10.1109\/ICDE60146.2024.00309","DOI":"10.1109\/ICDE60146.2024.00309"},{"issue":"2","key":"2509_CR23","doi-asserted-by":"publisher","first-page":"361","DOI":"10.14778\/3489496.3489515","volume":"15","author":"G Theodorakis","year":"2021","unstructured":"Theodorakis G, Kounelis F, Pietzuch P, Pirk H (2021) Scabbard: single-node fault-tolerant stream processing. Proc VLDB Endow 15(2):361\u2013374. https:\/\/doi.org\/10.14778\/3489496.3489515","journal-title":"Proc VLDB Endow"},{"key":"2509_CR24","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s11704-020-0248-x","volume":"16","author":"X Wang","year":"2022","unstructured":"Wang X, Zhang C, Fang J, Zhang R, Qian W, Zhou A (2022) A comprehensive study on fault tolerance in stream processing systems. Front Comput Sci 16:1\u201318. https:\/\/doi.org\/10.1007\/s11704-020-0248-x","journal-title":"Front Comput Sci"},{"issue":"1145\/1331904","key":"2509_CR25","first-page":"1331907","volume":"10","author":"M Balazinska","year":"2008","unstructured":"Balazinska M, Balakrishnan H, Madden SR, Stonebraker M (2008) Fault-tolerance in the borealis distributed stream processing system. ACM Trans Database Syst 10(1145\/1331904):1331907","journal-title":"ACM Trans Database Syst"},{"key":"2509_CR26","doi-asserted-by":"publisher","unstructured":"Hwang J-H, Cetintemel U, Zdonik S (2007) Fast and reliable stream processing over wide area networks. In: Proceedings of the 2007 IEEE 23rd international conference on data engineering workshop. ICDEW \u201907, pp 604\u2013613. https:\/\/doi.org\/10.1109\/ICDEW.2007.4401047","DOI":"10.1109\/ICDEW.2007.4401047"},{"key":"2509_CR27","doi-asserted-by":"publisher","unstructured":"Kwon Y, Balazinska M, Greenberg A (2008) Fault-tolerant stream processing using a distributed, replicated file system. Proc VLDB Endow 1(1):574\u2013585. https:\/\/doi.org\/10.14778\/1453856.1453920","DOI":"10.14778\/1453856.1453920"},{"key":"2509_CR28","doi-asserted-by":"crossref","unstructured":"Huang Q, Lee PPC (2016) Toward high-performance distributed stream processing via approximate fault tolerance. Proc VLDB Endow 10(3), 73\u201384 https:\/\/doi.org\/10.14778\/3021924.3021925","DOI":"10.14778\/3021924.3021925"},{"key":"2509_CR29","doi-asserted-by":"publisher","unstructured":"Heinze T, Zia M, Krahn R, Jerzak Z, Fetzer C (2015) An adaptive replication scheme for elastic data stream processing systems. In: Proceedings of the 9th ACM international conference on distributed event-based systems. DEBS \u201915, pp 150\u2013161. Association for Computing Machinery, New York. https:\/\/doi.org\/10.1145\/2675743.2771831","DOI":"10.1145\/2675743.2771831"},{"issue":"1","key":"2509_CR30","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1109\/TKDE.2017.2720602","volume":"31","author":"L Su","year":"2019","unstructured":"Su L, Zhou Y (2019) Passive and partially active fault tolerance for massively parallel stream processing engines. IEEE Trans Knowl Data Eng 31(1):32\u201345. https:\/\/doi.org\/10.1109\/TKDE.2017.2720602","journal-title":"IEEE Trans Knowl Data Eng"},{"key":"2509_CR31","doi-asserted-by":"publisher","unstructured":"Cardellini V, Lo Presti F, Nardelli M, Russo GR (2022) Runtime adaptation of data stream processing systems: the state of the art. ACM Comput Surv. 54(11s) https:\/\/doi.org\/10.1145\/3514496","DOI":"10.1145\/3514496"},{"key":"2509_CR32","doi-asserted-by":"publisher","unstructured":"Zhang S, Wu Y, Zhang F, He B (2020) Towards concurrent stateful stream processing on multicore processors. In: 2020 IEEE 36th international conference on data engineering (ICDE), pp 1537\u20131548. https:\/\/doi.org\/10.1109\/ICDE48307.2020.00136","DOI":"10.1109\/ICDE48307.2020.00136"},{"key":"2509_CR33","unstructured":"Miao H, Park H, Jeon M, Pekhimenko G, McKinley KS, Lin FX (2017) Streambox: modern stream processing on a multicore machine. In: Proceedings of the 2017 USENIX conference on usenix annual technical conference. USENIX ATC \u201917, pp 617\u2013629. USENIX Association, USA"},{"key":"2509_CR34","doi-asserted-by":"publisher","first-page":"93745","DOI":"10.1109\/ACCESS.2021.3093208","volume":"9","author":"G Van Dongen","year":"2021","unstructured":"Van Dongen G, Poel DVD (2021) A performance analysis of fault recovery in stream processing frameworks. IEEE Access 9:93745\u201393763. https:\/\/doi.org\/10.1109\/ACCESS.2021.3093208","journal-title":"IEEE Access"},{"key":"2509_CR35","doi-asserted-by":"publisher","unstructured":"Qi S, Liu X, Jin X (2023) Halfmoon: Log-optimal fault-tolerant stateful serverless computing. In: Proceedings of the 29th symposium on operating systems principles. SOSP \u201923, pp 314\u2013330. Association for Computing Machinery, New York. https:\/\/doi.org\/10.1145\/3600006.3613154","DOI":"10.1145\/3600006.3613154"},{"issue":"8","key":"2509_CR36","doi-asserted-by":"publisher","first-page":"2464","DOI":"10.1109\/TPDS.2023.3251997","volume":"34","author":"H Xu","year":"2023","unstructured":"Xu H, Liu P, Ahmed ST, Da Silva D, Hu L (2023) Adaptive fragment-based parallel state recovery for stream processing systems. IEEE Trans Parallel Distrib Syst 34(8):2464\u20132478. https:\/\/doi.org\/10.1109\/TPDS.2023.3251997","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"2509_CR37","doi-asserted-by":"publisher","unstructured":"Hwang JH, Balazinska M, Rasin A, \u00c7etintemel U, Stonebraker M, Zdonik S (2005) High-availability algorithms for distributed stream processing. In: Proceedings\u2013international conference on data engineering, pp 779\u2013790. IEEE. https:\/\/doi.org\/10.1109\/ICDE.2005.72","DOI":"10.1109\/ICDE.2005.72"},{"issue":"1","key":"2509_CR38","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1109\/TKDE.2017.2720602","volume":"31","author":"L Su","year":"2019","unstructured":"Su L, Zhou Y (2019) Passive and partially active fault tolerance for massively parallel stream processing engines. IEEE Trans Knowl Data Eng 31(1):32\u201345. https:\/\/doi.org\/10.1109\/TKDE.2017.2720602","journal-title":"IEEE Trans Knowl Data Eng"},{"key":"2509_CR39","doi-asserted-by":"publisher","unstructured":"Vogel A, Henning S, Perez-Wohlfeil E, Ertl O, Rabiser R (2024) A comprehensive benchmarking analysis of fault recovery in stream processing frameworks. In: Proceedings of the 18th ACM international conference on distributed and event-based systems. DEBS \u201924, pp 171\u2013182. Association for Computing Machinery, New York, NY. https:\/\/doi.org\/10.1145\/3629104.3666040","DOI":"10.1145\/3629104.3666040"},{"issue":"12","key":"2509_CR40","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1002\/ecjc.20208","volume":"88","author":"S Moriya","year":"2005","unstructured":"Moriya S, Araragi T (2005) Dynamic snapshot algorithm and partial rollback algorithm for internet agents. Electron Commu Japan 88(12):43\u201357. https:\/\/doi.org\/10.1002\/ecjc.20208","journal-title":"Electron Commu Japan"},{"key":"2509_CR41","doi-asserted-by":"publisher","unstructured":"Kim Y, Araragi T, Nakamura J, Masuzawa T (2014) A concurrent partial snapshot algorithm for large-scale and dynamic distributed systems. IEICE Trans Inf Syst E97-D(1):65\u201376. https:\/\/doi.org\/10.1587\/transinf.E97.D.65","DOI":"10.1587\/transinf.E97.D.65"},{"issue":"12","key":"2509_CR42","doi-asserted-by":"publisher","first-page":"5647","DOI":"10.1002\/cpe.5647","volume":"33","author":"J Nakamura","year":"2021","unstructured":"Nakamura J, Kim Y, Katayama Y, Masuzawa T (2021) A cooperative partial snapshot algorithm for checkpoint-rollback recovery of large-scale and dynamic distributed systems and experimental evaluations. Concurr Comput Pract Exp 33(12):5647. https:\/\/doi.org\/10.1002\/cpe.5647","journal-title":"Concurr Comput Pract Exp"},{"key":"2509_CR43","doi-asserted-by":"publisher","unstructured":"Del Monte B, Zeuch S, Rabl T, Markl V (2022) Rethinking stateful stream processing with rdma. In: Proceedings of the 2022 international conference on management of data. sigmod \u201922, pp. 1078\u20131092. association for computing machinery, New York, NY. https:\/\/doi.org\/10.1145\/3514221.3517826","DOI":"10.1145\/3514221.3517826"}],"container-title":["Knowledge and Information Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10115-025-02509-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10115-025-02509-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10115-025-02509-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,15]],"date-time":"2025-10-15T10:58:00Z","timestamp":1760525880000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10115-025-02509-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,30]]},"references-count":43,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2025,10]]}},"alternative-id":["2509"],"URL":"https:\/\/doi.org\/10.1007\/s10115-025-02509-z","relation":{},"ISSN":["0219-1377","0219-3116"],"issn-type":[{"value":"0219-1377","type":"print"},{"value":"0219-3116","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,30]]},"assertion":[{"value":"13 September 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"20 January 2025","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"30 May 2025","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"30 June 2025","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors do not have any conflict of interest to declare that are relevant to the content of this article.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}