You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wayang.apache.org by gi...@apache.org on 2026/05/27 15:32:06 UTC
(wayang-website) branch deploy updated: deploy: 55ccb13d3537b01cacb86aefacd051a98fc3e52e
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch deploy
in repository https://gitbox.apache.org/repos/asf/wayang-website.git
The following commit(s) were added to refs/heads/deploy by this push:
new d324e39b deploy: 55ccb13d3537b01cacb86aefacd051a98fc3e52e
d324e39b is described below
commit d324e39b7a878bc3963bb213a1bc60b7158e7030
Author: novatechflow <no...@users.noreply.github.com>
AuthorDate: Wed May 27 15:32:00 2026 +0000
deploy: 55ccb13d3537b01cacb86aefacd051a98fc3e52e
---
404.html | 15 +-
assets/css/styles.79853c2a.css | 1 +
assets/css/styles.a45e1e19.css | 1 -
assets/js/0058b4c6.4d71b62d.js | 1 +
assets/js/01a85c17.9159c873.js | 1 +
assets/js/01a85c17.b5f5de70.js | 1 -
assets/js/05a94acb.1f4e52c2.js | 1 -
assets/js/05a94acb.f76b422f.js | 1 +
assets/js/06bc2d4d.79d95647.js | 1 -
assets/js/06bc2d4d.c3c4b8cc.js | 1 +
assets/js/092604a4.1647fbe6.js | 1 -
assets/js/092604a4.76b2fc57.js | 1 +
assets/js/115b1bdb.2acec4e2.js | 1 -
assets/js/1383f18f.db9201ca.js | 1 -
assets/js/17896441.582cdf9b.js | 1 -
assets/js/17896441.6cd8c741.js | 1 +
assets/js/1a1d5c1d.b70678a2.js | 1 -
assets/js/1a1d5c1d.dabb81b4.js | 1 +
assets/js/1a7d9bc6.80d8601c.js | 1 -
assets/js/1df93b7f.09861a9d.js | 1 -
assets/js/1df93b7f.7548cb8a.js | 1 +
assets/js/1eeff540.4e157f6b.js | 1 -
assets/js/1eeff540.cb8b4587.js | 1 +
assets/js/1f6e4ff1.5da3f56e.js | 1 +
assets/js/1f6e4ff1.91b35e4c.js | 1 -
assets/js/{2237.6ffe8d95.js => 2237.69435572.js} | 2 +-
assets/js/232c92ba.7e12ae87.js | 1 -
assets/js/25517a24.baffbd34.js | 1 -
assets/js/25517a24.c24a6662.js | 1 +
assets/js/29e20dbd.1ac0fd47.js | 1 +
assets/js/29e20dbd.69e4e0d8.js | 1 -
assets/js/2adba89d.5c1637a2.js | 1 +
assets/js/2adba89d.b8d8c5a0.js | 1 -
assets/js/2baa666c.2ef8cd5a.js | 1 -
assets/js/2de9ff66.336f3d1c.js | 1 -
assets/js/2de9ff66.bc6dda54.js | 1 +
assets/js/3436.18d4bb0e.js | 1 +
assets/js/34f284a7.6cc27442.js | 1 +
assets/js/34f284a7.ad0966ed.js | 1 -
assets/js/35234f08.06be7938.js | 1 -
assets/js/35234f08.3dec16c3.js | 1 +
assets/js/35a4b3d1.8fa558ca.js | 1 -
assets/js/3625a93f.03675aee.js | 1 -
assets/js/3625a93f.0778dcec.js | 1 +
.../{ebfd1a08.e306c29f.js => 36994c47.62646015.js} | 2 +-
assets/js/39af834a.1766e12d.js | 1 -
assets/js/39af834a.cd7fce95.js | 1 +
assets/js/3a2db09e.5f4c5202.js | 1 +
assets/js/3d757c0b.6ca41edf.js | 1 -
assets/js/3df8af31.74dacc24.js | 1 +
assets/js/3df8af31.c81c3333.js | 1 -
assets/js/3e5cd75b.02b6b350.js | 1 -
assets/js/3e5cd75b.9376752e.js | 1 +
assets/js/4072f7ae.aeb01f81.js | 1 -
assets/js/41e09e8c.1d6c8872.js | 1 +
assets/js/4294.74506629.js | 1 +
assets/js/47457315.17bad258.js | 1 -
assets/js/479b002b.9f75fc37.js | 1 -
assets/js/47e4c4a8.96340d0a.js | 1 -
assets/js/47e4c4a8.c022f3a2.js | 1 +
assets/js/4d06a287.1c825903.js | 1 +
assets/js/4d06a287.fd0efc6c.js | 1 -
assets/js/51fff4d3.2a41af74.js | 1 +
assets/js/521fabd9.05206e32.js | 1 -
assets/js/521fabd9.62698de4.js | 1 +
assets/js/572ad3b2.87cbc234.js | 1 +
assets/js/572ad3b2.a741b5ad.js | 1 -
assets/js/5b561208.18606c3e.js | 1 -
assets/js/5b561208.d5f632bf.js | 1 +
.../{5e95c892.c9849158.js => 5e95c892.b52d9334.js} | 2 +-
assets/js/5f842dbc.70c4181d.js | 1 -
assets/js/621db11d.d6a1711a.js | 1 +
assets/js/64eed6c4.4ac392f1.js | 1 -
assets/js/64eed6c4.619714fe.js | 1 +
assets/js/6578e2de.3ceb0e75.js | 1 -
assets/js/65a6d713.9fa45681.js | 1 +
assets/js/6875c492.6f1d92ae.js | 1 -
assets/js/6875c492.905dc303.js | 1 +
assets/js/6d99f8e3.4b4da441.js | 1 +
assets/js/720d5f7a.16dca7c8.js | 1 -
assets/js/75f5c5f6.d24b359a.js | 1 -
assets/js/75f5c5f6.fd3e3579.js | 1 +
assets/js/77806f28.ffc54ca4.js | 1 -
assets/js/7941a8d8.39249a2f.js | 1 +
assets/js/7941a8d8.66c0f4eb.js | 1 -
assets/js/7b55c963.a84d2b50.js | 1 -
assets/js/7c80c937.99ae8b79.js | 1 -
assets/js/7e4c41c7.e70ab58b.js | 1 +
assets/js/814f3328.4e67f1a5.js | 1 +
assets/js/814f3328.a540a8d0.js | 1 -
assets/js/8222.6e502036.js | 1 -
assets/js/82cb2d07.4126e187.js | 1 +
assets/js/82fa5665.d99d8f43.js | 1 +
assets/js/82fa5665.e4b376fe.js | 1 -
assets/js/83d480e9.8ea620f2.js | 1 -
assets/js/8544.8ce7f000.js | 1 -
assets/js/{8591.ed2e715f.js => 8591.bdf28966.js} | 4 +-
...js.LICENSE.txt => 8591.bdf28966.js.LICENSE.txt} | 0
assets/js/86331d88.892ffa8d.js | 1 -
assets/js/89c6f603.58f0f6d0.js | 1 +
assets/js/89c6f603.c27ccd74.js | 1 -
assets/js/8ea09047.9dea7cb1.js | 1 +
assets/js/8ea5f648.a68a18c5.js | 1 +
assets/js/8eb4e46b.615bcfee.js | 1 -
assets/js/8f973d51.5bf12505.js | 1 +
assets/js/8f973d51.962b665e.js | 1 -
assets/js/92791066.228c28d5.js | 1 -
assets/js/92791066.38909961.js | 1 +
assets/js/935c02bb.1ca46949.js | 1 +
assets/js/935c02bb.7195e8cd.js | 1 -
assets/js/935f2afb.ffccc654.js | 1 -
assets/js/9785.81c37763.js | 1 +
assets/js/9c021584.62940182.js | 1 -
assets/js/9e4087bc.1b11865b.js | 1 -
assets/js/9e4087bc.304c1c72.js | 1 +
assets/js/9f0b0499.fc7b9f15.js | 1 +
assets/js/a2ec611a.fd9c1fc2.js | 1 -
assets/js/a58aa246.ed2f5877.js | 1 -
assets/js/a6aa9e1f.643dced7.js | 1 -
assets/js/a6aa9e1f.d684891a.js | 1 +
assets/js/a7023ddc.ec3e37ab.js | 1 -
.../{4b85e520.d3205255.js => a7456010.64a33b9c.js} | 2 +-
assets/js/a7bd4aaa.087822b0.js | 1 -
assets/js/a7bd4aaa.1616594e.js | 1 +
assets/js/a94703ab.0388bcdb.js | 1 +
assets/js/a94703ab.43a301eb.js | 1 -
assets/js/aa7f4cd0.0993d2ea.js | 1 +
assets/js/ab4c6d72.0ff0b706.js | 1 -
.../{2b59d008.1f0eaddd.js => aba21aa0.754e82b9.js} | 2 +-
assets/js/acecf23e.f4c7188f.js | 1 +
assets/js/ae3304ee.b5633437.js | 1 +
assets/js/ae568e66.ba708f36.js | 1 -
assets/js/ae720ac1.1a9c01f7.js | 1 -
assets/js/ae720ac1.cb850356.js | 1 +
assets/js/af50c6e7.2ad4df5f.js | 1 +
assets/js/af50c6e7.b7d09877.js | 1 -
assets/js/b2b675dd.500fc2d1.js | 1 -
assets/js/b2f554cd.765521c9.js | 1 -
assets/js/b72d20a6.2f43f5a0.js | 1 -
assets/js/bae78078.8c8103c9.js | 1 +
assets/js/bae78078.e00e4e9f.js | 1 -
assets/js/c15d9823.592fdf57.js | 1 +
assets/js/c3d032e9.18feb7ca.js | 1 +
assets/js/c3d032e9.d95e7bb7.js | 1 -
assets/js/c5ff918f.4a373640.js | 1 +
assets/js/c8d81af2.a32df4fb.js | 1 -
assets/js/c8d81af2.a9d79745.js | 1 +
assets/js/c9cac9d9.db51b45e.js | 1 +
assets/js/ca0159e3.b14772a5.js | 1 -
assets/js/cbf9f64c.9e8ea1c9.js | 1 -
assets/js/cc6c0e90.149ceea8.js | 1 -
assets/js/cc6c0e90.9fc38bea.js | 1 +
assets/js/ccc49370.5dcf1b05.js | 1 +
assets/js/ccc49370.613972d5.js | 1 -
assets/js/cfab9f0f.46054c91.js | 1 +
assets/js/cfab9f0f.de0e8a71.js | 1 -
assets/js/d2f02a99.067b368b.js | 1 -
assets/js/d5eebf32.364b7794.js | 1 +
assets/js/d6ab7c01.aac54914.js | 1 -
assets/js/d6b58e03.3150c259.js | 1 -
assets/js/d6b58e03.f007aab8.js | 1 +
assets/js/dcd29181.9a789b79.js | 1 -
assets/js/dd496c4d.859b56f6.js | 1 +
assets/js/dd4c342d.25b933c7.js | 1 +
assets/js/dd4c342d.9d8cda27.js | 1 -
assets/js/ded07547.92578126.js | 1 -
assets/js/ded07547.d190f211.js | 1 +
assets/js/e2014d6c.0104a08e.js | 1 -
assets/js/e2014d6c.d3427a65.js | 1 +
assets/js/e82464af.3ec64e78.js | 1 +
assets/js/e82464af.933b8b86.js | 1 -
assets/js/ef63ae07.78776b24.js | 1 +
assets/js/ef63ae07.d45848c7.js | 1 -
assets/js/ef8b811a.0962eca3.js | 1 +
assets/js/effa2a56.9694e959.js | 1 -
assets/js/effa2a56.a8b17e26.js | 1 +
assets/js/f0e33d06.ed95c00d.js | 1 -
assets/js/f32fe326.17b9c059.js | 1 -
assets/js/f483cb0e.59770649.js | 1 -
assets/js/f51360a1.6a2e273c.js | 1 -
assets/js/f5d9e7eb.130dda91.js | 1 -
assets/js/f5d9e7eb.64190d38.js | 1 +
assets/js/f6749399.3e5e1e61.js | 1 +
assets/js/f81c1134.bd48df83.js | 1 +
assets/js/f8667543.b71eb24c.js | 1 -
assets/js/f8667543.fcbc3f4b.js | 1 +
assets/js/f8de77c0.7a4b2099.js | 1 -
assets/js/f9d658b5.0b4d9fc5.js | 1 +
assets/js/f9d658b5.88e4cbff.js | 1 -
assets/js/f9f546af.ab34d062.js | 1 +
assets/js/fc758bfe.620c0314.js | 1 +
assets/js/ff8bfa68.3bed06c8.js | 1 +
assets/js/ff8bfa68.a8db12f8.js | 1 -
assets/js/main.1812f2df.js | 2 -
assets/js/main.b727b1fa.js | 2 +
...js.LICENSE.txt => main.b727b1fa.js.LICENSE.txt} | 0
assets/js/runtime~main.0da1c716.js | 1 +
assets/js/runtime~main.de22a7ac.js | 1 -
blog/archive/index.html | 15 +-
blog/atom.xml | 312 ++++++++++-----------
blog/authors/index.html | 22 ++
blog/index.html | 283 ++++++++++---------
blog/kafka-meets-wayang-1/index.html | 21 +-
blog/kafka-meets-wayang-2/index.html | 31 +-
blog/kafka-meets-wayang-3/index.html | 31 +-
blog/page/2/index.html | 17 +-
blog/rss.xml | 312 ++++++++++-----------
blog/spatial-wayang/index.html | 55 ++--
blog/tags/ai/index.html | 27 +-
blog/tags/asf/index.html | 153 +++++-----
.../index.html | 49 ++--
blog/tags/federated/index.html | 27 +-
blog/tags/graduation/index.html | 39 +--
blog/tags/index.html | 15 +-
blog/tags/kafka/index.html | 47 ++--
blog/tags/ml/index.html | 51 ++--
blog/tags/presto/index.html | 15 +-
blog/tags/python/index.html | 25 +-
blog/tags/release/index.html | 129 ++++-----
blog/tags/spark/index.html | 29 +-
blog/tags/spatial/index.html | 53 ++--
blog/tags/tensorflow/index.html | 51 ++--
blog/tags/tlp/index.html | 39 +--
blog/tags/trino/index.html | 15 +-
blog/tags/wayang/index.html | 281 ++++++++++---------
blog/tags/wayang/page/2/index.html | 15 +-
blog/wayang-federated-ai/index.html | 29 +-
blog/wayang-graduation/index.html | 41 +--
blog/wayang-python-api/index.html | 39 +--
blog/wayang-release-odysse/index.html | 131 ++++-----
blog/wayang-tensorflow/index.html | 53 ++--
blog/wayang-vs-trino/index.html | 35 +--
blog/website_update/index.html | 47 ++--
docs/community/ai-tooling-policy/index.html | 35 +--
docs/community/committer/index.html | 47 ++--
docs/community/contribute/index.html | 297 ++++++++++----------
docs/community/mailinglist/index.html | 57 ++--
docs/community/maturity/index.html | 17 +-
docs/community/release/index.html | 111 ++++----
docs/community/repositories/index.html | 35 +--
docs/community/resources/index.html | 33 ++-
docs/community/security/index.html | 43 +--
docs/community/team/index.html | 23 +-
docs/guide/adding-operators/index.html | 39 +--
docs/guide/api-documentation/index.html | 19 +-
docs/guide/developing-in-wayang/index.html | 33 ++-
docs/guide/examples/index.html | 147 +++++-----
docs/guide/getting-started/index.html | 47 ++--
docs/guide/installation/index.html | 63 +++--
docs/guide/json-wayang-plan-guide/index.html | 93 +++---
docs/guide/ml4all/index.html | 47 ++--
docs/guide/optimizer/index.html | 31 +-
docs/guide/usage-examples/index.html | 25 +-
docs/guide/wayang-docker/index.html | 53 ++--
docs/introduction/about/index.html | 45 +--
docs/introduction/benchmark/index.html | 29 +-
docs/introduction/features/index.html | 49 ++--
docs/start/download/index.html | 81 +++---
index.html | 15 +-
lunr-index-1779872697817.json | 1 -
lunr-index-1779895886012.json | 1 +
lunr-index.json | 2 +-
search-doc-1779872697817.json | 1 -
search-doc-1779895886012.json | 1 +
search-doc.json | 2 +-
sitemap.xml | 2 +-
266 files changed, 2232 insertions(+), 2046 deletions(-)
diff --git a/404.html b/404.html
index f6f975b7..834b8fb8 100644
--- a/404.html
+++ b/404.html
@@ -2,14 +2,17 @@
<html lang="en" dir="ltr" class="plugin-native plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
<title data-rh="true">Page Not Found | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
<p>
Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/assets/css/styles.79853c2a.css b/assets/css/styles.79853c2a.css
new file mode 100644
index 00000000..de4df069
--- /dev/null
+++ b/assets/css/styles.79853c2a.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.butt [...]
\ No newline at end of file
diff --git a/assets/css/styles.a45e1e19.css b/assets/css/styles.a45e1e19.css
deleted file mode 100644
index f4e79a60..00000000
--- a/assets/css/styles.a45e1e19.css
+++ /dev/null
@@ -1 +0,0 @@
-.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.butt [...]
\ No newline at end of file
diff --git a/assets/js/0058b4c6.4d71b62d.js b/assets/js/0058b4c6.4d71b62d.js
new file mode 100644
index 00000000..cef3c921
--- /dev/null
+++ b/assets/js/0058b4c6.4d71b62d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[849],{6164(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"startSidebar":[{"type":"link","href":"/docs/start/download","label":"Download Apache Wayang\u2122","docId":"start/download","unlisted":false}],"introductionSidebar":[{"type":"l [...]
\ No newline at end of file
diff --git a/assets/js/01a85c17.9159c873.js b/assets/js/01a85c17.9159c873.js
new file mode 100644
index 00000000..bbd075ae
--- /dev/null
+++ b/assets/js/01a85c17.9159c873.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8209],{4096(e,t,a){a.d(t,{in:()=>c,OU:()=>P,Ki:()=>A,kJ:()=>b,x:()=>l,e7:()=>m,J_:()=>f,Gx:()=>y});var s=a(6540),n=a(9532),i=a(6803),r=a(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c( [...]
\ No newline at end of file
diff --git a/assets/js/01a85c17.b5f5de70.js b/assets/js/01a85c17.b5f5de70.js
deleted file mode 100644
index 847fe93b..00000000
--- a/assets/js/01a85c17.b5f5de70.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8209],{6535(e,s,a){a.d(s,{A:()=>k});var t=a(6540),i=a(4164),n=a(7907),l=a(4581),r=a(8774),c=a(1312),o=a(6347),m=a(9169);function d(e){const{pathname:s}=(0,o.zy)();return(0,t.useMemo)(()=>e.filter(e=>function(e,s){return!(e.unlisted&&!(0,m.ys)(e.permalink,s))}(e,s)),[e,s])}const h="sidebar_re4s",u="sidebarItemTitle_pO2u",g="sidebarItemList_Yudw",b="sidebarItem__DBe",p="sidebarItemLink_mo7 [...]
\ No newline at end of file
diff --git a/assets/js/05a94acb.1f4e52c2.js b/assets/js/05a94acb.1f4e52c2.js
deleted file mode 100644
index 19742c09..00000000
--- a/assets/js/05a94acb.1f4e52c2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6570],{8172(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=i(4848),n=i(8453);const r={title:"Becoming a committer",sidebar_position:5,id:"committer"},s=void 0,a={id:"community/committer",title:"Becoming a committer",description:"To get started contributing to Wayang, learn how to contribute \u2013 anyone can submit pa [...]
\ No newline at end of file
diff --git a/assets/js/05a94acb.f76b422f.js b/assets/js/05a94acb.f76b422f.js
new file mode 100644
index 00000000..84e54cce
--- /dev/null
+++ b/assets/js/05a94acb.f76b422f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6570],{674(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"community/committer","title":"Becoming a committer","description":"To get started contributing to Wayang, learn how to contribute \u2013 anyone can submit patches, documentation and examples to the project.","source":"@site/docs/community/c [...]
\ No newline at end of file
diff --git a/assets/js/06bc2d4d.79d95647.js b/assets/js/06bc2d4d.79d95647.js
deleted file mode 100644
index baded4a2..00000000
--- a/assets/js/06bc2d4d.79d95647.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2666],{3974(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var n=t(4848),i=t(8453);const o={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},r="The Federated AI",s={permalink:"/blog/wayang-federated-ai",source:"@site/blog/2024-04-17-federated-ai.md",titl [...]
\ No newline at end of file
diff --git a/assets/js/06bc2d4d.c3c4b8cc.js b/assets/js/06bc2d4d.c3c4b8cc.js
new file mode 100644
index 00000000..4a3f693a
--- /dev/null
+++ b/assets/js/06bc2d4d.c3c4b8cc.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2666],{3974(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>r,metadata:()=>n,toc:()=>d});var n=t(3779),i=t(4848),o=t(8453);const r={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},s="The Federated AI",l={authorsImageUrls:[void 0]},d=[{value:"Apache Wayang in the Federated AI world", [...]
\ No newline at end of file
diff --git a/assets/js/092604a4.1647fbe6.js b/assets/js/092604a4.1647fbe6.js
deleted file mode 100644
index 7c0a810a..00000000
--- a/assets/js/092604a4.1647fbe6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9881],{2800(e,a,t){t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=t(4848),s=t(8453);const i={id:"benchmark",title:"Benchmarking Wayang",sidebar_position:2},r=void 0,o={id:"introduction/benchmark",title:"Benchmarking Wayang",description:"Wayang is a powerful cross-platform middleware that can utilize and seamlessly integrate [...]
\ No newline at end of file
diff --git a/assets/js/092604a4.76b2fc57.js b/assets/js/092604a4.76b2fc57.js
new file mode 100644
index 00000000..03dc1cf4
--- /dev/null
+++ b/assets/js/092604a4.76b2fc57.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9881],{3090(e,a,t){t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"introduction/benchmark","title":"Benchmarking Wayang","description":"Wayang is a powerful cross-platform middleware that can utilize and seamlessly integrate various execution platforms, including Postgres, Spark, Flink, Java Streams, and [...]
\ No newline at end of file
diff --git a/assets/js/115b1bdb.2acec4e2.js b/assets/js/115b1bdb.2acec4e2.js
deleted file mode 100644
index 995e8e85..00000000
--- a/assets/js/115b1bdb.2acec4e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2683],{2514(e){e.exports=JSON.parse('{"permalink":"/blog/tags/presto","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/1383f18f.db9201ca.js b/assets/js/1383f18f.db9201ca.js
deleted file mode 100644
index 3393327a..00000000
--- a/assets/js/1383f18f.db9201ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5161],{7168(e){e.exports=JSON.parse('{"permalink":"/blog/tags/federated","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/17896441.582cdf9b.js b/assets/js/17896441.582cdf9b.js
deleted file mode 100644
index 037cbd31..00000000
--- a/assets/js/17896441.582cdf9b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8401],{5022(e,t,n){n.r(t),n.d(t,{default:()=>ve});var s=n(6540),a=n(1003),i=n(9532),o=n(4848);const l=s.createContext(null);function r({children:e,content:t}){const n=function(e){return(0,s.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc}),[e])}(t);return(0,o.jsx)(l.Provider,{value:n,children:e})}function c(){const e=(0,s [...]
\ No newline at end of file
diff --git a/assets/js/17896441.6cd8c741.js b/assets/js/17896441.6cd8c741.js
new file mode 100644
index 00000000..0e067351
--- /dev/null
+++ b/assets/js/17896441.6cd8c741.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8401],{2234(e,n,t){t.d(n,{A:()=>c});t(6540);var s=t(4164),a=t(7559),i=t(4084),r=t(7293),o=t(4848);function l({className:e}){return(0,o.jsx)(r.A,{type:"caution",title:(0,o.jsx)(i.Rc,{}),className:(0,s.A)(e,a.G.common.unlistedBanner),children:(0,o.jsx)(i.Uh,{})})}function c(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.AE,{}),(0,o.jsx)(l,{...e})]})}},1689(e,n,t){t.d(n,{A:()=>d});t( [...]
\ No newline at end of file
diff --git a/assets/js/1a1d5c1d.b70678a2.js b/assets/js/1a1d5c1d.b70678a2.js
deleted file mode 100644
index 9d532d93..00000000
--- a/assets/js/1a1d5c1d.b70678a2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8117],{8630(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var t=n(4848),o=n(8453);const r={title:"Data processing optimizer",sidebar_position:8,id:"optimizer"},s="How the optimizer works (WIP)",a={id:"guide/optimizer",title:"Data processing optimizer",description:"\x3c!--",source:"@site/docs/guide/optimizer.md",sourceDirNa [...]
\ No newline at end of file
diff --git a/assets/js/1a1d5c1d.dabb81b4.js b/assets/js/1a1d5c1d.dabb81b4.js
new file mode 100644
index 00000000..19261244
--- /dev/null
+++ b/assets/js/1a1d5c1d.dabb81b4.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8117],{9337(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"guide/optimizer","title":"Data processing optimizer","description":"\x3c!--","source":"@site/docs/guide/optimizer.md","sourceDirName":"guide","slug":"/guide/optimizer","permalink":"/docs/guide/optimizer","draft":false,"unlisted":false,"tag [...]
\ No newline at end of file
diff --git a/assets/js/1a7d9bc6.80d8601c.js b/assets/js/1a7d9bc6.80d8601c.js
deleted file mode 100644
index 1e67a233..00000000
--- a/assets/js/1a7d9bc6.80d8601c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5562],{8872(a){a.exports=JSON.parse('{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/1df93b7f.09861a9d.js b/assets/js/1df93b7f.09861a9d.js
deleted file mode 100644
index 978df9e1..00000000
--- a/assets/js/1df93b7f.09861a9d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4583],{5245(e,t,a){a.d(t,{A:()=>s});var n,r=a(6540);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(null,arguments)}const s=({title:e,titleId:t,...a})=>r.createElement("svg",i({width:800,height:800,viewBox:"0 0 32 32",xmlns:"http://www.w3 [...]
\ No newline at end of file
diff --git a/assets/js/1df93b7f.7548cb8a.js b/assets/js/1df93b7f.7548cb8a.js
new file mode 100644
index 00000000..a569d8a9
--- /dev/null
+++ b/assets/js/1df93b7f.7548cb8a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4583],{4055(e,t,a){a.d(t,{A:()=>s});var n,r=a(6540);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(null,arguments)}const s=({title:e,titleId:t,...a})=>r.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewB [...]
\ No newline at end of file
diff --git a/assets/js/1eeff540.4e157f6b.js b/assets/js/1eeff540.4e157f6b.js
deleted file mode 100644
index 293fa998..00000000
--- a/assets/js/1eeff540.4e157f6b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1503],{1605(e,t,s){s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>l,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=s(4848),n=s(8453);const i={title:"Maturity Model",sidebar_position:7,id:"maturity"},d=void 0,o={id:"community/maturity",title:"Maturity Model",description:"| ID | Description [...]
\ No newline at end of file
diff --git a/assets/js/1eeff540.cb8b4587.js b/assets/js/1eeff540.cb8b4587.js
new file mode 100644
index 00000000..8c8af197
--- /dev/null
+++ b/assets/js/1eeff540.cb8b4587.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1503],{9572(e,t,s){s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>d,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"community/maturity","title":"Maturity Model","description":"| ID | Description [...]
\ No newline at end of file
diff --git a/assets/js/1f6e4ff1.5da3f56e.js b/assets/js/1f6e4ff1.5da3f56e.js
new file mode 100644
index 00000000..a63a0ee2
--- /dev/null
+++ b/assets/js/1f6e4ff1.5da3f56e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8208],{1966(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>s});var t=n(2984),r=n(4848),o=n(8453);const l={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},c="How I failed to release Apache Wayang",i={authorsImageUrls:[void 0]},s=[{value:"Intro",id:"intro",level:2 [...]
\ No newline at end of file
diff --git a/assets/js/1f6e4ff1.91b35e4c.js b/assets/js/1f6e4ff1.91b35e4c.js
deleted file mode 100644
index b956d3fa..00000000
--- a/assets/js/1f6e4ff1.91b35e4c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8208],{1966(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var t=n(4848),r=n(8453);const o={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},l="How I failed to release Apache Wayang",c={permalink:"/blog/wayang-release-odysse",source:"@site/blog/2024-09-01-rel [...]
\ No newline at end of file
diff --git a/assets/js/2237.6ffe8d95.js b/assets/js/2237.69435572.js
similarity index 88%
rename from assets/js/2237.6ffe8d95.js
rename to assets/js/2237.69435572.js
index facc5e40..404329e2 100644
--- a/assets/js/2237.6ffe8d95.js
+++ b/assets/js/2237.69435572.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2237],{3363(e,t,i){i.d(t,{A:()=>r});i(6540);var n=i(4164),a=i(1312),o=i(1107),s=i(4848);function r({className:e}){return(0,s.jsx)("main",{className:(0,n.A)("container margin-vert--xl",e),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(a.A,{id:"theme.NotFou [...]
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2237],{3363(e,t,i){i.d(t,{A:()=>r});i(6540);var n=i(4164),a=i(1312),o=i(4608),s=i(4848);function r({className:e}){return(0,s.jsx)("main",{className:(0,n.A)("container margin-vert--xl",e),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(a.A,{id:"theme.NotFou [...]
\ No newline at end of file
diff --git a/assets/js/232c92ba.7e12ae87.js b/assets/js/232c92ba.7e12ae87.js
deleted file mode 100644
index c4ebe068..00000000
--- a/assets/js/232c92ba.7e12ae87.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6837],{5742(a){a.exports=JSON.parse('{"label":"python","permalink":"/blog/tags/python","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/25517a24.baffbd34.js b/assets/js/25517a24.baffbd34.js
deleted file mode 100644
index ff88630e..00000000
--- a/assets/js/25517a24.baffbd34.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3940],{328(e,a,n){n.r(a),n.d(a,{assets:()=>k,contentTitle:()=>Z,default:()=>G,frontMatter:()=>S,metadata:()=>N,toc:()=>B});var t=n(4848),i=n(8453),r=n(6540),o=n(4164),l=n(3104),s=n(6347),c=n(205),g=n(7485),d=n(1682),u=n(9466);function p(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:a}=e;return!!a&&"object"==typeof a&&" [...]
\ No newline at end of file
diff --git a/assets/js/25517a24.c24a6662.js b/assets/js/25517a24.c24a6662.js
new file mode 100644
index 00000000..8c55f986
--- /dev/null
+++ b/assets/js/25517a24.c24a6662.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3940],{7683(e,a,n){n.r(a),n.d(a,{assets:()=>M,contentTitle:()=>G,default:()=>R,frontMatter:()=>P,metadata:()=>t,toc:()=>Y});const t=JSON.parse('{"id":"guide/getting-started","title":"Getting started","description":"Write a data pipeline once and let Apache Wayang run it on the best available engine \u2014 your laptop, Spark, Flink, or a database.","source":"@site/docs/guide/getting-start [...]
\ No newline at end of file
diff --git a/assets/js/29e20dbd.1ac0fd47.js b/assets/js/29e20dbd.1ac0fd47.js
new file mode 100644
index 00000000..cf202441
--- /dev/null
+++ b/assets/js/29e20dbd.1ac0fd47.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7107],{6832(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>n,toc:()=>c});var n=t(7897),i=t(4848),o=t(8453);const s={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 2",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/29e20dbd.69e4e0d8.js b/assets/js/29e20dbd.69e4e0d8.js
deleted file mode 100644
index 2040c040..00000000
--- a/assets/js/29e20dbd.69e4e0d8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7107],{6832(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=t(4848),i=t(8453);const o={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 2",r={permalink:"/blog/kafka-meets-way [...]
\ No newline at end of file
diff --git a/assets/js/2adba89d.5c1637a2.js b/assets/js/2adba89d.5c1637a2.js
new file mode 100644
index 00000000..5a477d2d
--- /dev/null
+++ b/assets/js/2adba89d.5c1637a2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9222],{8738(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>t,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"start/download","title":"Download Apache Wayang\u2122","description":"\x3c!--","source":"@site/docs/start/download.md","sourceDirName":"start","slug":"/start/download","permalink":"/docs/start/download","draft":false,"unlisted":false,"tags [...]
\ No newline at end of file
diff --git a/assets/js/2adba89d.b8d8c5a0.js b/assets/js/2adba89d.b8d8c5a0.js
deleted file mode 100644
index 6b8cf5c1..00000000
--- a/assets/js/2adba89d.b8d8c5a0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9222],{3277(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>t,toc:()=>l});var s=n(4848),r=n(8453);const o={id:"download",title:"Download Apache Wayang\u2122",sidebar_position:1},i="Releases",t={id:"start/download",title:"Download Apache Wayang\u2122",description:"\x3c!--",source:"@site/docs/start/download.md",sourceDirName:"start",slug:"/ [...]
\ No newline at end of file
diff --git a/assets/js/2baa666c.2ef8cd5a.js b/assets/js/2baa666c.2ef8cd5a.js
deleted file mode 100644
index e070aecc..00000000
--- a/assets/js/2baa666c.2ef8cd5a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1256],{459(a){a.exports=JSON.parse('{"label":"trino","permalink":"/blog/tags/trino","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/2de9ff66.336f3d1c.js b/assets/js/2de9ff66.336f3d1c.js
deleted file mode 100644
index 67d79c57..00000000
--- a/assets/js/2de9ff66.336f3d1c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6803],{7569(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=a(4848),l=a(8453);const r={title:"How to build Wayang",sidebar_position:2,id:"installation"},t="Installing and building Apache Wayang",s={id:"guide/installation",title:"How to build Wayang",description:"\x3c!--",source:"@site/docs/guide/installation.md",source [...]
\ No newline at end of file
diff --git a/assets/js/2de9ff66.bc6dda54.js b/assets/js/2de9ff66.bc6dda54.js
new file mode 100644
index 00000000..d87861fc
--- /dev/null
+++ b/assets/js/2de9ff66.bc6dda54.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6803],{5341(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guide/installation","title":"How to build Wayang","description":"\x3c!--","source":"@site/docs/guide/installation.md","sourceDirName":"guide","slug":"/guide/installation","permalink":"/docs/guide/installation","draft":false,"unlisted":fals [...]
\ No newline at end of file
diff --git a/assets/js/3436.18d4bb0e.js b/assets/js/3436.18d4bb0e.js
new file mode 100644
index 00000000..06b6eba5
--- /dev/null
+++ b/assets/js/3436.18d4bb0e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3436],{3436(e,t,n){function o(e,{target:t=document.body}={}){if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const n=document.createElement("textarea"),o=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.all="unset",n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.wid [...]
\ No newline at end of file
diff --git a/assets/js/34f284a7.6cc27442.js b/assets/js/34f284a7.6cc27442.js
new file mode 100644
index 00000000..861a62ae
--- /dev/null
+++ b/assets/js/34f284a7.6cc27442.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4450],{3996(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>n,toc:()=>c});var n=t(7897),i=t(4848),o=t(8453);const s={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 2",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/34f284a7.ad0966ed.js b/assets/js/34f284a7.ad0966ed.js
deleted file mode 100644
index f5dcb5cf..00000000
--- a/assets/js/34f284a7.ad0966ed.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4450],{3996(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=t(4848),i=t(8453);const o={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 2",r={permalink:"/blog/kafka-meets-way [...]
\ No newline at end of file
diff --git a/assets/js/35234f08.06be7938.js b/assets/js/35234f08.06be7938.js
deleted file mode 100644
index 1a055b3b..00000000
--- a/assets/js/35234f08.06be7938.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1580],{5220(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>t,metadata:()=>o,toc:()=>l});var a=n(4848),s=n(8453);const t={},r="Wayang Security",o={id:"community/security",title:"Wayang Security",description:"The Apache Software Foundation (ASF) and the Apache Wayang community take security very seriously. Apache Wayang specifically provides robust secur [...]
\ No newline at end of file
diff --git a/assets/js/35234f08.3dec16c3.js b/assets/js/35234f08.3dec16c3.js
new file mode 100644
index 00000000..16e24597
--- /dev/null
+++ b/assets/js/35234f08.3dec16c3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1580],{8341(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>t,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"community/security","title":"Wayang Security","description":"The Apache Software Foundation (ASF) and the Apache Wayang community take security very seriously. Apache Wayang specifically provides robust security features and actively addre [...]
\ No newline at end of file
diff --git a/assets/js/35a4b3d1.8fa558ca.js b/assets/js/35a4b3d1.8fa558ca.js
deleted file mode 100644
index d41bf9bf..00000000
--- a/assets/js/35a4b3d1.8fa558ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5096],{4308(a){a.exports=JSON.parse('{"permalink":"/blog/tags/spark","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/3625a93f.03675aee.js b/assets/js/3625a93f.03675aee.js
deleted file mode 100644
index 070b7b44..00000000
--- a/assets/js/3625a93f.03675aee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1114],{6406(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=t(4848),i=t(8453);const s={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},r="Bringing Spatial Data Processing to Apache Wayang",o={permalink:"/ [...]
\ No newline at end of file
diff --git a/assets/js/3625a93f.0778dcec.js b/assets/js/3625a93f.0778dcec.js
new file mode 100644
index 00000000..2063d29d
--- /dev/null
+++ b/assets/js/3625a93f.0778dcec.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1114],{6406(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(3058),i=t(4848),s=t(8453);const r={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},o="Bringing Spatial Data Processing to Apache Wayang",l={au [...]
\ No newline at end of file
diff --git a/assets/js/ebfd1a08.e306c29f.js b/assets/js/36994c47.62646015.js
similarity index 63%
rename from assets/js/ebfd1a08.e306c29f.js
rename to assets/js/36994c47.62646015.js
index fed71365..b1128174 100644
--- a/assets/js/ebfd1a08.e306c29f.js
+++ b/assets/js/36994c47.62646015.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2446],{2945(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9858],{5516(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/39af834a.1766e12d.js b/assets/js/39af834a.1766e12d.js
deleted file mode 100644
index 35f2d36c..00000000
--- a/assets/js/39af834a.1766e12d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2152],{4185(e,i,n){n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(4848),s=n(8453);const o={title:"How to contribute",sidebar_position:5,id:"contribute"},r=void 0,a={id:"community/contribute",title:"How to contribute",description:"This guide documents the best way to make various types of contribution to Apache Wayang, incl [...]
\ No newline at end of file
diff --git a/assets/js/39af834a.cd7fce95.js b/assets/js/39af834a.cd7fce95.js
new file mode 100644
index 00000000..f76d20f7
--- /dev/null
+++ b/assets/js/39af834a.cd7fce95.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2152],{5945(e,i,n){n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"community/contribute","title":"How to contribute","description":"This guide documents the best way to make various types of contribution to Apache Wayang, including what is required before submitting a code change.","source":"@site/docs/co [...]
\ No newline at end of file
diff --git a/assets/js/3a2db09e.5f4c5202.js b/assets/js/3a2db09e.5f4c5202.js
new file mode 100644
index 00000000..fb5977d3
--- /dev/null
+++ b/assets/js/3a2db09e.5f4c5202.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8121],{8070(a){a.exports=JSON.parse('{"tags":[{"label":"wayang","permalink":"/blog/tags/wayang","count":11},{"label":"spatial","permalink":"/blog/tags/spatial","count":1},{"label":"ASF","permalink":"/blog/tags/asf","count":2},{"label":"graduation","permalink":"/blog/tags/graduation","count":1},{"label":"TLP","permalink":"/blog/tags/tlp","count":1},{"label":"release","permalink":"/blog/ta [...]
\ No newline at end of file
diff --git a/assets/js/3d757c0b.6ca41edf.js b/assets/js/3d757c0b.6ca41edf.js
deleted file mode 100644
index edf69601..00000000
--- a/assets/js/3d757c0b.6ca41edf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4474],{223(a){a.exports=JSON.parse('{"permalink":"/blog/tags/spatial","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/3df8af31.74dacc24.js b/assets/js/3df8af31.74dacc24.js
new file mode 100644
index 00000000..27deb2c7
--- /dev/null
+++ b/assets/js/3df8af31.74dacc24.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4201],{3386(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(5404),i=t(4848),o=t(8453);const r={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 1",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/3df8af31.c81c3333.js b/assets/js/3df8af31.c81c3333.js
deleted file mode 100644
index d8da0bc0..00000000
--- a/assets/js/3df8af31.c81c3333.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4201],{3386(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=t(4848),o=t(8453);const i={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 1",s={permalink:"/blog/kafka-meets-way [...]
\ No newline at end of file
diff --git a/assets/js/3e5cd75b.02b6b350.js b/assets/js/3e5cd75b.02b6b350.js
deleted file mode 100644
index 1fb75105..00000000
--- a/assets/js/3e5cd75b.02b6b350.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[677],{4694(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=t(4848),o=t(8453);const i={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 1",s={permalink:"/blog/kafka-meets-waya [...]
\ No newline at end of file
diff --git a/assets/js/3e5cd75b.9376752e.js b/assets/js/3e5cd75b.9376752e.js
new file mode 100644
index 00000000..f32fd187
--- /dev/null
+++ b/assets/js/3e5cd75b.9376752e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[677],{4694(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(5404),i=t(4848),o=t(8453);const r={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 1",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/4072f7ae.aeb01f81.js b/assets/js/4072f7ae.aeb01f81.js
deleted file mode 100644
index fa901485..00000000
--- a/assets/js/4072f7ae.aeb01f81.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[79],{872(a){a.exports=JSON.parse('{"label":"spatial","permalink":"/blog/tags/spatial","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/41e09e8c.1d6c8872.js b/assets/js/41e09e8c.1d6c8872.js
new file mode 100644
index 00000000..69014142
--- /dev/null
+++ b/assets/js/41e09e8c.1d6c8872.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3248],{130(a){a.exports=JSON.parse('{"tag":{"label":"spark","permalink":"/blog/tags/spark","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/spark","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/4294.74506629.js b/assets/js/4294.74506629.js
new file mode 100644
index 00000000..ac9b68b2
--- /dev/null
+++ b/assets/js/4294.74506629.js
@@ -0,0 +1 @@
+(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4294],{7293(e,t,n){"use strict";n.d(t,{A:()=>M});var s=n(6540),a=n(4848);function r(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),r=t.filter(e=>e!==n),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:r.length>0?(0,a.jsx)(a.Fragment,{children:r}):null}}(e.children),r=e.title??t;return{...e,...r&&{titl [...]
\ No newline at end of file
diff --git a/assets/js/47457315.17bad258.js b/assets/js/47457315.17bad258.js
deleted file mode 100644
index 74dfb070..00000000
--- a/assets/js/47457315.17bad258.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[549],{2206(a){a.exports=JSON.parse('{"permalink":"/blog/tags/kafka","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/479b002b.9f75fc37.js b/assets/js/479b002b.9f75fc37.js
deleted file mode 100644
index f92e41f0..00000000
--- a/assets/js/479b002b.9f75fc37.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3005],{8268(a){a.exports=JSON.parse('{"label":"graduation","permalink":"/blog/tags/graduation","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/47e4c4a8.96340d0a.js b/assets/js/47e4c4a8.96340d0a.js
deleted file mode 100644
index 611d7c3c..00000000
--- a/assets/js/47e4c4a8.96340d0a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3793],{2086(e,n,i){i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>s,toc:()=>d});var a=i(4848),o=i(8453);const t={title:"Developing in Wayang",sidebar_position:6,id:"developing-in-wayang"},l=void 0,s={id:"guide/developing-in-wayang",title:"Developing in Wayang",description:"\x3c!--",source:"@site/docs/guide/develop-in-wayang.md",sourceDirName:"g [...]
\ No newline at end of file
diff --git a/assets/js/47e4c4a8.c022f3a2.js b/assets/js/47e4c4a8.c022f3a2.js
new file mode 100644
index 00000000..aaeba9de
--- /dev/null
+++ b/assets/js/47e4c4a8.c022f3a2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3793],{7974(e,n,a){a.r(n),a.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"guide/developing-in-wayang","title":"Developing in Wayang","description":"\x3c!--","source":"@site/docs/guide/develop-in-wayang.md","sourceDirName":"guide","slug":"/guide/developing-in-wayang","permalink":"/docs/guide/developing-in-wayang" [...]
\ No newline at end of file
diff --git a/assets/js/4d06a287.1c825903.js b/assets/js/4d06a287.1c825903.js
new file mode 100644
index 00000000..1544f2e5
--- /dev/null
+++ b/assets/js/4d06a287.1c825903.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1323],{7745(n,e,a){a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>t,toc:()=>p});var t=a(9758),i=a(4848),o=a(8453);const s={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},r="Pywayang - Apache Wayang's Python API",l={authorsImageUrls:[void 0]},p=[{value:"Expanding Apache W [...]
\ No newline at end of file
diff --git a/assets/js/4d06a287.fd0efc6c.js b/assets/js/4d06a287.fd0efc6c.js
deleted file mode 100644
index f2285719..00000000
--- a/assets/js/4d06a287.fd0efc6c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1323],{7745(n,e,a){a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var t=a(4848),i=a(8453);const o={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},s="Pywayang - Apache Wayang's Python API",r={permalink:"/blog/wayang-python-api",source:"@site/blog/2024-04-09- [...]
\ No newline at end of file
diff --git a/assets/js/51fff4d3.2a41af74.js b/assets/js/51fff4d3.2a41af74.js
new file mode 100644
index 00000000..e6fe15f4
--- /dev/null
+++ b/assets/js/51fff4d3.2a41af74.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4932],{3582(a){a.exports=JSON.parse('{"tag":{"label":"presto","permalink":"/blog/tags/presto","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/presto","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/521fabd9.05206e32.js b/assets/js/521fabd9.05206e32.js
deleted file mode 100644
index e1c136df..00000000
--- a/assets/js/521fabd9.05206e32.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7039],{363(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var t=n(4848),o=n(8453);const r={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},s="Apache Wayang Graduates to a Top-Level Project!",i={permalink:"/blog/wayang-graduation",source:"@site/blog/2025-1 [...]
\ No newline at end of file
diff --git a/assets/js/521fabd9.62698de4.js b/assets/js/521fabd9.62698de4.js
new file mode 100644
index 00000000..0016ac8f
--- /dev/null
+++ b/assets/js/521fabd9.62698de4.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7039],{363(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>l});var t=n(3318),o=n(4848),r=n(8453);const s={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},i="Apache Wayang Graduates to a Top-Level Project!",c={authorsImageUrls:[void 0]},l=[{value:"What Is Apach [...]
\ No newline at end of file
diff --git a/assets/js/572ad3b2.87cbc234.js b/assets/js/572ad3b2.87cbc234.js
new file mode 100644
index 00000000..51626642
--- /dev/null
+++ b/assets/js/572ad3b2.87cbc234.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4195],{2141(e,i,t){t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"community/mailinglist","title":"Mailinglists","description":"\x3c!--","source":"@site/docs/community/mailinglists.md","sourceDirName":"community","slug":"/community/mailinglist","permalink":"/docs/community/mailinglist","draft":false,"unli [...]
\ No newline at end of file
diff --git a/assets/js/572ad3b2.a741b5ad.js b/assets/js/572ad3b2.a741b5ad.js
deleted file mode 100644
index ad7ebe5b..00000000
--- a/assets/js/572ad3b2.a741b5ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4195],{4380(e,i,t){t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=t(4848),s=t(8453);const a={title:"Mailinglists",sidebar_position:1,id:"mailinglist"},o="Mailing List",l={id:"community/mailinglist",title:"Mailinglists",description:"\x3c!--",source:"@site/docs/community/mailinglists.md",sourceDirName:"community",slug:"/commun [...]
\ No newline at end of file
diff --git a/assets/js/5b561208.18606c3e.js b/assets/js/5b561208.18606c3e.js
deleted file mode 100644
index 0afdda68..00000000
--- a/assets/js/5b561208.18606c3e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4078],{4659(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var t=a(4848),r=a(8453);const i={title:"Using Wayang's docker image",sidebar_position:9,id:"wayang-docker"},o="Using Wayang's docker image",s={id:"guide/wayang-docker",title:"Using Wayang's docker image",description:"\x3c!--",source:"@site/docs/guide/wayang-in-docke [...]
\ No newline at end of file
diff --git a/assets/js/5b561208.d5f632bf.js b/assets/js/5b561208.d5f632bf.js
new file mode 100644
index 00000000..03687474
--- /dev/null
+++ b/assets/js/5b561208.d5f632bf.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4078],{7347(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"guide/wayang-docker","title":"Using Wayang\'s docker image","description":"\x3c!--","source":"@site/docs/guide/wayang-in-docker.md","sourceDirName":"guide","slug":"/guide/wayang-docker","permalink":"/docs/guide/wayang-docker","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/5e95c892.c9849158.js b/assets/js/5e95c892.b52d9334.js
similarity index 52%
rename from assets/js/5e95c892.c9849158.js
rename to assets/js/5e95c892.b52d9334.js
index 77586508..c2bb9152 100644
--- a/assets/js/5e95c892.c9849158.js
+++ b/assets/js/5e95c892.b52d9334.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9647],{7121(e,a,s){s.r(a),s.d(a,{default:()=>l});s(6540);var r=s(4164),n=s(7559),t=s(1003),u=s(2831),c=s(7907),i=s(4848);function l(e){return(0,i.jsx)(t.e3,{className:(0,r.A)(n.G.wrapper.docsPages),children:(0,i.jsx)(c.A,{children:(0,u.v)(e.route.routes)})})}}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9647],{7121(e,a,s){s.r(a),s.d(a,{default:()=>l});s(6540);var r=s(4164),n=s(7559),t=s(5500),u=s(2831),c=s(2835),i=s(4848);function l(e){return(0,i.jsx)(t.e3,{className:(0,r.A)(n.G.wrapper.docsPages),children:(0,i.jsx)(c.A,{children:(0,u.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/5f842dbc.70c4181d.js b/assets/js/5f842dbc.70c4181d.js
deleted file mode 100644
index d749e296..00000000
--- a/assets/js/5f842dbc.70c4181d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6125],{6463(a){a.exports=JSON.parse('{"label":"kafka","permalink":"/blog/tags/kafka","allTagsPath":"/blog/tags","count":3,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/621db11d.d6a1711a.js b/assets/js/621db11d.d6a1711a.js
new file mode 100644
index 00000000..c97465c8
--- /dev/null
+++ b/assets/js/621db11d.d6a1711a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4212],{3250(t,s,e){e.r(s),e.d(s,{default:()=>m});e(6540);var a=e(4164),o=e(5500),r=e(7559),u=e(6461),l=e(8027),n=e(1463),i=e(4608),h=e(9907);const c={authorListItem:"authorListItem_n3yI"};var g=e(4848);function p({author:t}){return(0,g.jsx)("li",{className:c.authorListItem,children:(0,g.jsx)(h.A,{as:"h2",author:t,count:t.count})})}function d({authors:t}){return(0,g.jsx)("section",{classN [...]
\ No newline at end of file
diff --git a/assets/js/64eed6c4.4ac392f1.js b/assets/js/64eed6c4.4ac392f1.js
deleted file mode 100644
index e001fbdf..00000000
--- a/assets/js/64eed6c4.4ac392f1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[692],{5343(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var t=a(4848),s=a(8453);const i={title:"Scalable Machine Learning",sidebar_position:3,id:"ml4all"},r="ML4all: scalable ML system for everyone",l={id:"guide/ml4all",title:"Scalable Machine Learning",description:"\x3c!--",source:"@site/docs/guide/ml4all.md",sourceDirNa [...]
\ No newline at end of file
diff --git a/assets/js/64eed6c4.619714fe.js b/assets/js/64eed6c4.619714fe.js
new file mode 100644
index 00000000..7cec2902
--- /dev/null
+++ b/assets/js/64eed6c4.619714fe.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[692],{8861(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"guide/ml4all","title":"Scalable Machine Learning","description":"\x3c!--","source":"@site/docs/guide/ml4all.md","sourceDirName":"guide","slug":"/guide/ml4all","permalink":"/docs/guide/ml4all","draft":false,"unlisted":false,"tags":[],"versio [...]
\ No newline at end of file
diff --git a/assets/js/6578e2de.3ceb0e75.js b/assets/js/6578e2de.3ceb0e75.js
deleted file mode 100644
index d8cb0c82..00000000
--- a/assets/js/6578e2de.3ceb0e75.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5217],{3581(a){a.exports=JSON.parse('{"permalink":"/blog/tags/asf","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/65a6d713.9fa45681.js b/assets/js/65a6d713.9fa45681.js
new file mode 100644
index 00000000..81d14e41
--- /dev/null
+++ b/assets/js/65a6d713.9fa45681.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1486],{3739(a){a.exports=JSON.parse('{"tag":{"label":"ai","permalink":"/blog/tags/ai","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/ai","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/6875c492.6f1d92ae.js b/assets/js/6875c492.6f1d92ae.js
deleted file mode 100644
index 4827779d..00000000
--- a/assets/js/6875c492.6f1d92ae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4813],{7713(e,t,n){n.d(t,{A:()=>r});n(6540);var s=n(1312),a=n(9022),i=n(4848);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.A,{permalink:n,title [...]
\ No newline at end of file
diff --git a/assets/js/6875c492.905dc303.js b/assets/js/6875c492.905dc303.js
new file mode 100644
index 00000000..ea3635ac
--- /dev/null
+++ b/assets/js/6875c492.905dc303.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4813],{7713(e,t,s){s.d(t,{A:()=>r});s(6540);var n=s(1312),a=s(9022),i=s(4848);function r(e){const{metadata:t}=e,{previousPage:s,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,n.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[s&&(0,i.jsx)(a.A,{permalink:s,title [...]
\ No newline at end of file
diff --git a/assets/js/6d99f8e3.4b4da441.js b/assets/js/6d99f8e3.4b4da441.js
new file mode 100644
index 00000000..50151198
--- /dev/null
+++ b/assets/js/6d99f8e3.4b4da441.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8133],{2168(a){a.exports=JSON.parse('{"tag":{"label":"federated","permalink":"/blog/tags/federated","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/federated","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/720d5f7a.16dca7c8.js b/assets/js/720d5f7a.16dca7c8.js
deleted file mode 100644
index 07bcba52..00000000
--- a/assets/js/720d5f7a.16dca7c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9389],{9957(a){a.exports=JSON.parse('{"label":"spark","permalink":"/blog/tags/spark","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/75f5c5f6.d24b359a.js b/assets/js/75f5c5f6.d24b359a.js
deleted file mode 100644
index 1200efdd..00000000
--- a/assets/js/75f5c5f6.d24b359a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9464],{1051(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=t(4848),i=t(8453);const s={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},r="Apache Wayang vs. Presto/Trino",o={permalink:"/blog/wayang-vs-trino",source:"@site/blog/2024-03-08-wayang-vs-prest [...]
\ No newline at end of file
diff --git a/assets/js/75f5c5f6.fd3e3579.js b/assets/js/75f5c5f6.fd3e3579.js
new file mode 100644
index 00000000..5a3d8a53
--- /dev/null
+++ b/assets/js/75f5c5f6.fd3e3579.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9464],{1051(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>c});var t=n(4042),i=n(4848),s=n(8453);const r={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},o="Apache Wayang vs. Presto/Trino",l={authorsImageUrls:[void 0]},c=[{value:"Key Distinctions",id:"key-disti [...]
\ No newline at end of file
diff --git a/assets/js/77806f28.ffc54ca4.js b/assets/js/77806f28.ffc54ca4.js
deleted file mode 100644
index 21473e2f..00000000
--- a/assets/js/77806f28.ffc54ca4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6155],{3685(a){a.exports=JSON.parse('{"label":"cross organization data collaboration","permalink":"/blog/tags/cross-organization-data-collaboration","allTagsPath":"/blog/tags","count":3,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/7941a8d8.39249a2f.js b/assets/js/7941a8d8.39249a2f.js
new file mode 100644
index 00000000..c8123ffb
--- /dev/null
+++ b/assets/js/7941a8d8.39249a2f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[241],{6074(n,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guide/usage-examples","title":"Usage Examples","description":"\x3c!--","source":"@site/docs/guide/usage-examples.md","sourceDirName":"guide","slug":"/guide/usage-examples","permalink":"/docs/guide/usage-examples","draft":false,"unlisted":fa [...]
\ No newline at end of file
diff --git a/assets/js/7941a8d8.66c0f4eb.js b/assets/js/7941a8d8.66c0f4eb.js
deleted file mode 100644
index 2d6dad3a..00000000
--- a/assets/js/7941a8d8.66c0f4eb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[241],{8108(n,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=t(4848),a=t(8453);const o={title:"Usage Examples",sidebar_position:5},r="Guide to Development and Usage with Apache Wayang",s={id:"guide/usage-examples",title:"Usage Examples",description:"\x3c!--",source:"@site/docs/guide/usage-examples.md",sourceDirName:"guid [...]
\ No newline at end of file
diff --git a/assets/js/7b55c963.a84d2b50.js b/assets/js/7b55c963.a84d2b50.js
deleted file mode 100644
index a1301084..00000000
--- a/assets/js/7b55c963.a84d2b50.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2795],{4135(a){a.exports=JSON.parse('{"label":"ML","permalink":"/blog/tags/ml","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/7c80c937.99ae8b79.js b/assets/js/7c80c937.99ae8b79.js
deleted file mode 100644
index 9820bf6d..00000000
--- a/assets/js/7c80c937.99ae8b79.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8819],{4671(a){a.exports=JSON.parse('{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/7e4c41c7.e70ab58b.js b/assets/js/7e4c41c7.e70ab58b.js
new file mode 100644
index 00000000..c0ce15ec
--- /dev/null
+++ b/assets/js/7e4c41c7.e70ab58b.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6071],{324(a){a.exports=JSON.parse('{"tag":{"label":"TLP","permalink":"/blog/tags/tlp","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/tlp","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/814f3328.4e67f1a5.js b/assets/js/814f3328.4e67f1a5.js
new file mode 100644
index 00000000..5eb78944
--- /dev/null
+++ b/assets/js/814f3328.4e67f1a5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7472],{5513(a){a.exports=JSON.parse('{"title":"All our posts","items":[{"title":"Bringing Spatial Data Processing to Apache Wayang","permalink":"/blog/spatial-wayang","unlisted":false,"date":"2026-05-19T00:00:00.000Z"},{"title":"Apache Wayang Graduation","permalink":"/blog/wayang-graduation","unlisted":false,"date":"2025-12-11T00:00:00.000Z"},{"title":"Apache Wayang Release Odysse","perm [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.a540a8d0.js b/assets/js/814f3328.a540a8d0.js
deleted file mode 100644
index 058f98c8..00000000
--- a/assets/js/814f3328.a540a8d0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7472],{5513(a){a.exports=JSON.parse('{"title":"All our posts","items":[{"title":"Bringing Spatial Data Processing to Apache Wayang","permalink":"/blog/spatial-wayang","unlisted":false},{"title":"Apache Wayang Graduation","permalink":"/blog/wayang-graduation","unlisted":false},{"title":"Apache Wayang Release Odysse","permalink":"/blog/wayang-release-odysse","unlisted":false},{"title":"Int [...]
\ No newline at end of file
diff --git a/assets/js/8222.6e502036.js b/assets/js/8222.6e502036.js
deleted file mode 100644
index f2375148..00000000
--- a/assets/js/8222.6e502036.js
+++ /dev/null
@@ -1 +0,0 @@
-(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8222],{7293(e,t,n){"use strict";n.d(t,{A:()=>S});var s=n(6540),o=n(4848);function c(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),c=t.filter(e=>e!==n),a=n?.props.children;return{mdxAdmonitionTitle:a,rest:c.length>0?(0,o.jsx)(o.Fragment,{children:c}):null}}(e.children),c=e.title??t;return{...e,...c&&{titl [...]
\ No newline at end of file
diff --git a/assets/js/82cb2d07.4126e187.js b/assets/js/82cb2d07.4126e187.js
new file mode 100644
index 00000000..e9839797
--- /dev/null
+++ b/assets/js/82cb2d07.4126e187.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4011],{7576(a){a.exports=JSON.parse('{"tag":{"label":"ML","permalink":"/blog/tags/ml","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/ml","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/82fa5665.d99d8f43.js b/assets/js/82fa5665.d99d8f43.js
new file mode 100644
index 00000000..f761c621
--- /dev/null
+++ b/assets/js/82fa5665.d99d8f43.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8204],{8223(e,t,n){n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"guide/api-documentation","title":"API documentation","description":"\x3c!--","source":"@site/docs/guide/api-documentation.md","sourceDirName":"guide","slug":"/guide/api-documentation","permalink":"/docs/guide/api-documentation","draft":fal [...]
\ No newline at end of file
diff --git a/assets/js/82fa5665.e4b376fe.js b/assets/js/82fa5665.e4b376fe.js
deleted file mode 100644
index 0e0127c0..00000000
--- a/assets/js/82fa5665.e4b376fe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8204],{4954(e,t,n){n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>c,toc:()=>d});var i=n(4848),o=n(8453);const a={title:"API documentation",sidebar_position:4,id:"api-documentation"},s="API Documentation",c={id:"guide/api-documentation",title:"API documentation",description:"\x3c!--",source:"@site/docs/guide/api-documentation.md",sourceDirName:" [...]
\ No newline at end of file
diff --git a/assets/js/83d480e9.8ea620f2.js b/assets/js/83d480e9.8ea620f2.js
deleted file mode 100644
index fe7ca28e..00000000
--- a/assets/js/83d480e9.8ea620f2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9650],{4078(a){a.exports=JSON.parse('{"label":"release","permalink":"/blog/tags/release","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/8544.8ce7f000.js b/assets/js/8544.8ce7f000.js
deleted file mode 100644
index 4f5c02fa..00000000
--- a/assets/js/8544.8ce7f000.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8544],{6535(e,t,s){s.d(t,{A:()=>A});var a=s(6540),r=s(4164),n=s(7907),l=s(4581),i=s(8774),o=s(1312),c=s(6347),m=s(9169);function d(e){const{pathname:t}=(0,c.zy)();return(0,a.useMemo)(()=>e.filter(e=>function(e,t){return!(e.unlisted&&!(0,m.ys)(e.permalink,t))}(e,t)),[e,t])}const u="sidebar_re4s",h="sidebarItemTitle_pO2u",g="sidebarItemList_Yudw",p="sidebarItem__DBe",x="sidebarItemLink_mo7 [...]
\ No newline at end of file
diff --git a/assets/js/8591.ed2e715f.js b/assets/js/8591.bdf28966.js
similarity index 50%
rename from assets/js/8591.ed2e715f.js
rename to assets/js/8591.bdf28966.js
index 4292d0ce..8745a869 100644
--- a/assets/js/8591.ed2e715f.js
+++ b/assets/js/8591.bdf28966.js
@@ -1,2 +1,2 @@
-/*! For license information please see 8591.ed2e715f.js.LICENSE.txt */
-(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8591],{4498(e,t,n){"use strict";e.exports=n(5275)},819(e,t,n){"use strict";var i=n(6220),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"abs [...]
\ No newline at end of file
+/*! For license information please see 8591.bdf28966.js.LICENSE.txt */
+(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8591],{4498(e,t,n){"use strict";e.exports=n(5275)},819(e,t,n){"use strict";var i=n(6220),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"abs [...]
\ No newline at end of file
diff --git a/assets/js/8591.ed2e715f.js.LICENSE.txt b/assets/js/8591.bdf28966.js.LICENSE.txt
similarity index 100%
rename from assets/js/8591.ed2e715f.js.LICENSE.txt
rename to assets/js/8591.bdf28966.js.LICENSE.txt
diff --git a/assets/js/86331d88.892ffa8d.js b/assets/js/86331d88.892ffa8d.js
deleted file mode 100644
index 9c7f2301..00000000
--- a/assets/js/86331d88.892ffa8d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9804],{7396(a){a.exports=JSON.parse('{"permalink":"/blog/tags/cross-organization-data-collaboration","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/89c6f603.58f0f6d0.js b/assets/js/89c6f603.58f0f6d0.js
new file mode 100644
index 00000000..814081b7
--- /dev/null
+++ b/assets/js/89c6f603.58f0f6d0.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9646],{8073(a,e,n){n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>p});const r=JSON.parse('{"id":"guide/adding-operators","title":"Adding an operator in Wayang","description":"\x3c!--","source":"@site/docs/guide/add-an-operator.md","sourceDirName":"guide","slug":"/guide/adding-operators","permalink":"/docs/guide/adding-operators","draf [...]
\ No newline at end of file
diff --git a/assets/js/89c6f603.c27ccd74.js b/assets/js/89c6f603.c27ccd74.js
deleted file mode 100644
index 3d3e179a..00000000
--- a/assets/js/89c6f603.c27ccd74.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9646],{729(a,e,n){n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>p});var o=n(4848),r=n(8453);const t={title:"Adding an operator in Wayang",sidebar_position:7,id:"adding-operators"},i="Adding new operators in Wayang",s={id:"guide/adding-operators",title:"Adding an operator in Wayang",description:"\x3c!--",source:"@site/docs/guide/add-a [...]
\ No newline at end of file
diff --git a/assets/js/8ea09047.9dea7cb1.js b/assets/js/8ea09047.9dea7cb1.js
new file mode 100644
index 00000000..1be63b43
--- /dev/null
+++ b/assets/js/8ea09047.9dea7cb1.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9385],{600(a){a.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/8ea5f648.a68a18c5.js b/assets/js/8ea5f648.a68a18c5.js
new file mode 100644
index 00000000..d56ed942
--- /dev/null
+++ b/assets/js/8ea5f648.a68a18c5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8304],{5773(a){a.exports=JSON.parse('{"tag":{"label":"trino","permalink":"/blog/tags/trino","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/trino","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.615bcfee.js b/assets/js/8eb4e46b.615bcfee.js
deleted file mode 100644
index 383d0452..00000000
--- a/assets/js/8eb4e46b.615bcfee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5767],{541(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8f973d51.5bf12505.js b/assets/js/8f973d51.5bf12505.js
new file mode 100644
index 00000000..1b6646cb
--- /dev/null
+++ b/assets/js/8f973d51.5bf12505.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7170],{8270(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>c});var t=n(9212),i=n(4848),r=n(8453);const o={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},s=void 0,l={authorsImageUrls:[void 0]},c=[{value:"The goal of t [...]
\ No newline at end of file
diff --git a/assets/js/8f973d51.962b665e.js b/assets/js/8f973d51.962b665e.js
deleted file mode 100644
index a5f77b0f..00000000
--- a/assets/js/8f973d51.962b665e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7170],{8270(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var t=n(4848),i=n(8453);const r={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},o=void 0,s={permalink:"/blog/kafka-meets-wayang-3",source:"@site/blog/202 [...]
\ No newline at end of file
diff --git a/assets/js/92791066.228c28d5.js b/assets/js/92791066.228c28d5.js
deleted file mode 100644
index beea9216..00000000
--- a/assets/js/92791066.228c28d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2889],{1292(e,t,i){i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=i(4848),n=i(8453);const s={id:"features",title:"Features",sidebar_position:3},o=void 0,r={id:"introduction/features",title:"Features",description:"Cross platform enablement",source:"@site/docs/introduction/features.md",sourceDirName:"introduction",slug:"/intro [...]
\ No newline at end of file
diff --git a/assets/js/92791066.38909961.js b/assets/js/92791066.38909961.js
new file mode 100644
index 00000000..87585bfa
--- /dev/null
+++ b/assets/js/92791066.38909961.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2889],{8931(e,t,i){i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"introduction/features","title":"Features","description":"Cross platform enablement","source":"@site/docs/introduction/features.md","sourceDirName":"introduction","slug":"/introduction/features","permalink":"/docs/introduction/features","dr [...]
\ No newline at end of file
diff --git a/assets/js/935c02bb.1ca46949.js b/assets/js/935c02bb.1ca46949.js
new file mode 100644
index 00000000..f423435e
--- /dev/null
+++ b/assets/js/935c02bb.1ca46949.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6881],{2138(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>c});var t=n(9212),i=n(4848),r=n(8453);const o={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},s=void 0,l={authorsImageUrls:[void 0]},c=[{value:"The goal of t [...]
\ No newline at end of file
diff --git a/assets/js/935c02bb.7195e8cd.js b/assets/js/935c02bb.7195e8cd.js
deleted file mode 100644
index 0ae89746..00000000
--- a/assets/js/935c02bb.7195e8cd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6881],{2138(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var t=n(4848),i=n(8453);const r={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},o=void 0,s={permalink:"/blog/kafka-meets-wayang-3",source:"@site/blog/202 [...]
\ No newline at end of file
diff --git a/assets/js/935f2afb.ffccc654.js b/assets/js/935f2afb.ffccc654.js
deleted file mode 100644
index 100fa23b..00000000
--- a/assets/js/935f2afb.ffccc654.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8581],{5610(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"startSidebar":[{"type":"link","label":"Download Apache Wayang\u2122","href":"/docs/start/download","docId":"start/download","unlisted":false}],"introductionSidebar":[{"type":"link","labe [...]
\ No newline at end of file
diff --git a/assets/js/9785.81c37763.js b/assets/js/9785.81c37763.js
new file mode 100644
index 00000000..8d1be2c5
--- /dev/null
+++ b/assets/js/9785.81c37763.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9785],{4096(e,t,s){s.d(t,{in:()=>c,OU:()=>A,Ki:()=>k,kJ:()=>x,x:()=>l,e7:()=>h,J_:()=>p,Gx:()=>C});var a=s(6540),n=s(9532),i=s(6803),r=s(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=a.createContext(null);function c( [...]
\ No newline at end of file
diff --git a/assets/js/9c021584.62940182.js b/assets/js/9c021584.62940182.js
deleted file mode 100644
index d4581cf6..00000000
--- a/assets/js/9c021584.62940182.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1307],{5173(e){e.exports=JSON.parse('{"permalink":"/blog/tags/release","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/9e4087bc.1b11865b.js b/assets/js/9e4087bc.1b11865b.js
deleted file mode 100644
index 940d17ae..00000000
--- a/assets/js/9e4087bc.1b11865b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2711],{9331(e,a,s){s.r(a),s.d(a,{default:()=>o});s(6540);var r=s(8774),t=s(1312),i=s(1003),n=s(7907),c=s(1107),l=s(4848);function h({year:e,posts:a}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.A,{as:"h3",id:e,children:e}),(0,l.jsx)("ul",{children:a.map(e=>(0,l.jsx)("li",{children:(0,l.jsxs)(r.A,{to:e.metadata.permalink,children:[e.metadata.formattedDate," - ",e.metadata.title]})} [...]
\ No newline at end of file
diff --git a/assets/js/9e4087bc.304c1c72.js b/assets/js/9e4087bc.304c1c72.js
new file mode 100644
index 00000000..d2326bbd
--- /dev/null
+++ b/assets/js/9e4087bc.304c1c72.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2711],{9331(e,a,r){r.r(a),r.d(a,{default:()=>m});r(6540);var t=r(8774),n=r(1312),s=r(5500),i=r(6266),c=r(2835),l=r(4608),o=r(4848);function h({year:e,posts:a}){const r=(0,i.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.A,{as:"h3",id:e,children:e}),(0,o.jsx)("ul",{children:a.map(e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(t.A,{to:e.me [...]
\ No newline at end of file
diff --git a/assets/js/9f0b0499.fc7b9f15.js b/assets/js/9f0b0499.fc7b9f15.js
new file mode 100644
index 00000000..b52beaa6
--- /dev/null
+++ b/assets/js/9f0b0499.fc7b9f15.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5190],{5316(a){a.exports=JSON.parse('{"tag":{"label":"cross organization data collaboration","permalink":"/blog/tags/cross-organization-data-collaboration","allTagsPath":"/blog/tags","count":3,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/cross-organization-data-collaboration","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog" [...]
\ No newline at end of file
diff --git a/assets/js/a2ec611a.fd9c1fc2.js b/assets/js/a2ec611a.fd9c1fc2.js
deleted file mode 100644
index 71d74756..00000000
--- a/assets/js/a2ec611a.fd9c1fc2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9523],{5283(a){a.exports=JSON.parse('{"permalink":"/blog/tags/graduation","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a58aa246.ed2f5877.js b/assets/js/a58aa246.ed2f5877.js
deleted file mode 100644
index dfb3e34a..00000000
--- a/assets/js/a58aa246.ed2f5877.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7251],{9539(a){a.exports=JSON.parse('{"label":"TLP","permalink":"/blog/tags/tlp","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.643dced7.js b/assets/js/a6aa9e1f.643dced7.js
deleted file mode 100644
index 1c280a41..00000000
--- a/assets/js/a6aa9e1f.643dced7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7643],{7785(e,t,a){a.r(t),a.d(t,{default:()=>h});a(6540);var i=a(4164),n=a(4586),s=a(7559),r=a(1003),l=a(6535),o=a(7713),g=a(1463),d=a(3892),p=a(4848);function c(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,n.A)(),{blogDescription:i,blogTitle:s,permalink:l}=t,o="/"===l?a:s;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.be,{title:o,description:i}),(0,p.jsx)(g.A,{tag:"blog_posts_li [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.d684891a.js b/assets/js/a6aa9e1f.d684891a.js
new file mode 100644
index 00000000..a24a0cd1
--- /dev/null
+++ b/assets/js/a6aa9e1f.d684891a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7643],{5124(e,t,a){a.r(t),a.d(t,{default:()=>j});a(6540);var s=a(4164),n=a(4586),r=a(5500),i=a(7559),l=a(8027),o=a(7713),c=a(1463),d=a(3892),m=a(5260),g=a(4096),u=a(4848);function h(e){const t=(0,g.kJ)(e);return(0,u.jsx)(m.A,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function p(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,n.A)(),{blogDescr [...]
\ No newline at end of file
diff --git a/assets/js/a7023ddc.ec3e37ab.js b/assets/js/a7023ddc.ec3e37ab.js
deleted file mode 100644
index a58b2d77..00000000
--- a/assets/js/a7023ddc.ec3e37ab.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9267],{8289(a){a.exports=JSON.parse('[{"label":"wayang","permalink":"/blog/tags/wayang","count":11},{"label":"spatial","permalink":"/blog/tags/spatial","count":1},{"label":"ASF","permalink":"/blog/tags/asf","count":2},{"label":"graduation","permalink":"/blog/tags/graduation","count":1},{"label":"TLP","permalink":"/blog/tags/tlp","count":1},{"label":"release","permalink":"/blog/tags/relea [...]
\ No newline at end of file
diff --git a/assets/js/4b85e520.d3205255.js b/assets/js/a7456010.64a33b9c.js
similarity index 63%
rename from assets/js/4b85e520.d3205255.js
rename to assets/js/a7456010.64a33b9c.js
index 6f57e917..3852ce62 100644
--- a/assets/js/4b85e520.d3205255.js
+++ b/assets/js/a7456010.64a33b9c.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2664],{4061(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1235],{8552(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.087822b0.js b/assets/js/a7bd4aaa.087822b0.js
deleted file mode 100644
index d3347e4b..00000000
--- a/assets/js/a7bd4aaa.087822b0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7098],{4532(n,e,s){s.r(e),s.d(e,{default:()=>x});s(6540);var r=s(1003),o=s(2252),t=s(2967),i=s(2831),a=s(1463),c=s(4848);function l(n){const{version:e}=n;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.A,{version:e.version,tag:(0,t.tU)(e.pluginId,e.version)}),(0,c.jsx)(r.be,{children:e.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function u(n){const{vers [...]
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.1616594e.js b/assets/js/a7bd4aaa.1616594e.js
new file mode 100644
index 00000000..ce75c360
--- /dev/null
+++ b/assets/js/a7bd4aaa.1616594e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7098],{1723(n,e,s){s.r(e),s.d(e,{default:()=>d});s(6540);var r=s(5500);function o(n,e){return`docs-${n}-${e}`}var t=s(3025),i=s(2831),a=s(1463),c=s(4848);function u(n){const{version:e}=n;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.A,{version:e.version,tag:o(e.pluginId,e.version)}),(0,c.jsx)(r.be,{children:e.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]} [...]
\ No newline at end of file
diff --git a/assets/js/a94703ab.0388bcdb.js b/assets/js/a94703ab.0388bcdb.js
new file mode 100644
index 00000000..9283e2ac
--- /dev/null
+++ b/assets/js/a94703ab.0388bcdb.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9048],{8115(e,t,n){n.r(t),n.d(t,{default:()=>Se});var a=n(6540),i=n(4164),s=n(5500),o=n(7559),l=n(6972),r=n(609),c=n(1312),d=n(3104),u=n(5062);const m="backToTopButton_sjWU",b="backToTopButtonShow_xfvO";var h=n(4848);function p(){const{shown:e,scrollToTop:t}=function({threshold:e}){const[t,n]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:o}=(0,d.gk)();return(0,d.Mq)(( [...]
\ No newline at end of file
diff --git a/assets/js/a94703ab.43a301eb.js b/assets/js/a94703ab.43a301eb.js
deleted file mode 100644
index cdc41904..00000000
--- a/assets/js/a94703ab.43a301eb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9048],{2559(e,t,n){n.r(t),n.d(t,{default:()=>fe});var a=n(6540),i=n(4164),s=n(1003),o=n(7559),r=n(4142),l=n(4207),c=n(1312),d=n(3104),u=n(5062);const m="backToTopButton_sjWU",b="backToTopButtonShow_xfvO";var h=n(4848);function p(){const{shown:e,scrollToTop:t}=function({threshold:e}){const[t,n]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:o}=(0,d.gk)();return(0,d.Mq)( [...]
\ No newline at end of file
diff --git a/assets/js/aa7f4cd0.0993d2ea.js b/assets/js/aa7f4cd0.0993d2ea.js
new file mode 100644
index 00000000..18ea9066
--- /dev/null
+++ b/assets/js/aa7f4cd0.0993d2ea.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6653],{3990(a){a.exports=JSON.parse('{"tag":{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/wayang/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog/tags/wayang","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ab4c6d72.0ff0b706.js b/assets/js/ab4c6d72.0ff0b706.js
deleted file mode 100644
index 57337776..00000000
--- a/assets/js/ab4c6d72.0ff0b706.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4696],{5871(a){a.exports=JSON.parse('{"permalink":"/blog/tags/ai","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/2b59d008.1f0eaddd.js b/assets/js/aba21aa0.754e82b9.js
similarity index 63%
rename from assets/js/2b59d008.1f0eaddd.js
rename to assets/js/aba21aa0.754e82b9.js
index dceafdb5..5eb14d26 100644
--- a/assets/js/2b59d008.1f0eaddd.js
+++ b/assets/js/aba21aa0.754e82b9.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8661],{9585(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5742],{7093(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/acecf23e.f4c7188f.js b/assets/js/acecf23e.f4c7188f.js
new file mode 100644
index 00000000..11822fd3
--- /dev/null
+++ b/assets/js/acecf23e.f4c7188f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1903],{1912(a){a.exports=JSON.parse('{"blogBasePath":"/blog","blogTitle":"Blog","authorsListPath":"/blog/authors"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ae3304ee.b5633437.js b/assets/js/ae3304ee.b5633437.js
new file mode 100644
index 00000000..d13f655d
--- /dev/null
+++ b/assets/js/ae3304ee.b5633437.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1405],{4862(a){a.exports=JSON.parse('{"tag":{"label":"python","permalink":"/blog/tags/python","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/python","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ae568e66.ba708f36.js b/assets/js/ae568e66.ba708f36.js
deleted file mode 100644
index 801299ad..00000000
--- a/assets/js/ae568e66.ba708f36.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6417],{7630(a){a.exports=JSON.parse('{"permalink":"/blog/tags/wayang","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/tags/wayang/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ae720ac1.1a9c01f7.js b/assets/js/ae720ac1.1a9c01f7.js
deleted file mode 100644
index 3b80b3b9..00000000
--- a/assets/js/ae720ac1.1a9c01f7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5755],{6499(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var t=a(4848),s=a(8453);const o={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},i="Pywayang - Apache Wayang's Python API",r={permalink:"/blog/wayang-python-api",source:"@site/blog/2024-04-09- [...]
\ No newline at end of file
diff --git a/assets/js/ae720ac1.cb850356.js b/assets/js/ae720ac1.cb850356.js
new file mode 100644
index 00000000..a430a26d
--- /dev/null
+++ b/assets/js/ae720ac1.cb850356.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5755],{6499(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});var t=a(9758),s=a(4848),i=a(8453);const o={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},r="Pywayang - Apache Wayang's Python API",c={authorsImageUrls:[void 0]},l=[{value:"Expanding Apache W [...]
\ No newline at end of file
diff --git a/assets/js/af50c6e7.2ad4df5f.js b/assets/js/af50c6e7.2ad4df5f.js
new file mode 100644
index 00000000..096f1ed7
--- /dev/null
+++ b/assets/js/af50c6e7.2ad4df5f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4802],{5850(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(3058),i=t(4848),s=t(8453);const r={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},o="Bringing Spatial Data Processing to Apache Wayang",l={au [...]
\ No newline at end of file
diff --git a/assets/js/af50c6e7.b7d09877.js b/assets/js/af50c6e7.b7d09877.js
deleted file mode 100644
index bd22d34b..00000000
--- a/assets/js/af50c6e7.b7d09877.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4802],{5850(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=t(4848),i=t(8453);const s={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},r="Bringing Spatial Data Processing to Apache Wayang",o={permalink:"/ [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.500fc2d1.js b/assets/js/b2b675dd.500fc2d1.js
deleted file mode 100644
index 7c2a049b..00000000
--- a/assets/js/b2b675dd.500fc2d1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1991],{9775(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.765521c9.js b/assets/js/b2f554cd.765521c9.js
deleted file mode 100644
index cc3d7fbd..00000000
--- a/assets/js/b2f554cd.765521c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5894],{6042(e){e.exports=JSON.parse('{"blogPosts":[{"id":"spatial-wayang","metadata":{"permalink":"/blog/spatial-wayang","source":"@site/blog/2026-05-19-spatial-wayang.md","title":"Bringing Spatial Data Processing to Apache Wayang","description":"Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks [...]
\ No newline at end of file
diff --git a/assets/js/b72d20a6.2f43f5a0.js b/assets/js/b72d20a6.2f43f5a0.js
deleted file mode 100644
index ecd5e064..00000000
--- a/assets/js/b72d20a6.2f43f5a0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2047],{8256(a){a.exports=JSON.parse('{"label":"tensorflow","permalink":"/blog/tags/tensorflow","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/bae78078.8c8103c9.js b/assets/js/bae78078.8c8103c9.js
new file mode 100644
index 00000000..3fcc13de
--- /dev/null
+++ b/assets/js/bae78078.8c8103c9.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[913],{3725(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(4042),o=t(4848),s=t(8453);const r={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},i="Apache Wayang vs. Presto/Trino",l={authorsImageUrls:[void 0]},c=[];function p(e){const a={p:"p",...(0,s.R [...]
\ No newline at end of file
diff --git a/assets/js/bae78078.e00e4e9f.js b/assets/js/bae78078.e00e4e9f.js
deleted file mode 100644
index 497a8b2d..00000000
--- a/assets/js/bae78078.e00e4e9f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[913],{3725(e,a,t){t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var n=t(4848),o=t(8453);const s={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},r="Apache Wayang vs. Presto/Trino",i={permalink:"/blog/wayang-vs-trino",source:"@site/blog/2024-03-08-wayang-vs-presto [...]
\ No newline at end of file
diff --git a/assets/js/c15d9823.592fdf57.js b/assets/js/c15d9823.592fdf57.js
new file mode 100644
index 00000000..4a500d3a
--- /dev/null
+++ b/assets/js/c15d9823.592fdf57.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8146],{9328(a){a.exports=JSON.parse('{"metadata":{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/c3d032e9.18feb7ca.js b/assets/js/c3d032e9.18feb7ca.js
new file mode 100644
index 00000000..b75a4fd4
--- /dev/null
+++ b/assets/js/c3d032e9.18feb7ca.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[636],{5169(t,e,r){r.r(e),r.d(e,{assets:()=>c,contentTitle:()=>l,default:()=>x,frontMatter:()=>d,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"community/team","title":"Team","description":"Committers and Recent Contributors","source":"@site/docs/community/team.md","sourceDirName":"community","slug":"/community/team","permalink":"/docs/community/team","draft":false,"unlisted":false [...]
\ No newline at end of file
diff --git a/assets/js/c3d032e9.d95e7bb7.js b/assets/js/c3d032e9.d95e7bb7.js
deleted file mode 100644
index 55cb485e..00000000
--- a/assets/js/c3d032e9.d95e7bb7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[636],{9699(t,e,r){r.r(e),r.d(e,{assets:()=>c,contentTitle:()=>d,default:()=>x,frontMatter:()=>s,metadata:()=>l,toc:()=>h});var n=r(4848),i=r(8453);const s={title:"Team",sidebar_position:2,id:"team"},d=void 0,l={id:"community/team",title:"Team",description:"Committers and Recent Contributors",source:"@site/docs/community/team.md",sourceDirName:"community",slug:"/community/team",permalink: [...]
\ No newline at end of file
diff --git a/assets/js/c5ff918f.4a373640.js b/assets/js/c5ff918f.4a373640.js
new file mode 100644
index 00000000..de058374
--- /dev/null
+++ b/assets/js/c5ff918f.4a373640.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3619],{9531(a){a.exports=JSON.parse('{"tag":{"label":"kafka","permalink":"/blog/tags/kafka","allTagsPath":"/blog/tags","count":3,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/kafka","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/c8d81af2.a32df4fb.js b/assets/js/c8d81af2.a32df4fb.js
deleted file mode 100644
index a010a5a5..00000000
--- a/assets/js/c8d81af2.a32df4fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3384],{7110(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var n=a(4848),i=a(8453);const s={id:"about",title:"What is Apache Wayang\u2122?",sidebar_position:1},o=void 0,r={id:"introduction/about",title:"What is Apache Wayang\u2122?",description:"\x3c!--",source:"@site/docs/introduction/about.md",sourceDirName:"introduction" [...]
\ No newline at end of file
diff --git a/assets/js/c8d81af2.a9d79745.js b/assets/js/c8d81af2.a9d79745.js
new file mode 100644
index 00000000..fb0e4bc8
--- /dev/null
+++ b/assets/js/c8d81af2.a9d79745.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3384],{6206(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"introduction/about","title":"What is Apache Wayang\u2122?","description":"\x3c!--","source":"@site/docs/introduction/about.md","sourceDirName":"introduction","slug":"/introduction/about","permalink":"/docs/introduction/about","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/c9cac9d9.db51b45e.js b/assets/js/c9cac9d9.db51b45e.js
new file mode 100644
index 00000000..2779c474
--- /dev/null
+++ b/assets/js/c9cac9d9.db51b45e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4918],{371(a){a.exports=JSON.parse('{"tag":{"label":"release","permalink":"/blog/tags/release","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/release","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ca0159e3.b14772a5.js b/assets/js/ca0159e3.b14772a5.js
deleted file mode 100644
index 42cfda94..00000000
--- a/assets/js/ca0159e3.b14772a5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6084],{138(a){a.exports=JSON.parse('{"permalink":"/blog/tags/trino","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/cbf9f64c.9e8ea1c9.js b/assets/js/cbf9f64c.9e8ea1c9.js
deleted file mode 100644
index c34ece52..00000000
--- a/assets/js/cbf9f64c.9e8ea1c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2484],{258(a){a.exports=JSON.parse('{"permalink":"/blog/tags/tlp","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/cc6c0e90.149ceea8.js b/assets/js/cc6c0e90.149ceea8.js
deleted file mode 100644
index feb469b1..00000000
--- a/assets/js/cc6c0e90.149ceea8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6070],{9222(e,n,a){a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=a(4848),t=a(8453);const o={title:"Installation and Examples",sidebar_position:10,id:"examples"},r=void 0,s={id:"guide/examples",title:"Installation and Examples",description:"\x3c!--",source:"@site/docs/guide/examples.md",sourceDirName:"guide",slug:"/guide/exa [...]
\ No newline at end of file
diff --git a/assets/js/cc6c0e90.9fc38bea.js b/assets/js/cc6c0e90.9fc38bea.js
new file mode 100644
index 00000000..13159013
--- /dev/null
+++ b/assets/js/cc6c0e90.9fc38bea.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6070],{7009(e,n,a){a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guide/examples","title":"Installation and Examples","description":"\x3c!--","source":"@site/docs/guide/examples.md","sourceDirName":"guide","slug":"/guide/examples","permalink":"/docs/guide/examples","draft":false,"unlisted":false,"tags":[ [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.5dcf1b05.js b/assets/js/ccc49370.5dcf1b05.js
new file mode 100644
index 00000000..71e646ea
--- /dev/null
+++ b/assets/js/ccc49370.5dcf1b05.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3249],{2907(e,t,n){n.d(t,{A:()=>U});n(6540);var a=n(4164),s=n(4096),i=n(4848);function r({children:e,className:t}){return(0,i.jsx)("article",{className:t,children:e})}var o=n(8774);const l="title_f1Hy";function c({className:e}){const{metadata:t,isBlogPostPage:n}=(0,s.e7)(),{permalink:r,title:c}=t,d=n?"h1":"h2";return(0,i.jsx)(d,{className:(0,a.A)(l,e),children:n?c:(0,i.jsx)(o.A,{to:r,chi [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.613972d5.js b/assets/js/ccc49370.613972d5.js
deleted file mode 100644
index 8b137e53..00000000
--- a/assets/js/ccc49370.613972d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3249],{4029(e,n,t){t.r(n),t.d(n,{default:()=>p});t(6540);var i=t(4164),a=t(1003),s=t(7559),o=t(7131),r=t(6535),l=t(8258),c=t(1312),d=t(9022),u=t(4848);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA la [...]
\ No newline at end of file
diff --git a/assets/js/cfab9f0f.46054c91.js b/assets/js/cfab9f0f.46054c91.js
new file mode 100644
index 00000000..5e8f4a49
--- /dev/null
+++ b/assets/js/cfab9f0f.46054c91.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7554],{3442(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>s});var t=n(2984),r=n(4848),o=n(8453);const l={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},c="How I failed to release Apache Wayang",i={authorsImageUrls:[void 0]},s=[{value:"Intro",id:"intro",level:2 [...]
\ No newline at end of file
diff --git a/assets/js/cfab9f0f.de0e8a71.js b/assets/js/cfab9f0f.de0e8a71.js
deleted file mode 100644
index e9820a29..00000000
--- a/assets/js/cfab9f0f.de0e8a71.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7554],{3442(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var t=n(4848),r=n(8453);const o={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},l="How I failed to release Apache Wayang",c={permalink:"/blog/wayang-release-odysse",source:"@site/blog/2024-09-01-rel [...]
\ No newline at end of file
diff --git a/assets/js/d2f02a99.067b368b.js b/assets/js/d2f02a99.067b368b.js
deleted file mode 100644
index 6d6313d0..00000000
--- a/assets/js/d2f02a99.067b368b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6286],{9119(a){a.exports=JSON.parse('{"permalink":"/blog/tags/wayang/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog/tags/wayang","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/d5eebf32.364b7794.js b/assets/js/d5eebf32.364b7794.js
new file mode 100644
index 00000000..13bdf469
--- /dev/null
+++ b/assets/js/d5eebf32.364b7794.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7123],{7875(a){a.exports=JSON.parse('{"tag":{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/wayang","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/tags/wayang/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/d6ab7c01.aac54914.js b/assets/js/d6ab7c01.aac54914.js
deleted file mode 100644
index 87885036..00000000
--- a/assets/js/d6ab7c01.aac54914.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8311],{7422(a){a.exports=JSON.parse('{"label":"federated","permalink":"/blog/tags/federated","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/d6b58e03.3150c259.js b/assets/js/d6b58e03.3150c259.js
deleted file mode 100644
index 10c90d43..00000000
--- a/assets/js/d6b58e03.3150c259.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9316],{530(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var n=t(4848),i=t(8453);const o={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},r="The Federated AI",s={permalink:"/blog/wayang-federated-ai",source:"@site/blog/2024-04-17-federated-ai.md",title [...]
\ No newline at end of file
diff --git a/assets/js/d6b58e03.f007aab8.js b/assets/js/d6b58e03.f007aab8.js
new file mode 100644
index 00000000..cb8ab388
--- /dev/null
+++ b/assets/js/d6b58e03.f007aab8.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9316],{530(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>r,metadata:()=>n,toc:()=>d});var n=t(3779),i=t(4848),o=t(8453);const r={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},s="The Federated AI",l={authorsImageUrls:[void 0]},d=[{value:"Apache Wayang in the Federated AI world",i [...]
\ No newline at end of file
diff --git a/assets/js/dcd29181.9a789b79.js b/assets/js/dcd29181.9a789b79.js
deleted file mode 100644
index 32b0e8bb..00000000
--- a/assets/js/dcd29181.9a789b79.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9865],{7159(e){e.exports=JSON.parse('{"permalink":"/blog/tags/tensorflow","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/dd496c4d.859b56f6.js b/assets/js/dd496c4d.859b56f6.js
new file mode 100644
index 00000000..8f364b97
--- /dev/null
+++ b/assets/js/dd496c4d.859b56f6.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2259],{2717(a){a.exports=JSON.parse('{"tag":{"label":"ASF","permalink":"/blog/tags/asf","allTagsPath":"/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/asf","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/dd4c342d.25b933c7.js b/assets/js/dd4c342d.25b933c7.js
new file mode 100644
index 00000000..ea795fc6
--- /dev/null
+++ b/assets/js/dd4c342d.25b933c7.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[515],{4686(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>u});const i=JSON.parse('{"id":"community/repositories","title":"Repositories","description":"Source Code","source":"@site/docs/community/repositories.md","sourceDirName":"community","slug":"/community/repositories","permalink":"/docs/community/repositories","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/dd4c342d.9d8cda27.js b/assets/js/dd4c342d.9d8cda27.js
deleted file mode 100644
index 42d6e928..00000000
--- a/assets/js/dd4c342d.9d8cda27.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[515],{5682(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>u});var s=i(4848),a=i(8453);const o={title:"Repositories",sidebar_position:2,id:"repositories"},n="Community Hubs",r={id:"community/repositories",title:"Repositories",description:"Source Code",source:"@site/docs/community/repositories.md",sourceDirName:"community",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/ded07547.92578126.js b/assets/js/ded07547.92578126.js
deleted file mode 100644
index c26260f6..00000000
--- a/assets/js/ded07547.92578126.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7741],{185(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var r=n(4848),i=n(8453);const s={id:"resources",title:"Community Resources & External Coverage",sidebar_position:8},o=void 0,a={id:"community/resources",title:"Community Resources & External Coverage",description:"Apache Wayang thrives because of the conversations, f [...]
\ No newline at end of file
diff --git a/assets/js/ded07547.d190f211.js b/assets/js/ded07547.d190f211.js
new file mode 100644
index 00000000..4054ccde
--- /dev/null
+++ b/assets/js/ded07547.d190f211.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7741],{6661(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"community/resources","title":"Community Resources & External Coverage","description":"Apache Wayang thrives because of the conversations, field notes, and benchmarks that the community shares publicly. To anchor every new visitor in our co [...]
\ No newline at end of file
diff --git a/assets/js/e2014d6c.0104a08e.js b/assets/js/e2014d6c.0104a08e.js
deleted file mode 100644
index fabe3eeb..00000000
--- a/assets/js/e2014d6c.0104a08e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9966],{3853(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var t=n(4848),o=n(8453);const r={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},s="Apache Wayang Graduates to a Top-Level Project!",i={permalink:"/blog/wayang-graduation",source:"@site/blog/2025- [...]
\ No newline at end of file
diff --git a/assets/js/e2014d6c.d3427a65.js b/assets/js/e2014d6c.d3427a65.js
new file mode 100644
index 00000000..7e07385d
--- /dev/null
+++ b/assets/js/e2014d6c.d3427a65.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9966],{3853(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>l});var t=n(3318),o=n(4848),r=n(8453);const s={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},i="Apache Wayang Graduates to a Top-Level Project!",c={authorsImageUrls:[void 0]},l=[{value:"What Is Apac [...]
\ No newline at end of file
diff --git a/assets/js/e82464af.3ec64e78.js b/assets/js/e82464af.3ec64e78.js
new file mode 100644
index 00000000..d50fd3dd
--- /dev/null
+++ b/assets/js/e82464af.3ec64e78.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8337],{8680(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>l});var n=a(5932),s=a(4848),o=a(8453);const r={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},u=void 0,i={authorsImageUrls:[void 0]},l=[];function c(e){const t={p:"p",...(0,o.R)(),...e.components};return(0,s.jsx)(t.p,{children:"We're [...]
\ No newline at end of file
diff --git a/assets/js/e82464af.933b8b86.js b/assets/js/e82464af.933b8b86.js
deleted file mode 100644
index fc69c045..00000000
--- a/assets/js/e82464af.933b8b86.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8337],{8680(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>l});var n=a(4848),s=a(8453);const o={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},r=void 0,u={permalink:"/blog/website_update",source:"@site/blog/2024-01-25-website_update.md",title:"Website updated",description:"We're updated our w [...]
\ No newline at end of file
diff --git a/assets/js/ef63ae07.78776b24.js b/assets/js/ef63ae07.78776b24.js
new file mode 100644
index 00000000..93745a47
--- /dev/null
+++ b/assets/js/ef63ae07.78776b24.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9358],{7996(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"guide/json-wayang-plan-guide","title":"Documentation of Supported Operators in JSON-REST API","description":"This is not a full coverage of supported operators and plan parameters in the API. These are only the ones that we were able to ve [...]
\ No newline at end of file
diff --git a/assets/js/ef63ae07.d45848c7.js b/assets/js/ef63ae07.d45848c7.js
deleted file mode 100644
index 1c85a8cd..00000000
--- a/assets/js/ef63ae07.d45848c7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9358],{6196(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var r=n(4848),a=n(8453);const s={},i="Documentation of Supported Operators in JSON-REST API",d={id:"guide/json-wayang-plan-guide",title:"Documentation of Supported Operators in JSON-REST API",description:"This is not a full coverage of supported operators and plan p [...]
\ No newline at end of file
diff --git a/assets/js/ef8b811a.0962eca3.js b/assets/js/ef8b811a.0962eca3.js
new file mode 100644
index 00000000..51dddcd6
--- /dev/null
+++ b/assets/js/ef8b811a.0962eca3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8947],{6600(t){t.exports=JSON.parse('{"authors":[{"name":"Alexander Alten","title":"(P)PMC Apache Wayang","url":"https://github.com/2pk03","imageURL":"https://avatars.githubusercontent.com/u/1323575?v=4","key":"alo.alt","page":null,"count":1},{"name":"Mirko K\xe4mpf","title":"(P)PMC Apache Wayang","url":"https://github.com/kamir","imageURL":"https://avatars.githubusercontent.com/u/124112 [...]
\ No newline at end of file
diff --git a/assets/js/effa2a56.9694e959.js b/assets/js/effa2a56.9694e959.js
deleted file mode 100644
index b1d69755..00000000
--- a/assets/js/effa2a56.9694e959.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6947],{5788(e,n,t){t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=t(4848),a=t(8453);const i={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},l="Website updated",r={permalink:"/blog/website_update",source:"@site/blog/2024-01-25-website_update.md",title:"Website updated",description:"We're up [...]
\ No newline at end of file
diff --git a/assets/js/effa2a56.a8b17e26.js b/assets/js/effa2a56.a8b17e26.js
new file mode 100644
index 00000000..83c85dfc
--- /dev/null
+++ b/assets/js/effa2a56.a8b17e26.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6947],{5788(e,n,t){t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>u});var s=t(5932),a=t(4848),i=t(8453);const l={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},r="Website updated",o={authorsImageUrls:[void 0]},u=[{value:"Cheatsheet",id:"cheatsheet",level:2}];function c(e){const n={a:"a",h2:"h2",li:" [...]
\ No newline at end of file
diff --git a/assets/js/f0e33d06.ed95c00d.js b/assets/js/f0e33d06.ed95c00d.js
deleted file mode 100644
index 6c4d596d..00000000
--- a/assets/js/f0e33d06.ed95c00d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6730],{9171(a){a.exports=JSON.parse('{"label":"presto","permalink":"/blog/tags/presto","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/f32fe326.17b9c059.js b/assets/js/f32fe326.17b9c059.js
deleted file mode 100644
index 90c89c07..00000000
--- a/assets/js/f32fe326.17b9c059.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[818],{5320(a){a.exports=JSON.parse('{"label":"ai","permalink":"/blog/tags/ai","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/f483cb0e.59770649.js b/assets/js/f483cb0e.59770649.js
deleted file mode 100644
index 7f9d4800..00000000
--- a/assets/js/f483cb0e.59770649.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5492],{2326(a){a.exports=JSON.parse('{"label":"ASF","permalink":"/blog/tags/asf","allTagsPath":"/blog/tags","count":2,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/f51360a1.6a2e273c.js b/assets/js/f51360a1.6a2e273c.js
deleted file mode 100644
index cf3e9e10..00000000
--- a/assets/js/f51360a1.6a2e273c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[568],{4758(a){a.exports=JSON.parse('{"permalink":"/blog/tags/ml","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f5d9e7eb.130dda91.js b/assets/js/f5d9e7eb.130dda91.js
deleted file mode 100644
index fbfdaa64..00000000
--- a/assets/js/f5d9e7eb.130dda91.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3828],{1546(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var o=n(4848),t=n(8453);const r={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},i="Integrating ML platforms in Wayang",s={permalink:"/blog/wayang-tensorflow",source:"@site/blog/2024-05-07-wa [...]
\ No newline at end of file
diff --git a/assets/js/f5d9e7eb.64190d38.js b/assets/js/f5d9e7eb.64190d38.js
new file mode 100644
index 00000000..c0075f8c
--- /dev/null
+++ b/assets/js/f5d9e7eb.64190d38.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3828],{1546(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var o=n(5458),t=n(4848),r=n(8453);const i={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},s="Integrating ML platforms in Wayang",c={authorsImageUrls:[void 0]},l=[{value:"Step 1: Introducing [...]
\ No newline at end of file
diff --git a/assets/js/f6749399.3e5e1e61.js b/assets/js/f6749399.3e5e1e61.js
new file mode 100644
index 00000000..6c9a73b9
--- /dev/null
+++ b/assets/js/f6749399.3e5e1e61.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[552],{2845(a){a.exports=JSON.parse('{"tag":{"label":"tensorflow","permalink":"/blog/tags/tensorflow","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/tensorflow","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/f81c1134.bd48df83.js b/assets/js/f81c1134.bd48df83.js
new file mode 100644
index 00000000..a34e2b7e
--- /dev/null
+++ b/assets/js/f81c1134.bd48df83.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8130],{7735(e){e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"spatial-wayang","metadata":{"permalink":"/blog/spatial-wayang","source":"@site/blog/2026-05-19-spatial-wayang.md","title":"Bringing Spatial Data Processing to Apache Wayang","description":"Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to compl [...]
\ No newline at end of file
diff --git a/assets/js/f8667543.b71eb24c.js b/assets/js/f8667543.b71eb24c.js
deleted file mode 100644
index 6f752ffd..00000000
--- a/assets/js/f8667543.b71eb24c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7734],{3142(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=t(4848),o=t(8453);const s={},r="Guidelines for AI-assisted Contributions",a={id:"community/ai-tooling-policy",title:"Guidelines for AI-assisted Contributions",description:"The Apache Wayang community welcomes the use of AI and generative tooling as part of the [...]
\ No newline at end of file
diff --git a/assets/js/f8667543.fcbc3f4b.js b/assets/js/f8667543.fcbc3f4b.js
new file mode 100644
index 00000000..06d0b648
--- /dev/null
+++ b/assets/js/f8667543.fcbc3f4b.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7734],{2987(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"community/ai-tooling-policy","title":"Guidelines for AI-assisted Contributions","description":"The Apache Wayang community welcomes the use of AI and generative tooling as part of the contribution process, provided contributors follow the [...]
\ No newline at end of file
diff --git a/assets/js/f8de77c0.7a4b2099.js b/assets/js/f8de77c0.7a4b2099.js
deleted file mode 100644
index 3f4111a7..00000000
--- a/assets/js/f8de77c0.7a4b2099.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6487],{8581(a){a.exports=JSON.parse('{"permalink":"/blog/tags/python","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f9d658b5.0b4d9fc5.js b/assets/js/f9d658b5.0b4d9fc5.js
new file mode 100644
index 00000000..b7a1563d
--- /dev/null
+++ b/assets/js/f9d658b5.0b4d9fc5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8302],{5678(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var o=n(5458),t=n(4848),r=n(8453);const i={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},s="Integrating ML platforms in Wayang",c={authorsImageUrls:[void 0]},l=[{value:"Step 1: Introducing [...]
\ No newline at end of file
diff --git a/assets/js/f9d658b5.88e4cbff.js b/assets/js/f9d658b5.88e4cbff.js
deleted file mode 100644
index 477c1ee9..00000000
--- a/assets/js/f9d658b5.88e4cbff.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8302],{5678(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var o=n(4848),t=n(8453);const r={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},i="Integrating ML platforms in Wayang",s={permalink:"/blog/wayang-tensorflow",source:"@site/blog/2024-05-07-wa [...]
\ No newline at end of file
diff --git a/assets/js/f9f546af.ab34d062.js b/assets/js/f9f546af.ab34d062.js
new file mode 100644
index 00000000..ad2f23e8
--- /dev/null
+++ b/assets/js/f9f546af.ab34d062.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4860],{1600(a){a.exports=JSON.parse('{"tag":{"label":"graduation","permalink":"/blog/tags/graduation","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/graduation","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/fc758bfe.620c0314.js b/assets/js/fc758bfe.620c0314.js
new file mode 100644
index 00000000..d8307f55
--- /dev/null
+++ b/assets/js/fc758bfe.620c0314.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[643],{2386(a){a.exports=JSON.parse('{"tag":{"label":"spatial","permalink":"/blog/tags/spatial","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/spatial","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ff8bfa68.3bed06c8.js b/assets/js/ff8bfa68.3bed06c8.js
new file mode 100644
index 00000000..9868409a
--- /dev/null
+++ b/assets/js/ff8bfa68.3bed06c8.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9976],{4445(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"community/release","title":"How to make a release","description":"This guide documents the steps to be followed when making a release.","source":"@site/docs/community/how-to-make-a-release.md","sourceDirName":"community","slug":"/community [...]
\ No newline at end of file
diff --git a/assets/js/ff8bfa68.a8db12f8.js b/assets/js/ff8bfa68.a8db12f8.js
deleted file mode 100644
index 83b9db43..00000000
--- a/assets/js/ff8bfa68.a8db12f8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9976],{6311(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>t,metadata:()=>o,toc:()=>l});var r=s(4848),a=s(8453);const t={title:"How to make a release",sidebar_position:6,id:"release"},i=void 0,o={id:"community/release",title:"How to make a release",description:"This guide documents the steps to be followed when making a release.",source:"@site/docs/com [...]
\ No newline at end of file
diff --git a/assets/js/main.1812f2df.js b/assets/js/main.1812f2df.js
deleted file mode 100644
index f89db16f..00000000
--- a/assets/js/main.1812f2df.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.1812f2df.js.LICENSE.txt */
-(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8792],{8328(e,t,n){"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"05a94acb":[()=>n.e(6570).then(n.bind(n,8172)),"@site/docs/community/committer.md",8172],"06bc2d4d":[()=>n.e(2666).then(n.bind(n,3974)),"@site/blog/2024-04-17-federated-ai.md?truncated=true",3974],"09 [...]
\ No newline at end of file
diff --git a/assets/js/main.b727b1fa.js b/assets/js/main.b727b1fa.js
new file mode 100644
index 00000000..245ffcca
--- /dev/null
+++ b/assets/js/main.b727b1fa.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.b727b1fa.js.LICENSE.txt */
+(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8792],{8328(e,t,n){"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"0058b4c6":[()=>n.e(849).then(n.t.bind(n,6164,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-175.json",6164],"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"05a94acb":[()=>n.e(6570).then(n.bind(n,674)),"@site/docs/community/committ [...]
\ No newline at end of file
diff --git a/assets/js/main.1812f2df.js.LICENSE.txt b/assets/js/main.b727b1fa.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.1812f2df.js.LICENSE.txt
rename to assets/js/main.b727b1fa.js.LICENSE.txt
diff --git a/assets/js/runtime~main.0da1c716.js b/assets/js/runtime~main.0da1c716.js
new file mode 100644
index 00000000..afce5736
--- /dev/null
+++ b/assets/js/runtime~main.0da1c716.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){for(var[f,c,d]=e[i],t=!0,o=0;o<f.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1 [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.de22a7ac.js b/assets/js/runtime~main.de22a7ac.js
deleted file mode 100644
index e9271dbc..00000000
--- a/assets/js/runtime~main.de22a7ac.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,a,f,d,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,d,c)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){for(var[f,d,c]=e[i],t=!0,o=0;o<f.length;o++)(!1&c||b>=c)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,c<b&&(b=c));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1 [...]
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 30a92045..52991403 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -2,14 +2,17 @@
<html lang="en" dir="ltr" class="plugin-blog plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
<title data-rh="true">Archive | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/archive"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" n [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
<p>
Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/atom.xml b/blog/atom.xml
index 0629b483..f756b607 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -15,49 +15,49 @@
<summary type="html"><![CDATA[Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks. However, there are additional areas that could benefit from its platform flexibility. As part of a university project, we implemented spatial operators in Apache Wayang. This enables the execution of workflows using geospatial data, including spatial join and filter operations. Since execution times can diff [...]
<content type="html"><![CDATA[<p>Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks. However, there are additional areas that could benefit from its platform flexibility. As part of a university project, we implemented spatial operators in Apache Wayang. This enables the execution of workflows using geospatial data, including spatial join and filter operations. Since execution times can d [...]
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="https://wayang.apache.org/blog/spatial-wayang#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="https://wayang.apache.org/blog/spatial-wayang#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no"></a></h2>
<p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
<p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
<p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
<p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="https://wayang.apache.org/blog/spatial-wayang#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="https://wayang.apache.org/blog/spatial-wayang#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no"></a></h2>
<p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
<p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
<p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
<p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
<ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
</ul>
<p>Execution is then handled by the existing platform runtimes:</p>
<ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
</ul>
<p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
<p>This design provides three concrete advantages:</p>
<ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
</ul>
<p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
<div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="https://wayang.apache.org/img/architecture/wayang-spatial-architecture.png"></div>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="https://wayang.apache.org/blog/spatial-wayang#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="https://wayang.apache.org/blog/spatial-wayang#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no"></a></h2>
<p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="https://wayang.apache.org/img/benchmarks/spatial-bench1.png"></div>
<ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
</ul>
<p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu/" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu/" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clu [...]
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="https://wayang.apache.org/img/benchmarks/spatial-bench2.png"></div>
<p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="https://wayang.apache.org/img/benchmarks/spatial-bench3.png"></div>
@@ -65,7 +65,7 @@
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="https://wayang.apache.org/img/benchmarks/spatial-bench4.png"></div>
<p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="https://wayang.apache.org/blog/spatial-wayang#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="https://wayang.apache.org/blog/spatial-wayang#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no"></a></h2>
<p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
<p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p>]]></content>
@@ -94,28 +94,28 @@
<p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="https://wayang.apache.org/blog/wayang-graduation#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="https://wayang.apache.org/blog/wayang-graduation#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no"></a></h2>
<p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
<p>Instead of forcing users to choose a single execution backend, Wayang:</p>
<ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
</ul>
<p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="https://wayang.apache.org/blog/wayang-graduation#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="https://wayang.apache.org/blog/wayang-graduation#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no"></a></h2>
<p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
Your contributions made this milestone possible, and we’re just getting started.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="https://wayang.apache.org/blog/wayang-graduation#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="https://wayang.apache.org/blog/wayang-graduation#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no"></a></h2>
<p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
<ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
</ul>
<p>Welcome to Apache Wayang — where data platforms work together!</p>]]></content>
<author>
@@ -133,125 +133,125 @@ Your contributions made this milestone possible, and we’re just getting starte
<link href="https://wayang.apache.org/blog/wayang-release-odysse"/>
<updated>2024-09-01T00:00:00.000Z</updated>
<summary type="html"><![CDATA[Intro]]></summary>
- <content type="html"><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intro">Intro<a href="https://wayang.apache.org/blog/wayang-release-odysse#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro"></a></h2>
+ <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="intro">Intro<a href="https://wayang.apache.org/blog/wayang-release-odysse#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro" translate="no"></a></h2>
<p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
<p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
<ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
</ul>
<p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
<ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
</ul>
<p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
<p>I plan a longer tour, and do not want to block the project for a long time.
Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="https://wayang.apache.org/blog/wayang-release-odysse#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="https://wayang.apache.org/blog/wayang-release-odysse#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no"></a></h2>
<p>I am not able to conduct the <em>mvn release:perform</em> step.
Anything before worked, sometimes only after some digging, but it worked.</p>
<ul>
-<li>
+<li class="">
<p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
</li>
-<li>
+<li class="">
<p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
</li>
</ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="https://wayang.apache.org/blog/wayang-release-odysse#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal"></a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="https://wayang.apache.org/blog/wayang-release-odysse#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no"></a></h2>
<p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
<p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
<p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="https://wayang.apache.org/blog/wayang-release-odysse#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:"></a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="https://wayang.apache.org/blog/wayang-release-odysse#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log"></a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="https://wayang.apache.org/blog/wayang-release-odysse#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release"></a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="https://wayang.apache.org/blog/wayang-release-odysse#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no"></a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="https://wayang.apache.org/blog/wayang-release-odysse#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no"></a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="https://wayang.apache.org/blog/wayang-release-odysse#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no"></a></h3>
<blockquote>
<p>FIXED with local JDK11 Setup</p>
</blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="https://wayang.apache.org/blog/wayang-release-odysse#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="https://wayang.apache.org/blog/wayang-release-odysse#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no"></a></h3>
<p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">plugi [...]
<blockquote>
<p>It seems that these properties must be updated manually.</p>
</blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="https://wayang.apache.org/blog/wayang-release-odysse#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding "illegal reflective access operation"" title="Direct link to Warning regarding "illegal reflective access operation""></a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="https://wayang.apache.org/blog/wayang-release-odysse#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding "illegal reflective access operation"" title="Direct link to Warning regarding "illegal reflective access operation"" translate=" [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
<blockquote>
<p><strong>This is still an OPEN ISSUE !</strong></p>
</blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="https://wayang.apache.org/blog/wayang-release-odysse#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails"></a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="https://wayang.apache.org/blog/wayang-release-odysse#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
<blockquote>
<p><em>FIXED by adding .java-versions to .gitignore</em></p>
</blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="https://wayang.apache.org/blog/wayang-release-odysse#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM."></a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli) [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="https://wayang.apache.org/blog/wayang-release-odysse#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
<blockquote>
<p>FIXED by manual changes in pom.xml.</p>
</blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></span></code></pre><div class [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></div></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
<blockquote>
<p>So far so good. But now the sun went down.</p>
</blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
<p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="https://wayang.apache.org/blog/wayang-release-odysse#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:"></a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="https://wayang.apache.org/blog/wayang-release-odysse#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no"></a></h2>
<p>The error you're encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
<p>Here's a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="https://wayang.apache.org/blog/wayang-release-odysse#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="https://wayang.apache.org/blog/wayang-release-odysse#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no"></a></h3>
<p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
<p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="https://wayang.apache.org/blog/wayang-release-odysse#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="https://wayang.apache.org/blog/wayang-release-odysse#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no"></a></h3>
<p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
<p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="https://wayang.apache.org/blog/wayang-release-odysse#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="https://wayang.apache.org/blog/wayang-release-odysse#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no"></a></h3>
<p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
<p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="https://wayang.apache.org/blog/wayang-release-odysse#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="https://wayang.apache.org/blog/wayang-release-odysse#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no"></a></h3>
<p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
<p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="https://wayang.apache.org/blog/wayang-release-odysse#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="https://wayang.apache.org/blog/wayang-release-odysse#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no"></a></h3>
<p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
<p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="https://wayang.apache.org/blog/wayang-release-odysse#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="https://wayang.apache.org/blog/wayang-release-odysse#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no"></a></h3>
<p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here's an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="https://wayang.apache.org/blog/wayang-release-odysse#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging"></a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="https://wayang.apache.org/blog/wayang-release-odysse#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no"></a></h3>
<p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
<p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="https://wayang.apache.org/blog/wayang-release-odysse#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="https://wayang.apache.org/blog/wayang-release-odysse#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no"></a></h3>
<p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
<p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="https://wayang.apache.org/blog/wayang-release-odysse#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="https://wayang.apache.org/blog/wayang-release-odysse#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no"></a></h3>
<p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">serve [...]
<p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="https://wayang.apache.org/blog/wayang-release-odysse#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="https://wayang.apache.org/blog/wayang-release-odysse#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no"></a></h3>
<p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line" [...]
<p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
<p><strong>[DONE]</strong></p>]]></content>
<author>
@@ -270,36 +270,36 @@ But now, the error changes with and I am still not able to stage the build resul
<summary type="html"><![CDATA[We are happy to announce that we have extended Wayang to be able to utilize any ML platform and any ML operators.]]></summary>
<content type="html"><![CDATA[<p>We are happy to announce that we have extended Wayang to be able to utilize any ML platform and any ML operators.
Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no"></a></h2>
<p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
<p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators"></a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no"></a></h2>
<p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
<p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators"></a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no"></a></h2>
<p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
<p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="https://wayang.apache.org/blog/wayang-tensorflow#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models"></a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="https://wayang.apache.org/blog/wayang-tensorflow#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no"></a></h2>
<p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
<p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="https://wayang.apache.org/blog/wayang-tensorflow#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration"></a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="https://wayang.apache.org/blog/wayang-tensorflow#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no"></a></h2>
<p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="https://wayang.apache.org/blog/wayang-tensorflow#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement"></a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="https://wayang.apache.org/blog/wayang-tensorflow#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no"></a></h3>
<p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-tensorflow#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-tensorflow#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no"></a></h3>
<p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
coming soon (including the federated learning aspect as well as an SQL interface and a novel
data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
write documentation, or fix bugs.</p>]]></content>
<author>
<name>Zoi Kaoudi</name>
@@ -325,7 +325,7 @@ personal data. One of the significant challenges in working with AI is the varie
in the market or the open-source community. Each tool provides results in a different form;
integrating them can be pretty challenging. Let's talk about Apache Wayang and
how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="https://wayang.apache.org/blog/wayang-federated-ai#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="https://wayang.apache.org/blog/wayang-federated-ai#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no"></a></h2>
<p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
integrates big data platforms and tools by removing the complexity of
worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -333,7 +333,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
work on integrating federated learning capabilities. In a federated learning approach, Wayang
would allow different local models to be built and exchange its model results across other data
centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="https://wayang.apache.org/blog/wayang-federated-ai#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="https://wayang.apache.org/blog/wayang-federated-ai#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no"></a></h2>
<p>Let's consider a real-world scenario. Hospitals and health organizations have increased their
investments in machine/deep learning initiatives to learn more and predict diagnostics.
However, due to legal frameworks, sharing patients' information or diagnostics is impossible,
@@ -358,14 +358,14 @@ layer of complexity from the developers by integrating with diverse types of dat
also brings fast development and reduces the need for a deep understanding of data
infrastructure or integrations. Developers can focus on the logic and how to execute tasks
instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-federated-ai#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-federated-ai#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no"></a></h3>
<p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
coming soon (including the federated learning aspect as well as an SQL interface and a novel
data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
write documentation, or fix bugs.</p>
<br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="https://wayang.apache.org/blog/wayang-federated-ai#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!"></a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="https://wayang.apache.org/blog/wayang-federated-ai#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no"></a></h5>
<p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p>]]></content>
<author>
@@ -388,7 +388,7 @@ languages often is a major inconvenience.
Apache Wayang's upcoming Python API will allow you to seamlessly
orchestrate data processing tasks without ever leaving the comfort
of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang's APIs<a href="https://wayang.apache.org/blog/wayang-python-api#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang's APIs" title="Direct link to Expanding Apache Wayang's APIs"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang's APIs<a href="https://wayang.apache.org/blog/wayang-python-api#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang's APIs" title="Direct link to Expanding Apache Wayang's APIs" translate="no"></a></h2>
<p>Apache Wayang's architecture decouples the process of planning from the
resulting execution, allowing users to specify platform agnostic plans
through the provided APIs.</p>
@@ -418,7 +418,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
construct an execution plan. However, since UDFs are defined in Python
and thus need to be executed in Python as well, an operators function needs to be
wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
<p>This wrapped functional descriptor allows to handle execution of
UDFs in Python through a socket connection with the <code>pywayang</code> worker.
Input data is sourced from the platform chosen by the optimizer and Apache
@@ -427,31 +427,31 @@ Wayang handles routing the output data to the next operator.</p>
<p>A new API in any programming languages would have
to specify two things:</p>
<ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
functions (UDFs), as they need to
be executed on iterables in their respective language.
After that, the API can be added as a module in Wayang, so that
operators will be wrapped and UDFs can be executed in the desired
programming language.</li>
</ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="https://wayang.apache.org/blog/wayang-python-api#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="https://wayang.apache.org/blog/wayang-python-api#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python" translate="no"></a></h2>
<p>As the "Hello World!" of data processing systems, wordcount will pose as
our primary example to display how users can interact with Apache Wayang
through the python package <code>pywayang</code>.</p>
-<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="t [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="to [...]
<p>The example displays a mode of operation that resembles the Scala
<code>PlanBuilder</code> and the <code>JavaPlanBuilder</code>. Plans are specified in a
functional way, chaining operations until a terminal operation results
in execution of the plan.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wayang-api-json">Wayang-API-JSON<a href="https://wayang.apache.org/blog/wayang-python-api#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wayang-api-json">Wayang-API-JSON<a href="https://wayang.apache.org/blog/wayang-python-api#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON" translate="no"></a></h2>
<p>The <code>wayang-api-json</code> module provides an executable that starts a REST
server. This server accepts a <code>WayangPlan</code> in JSON format.
Starting the REST API as a background process can be done by executing
the following:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="https://wayang.apache.org/blog/wayang-python-api#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators"></a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl< [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="https://wayang.apache.org/blog/wayang-python-api#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators" translate="no"></a></h2>
<p>With this architecture, the execution of an operator comes with an
additional overhead, because the UDFs will have to be executed in
python. Python operators receive iterators through a socket and also
@@ -461,11 +461,11 @@ pipelines. One pipeline of operators will be submitted to the Wayang
JSON API as a single <code>MapPartition</code> operator. This means that the UDFs
specified in this pipeline can be chained and only on call from Wayang
to the Python worker will have to be made for a given pipeline.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="coming-soon">Coming soon<a href="https://wayang.apache.org/blog/wayang-python-api#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coming-soon">Coming soon<a href="https://wayang.apache.org/blog/wayang-python-api#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon" translate="no"></a></h2>
<p>As the Python API is currently in development and we are applying
finishing touches, this article serves as an outlook for what users can
expect to see soon.</p>
-<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer">juripetersen</a></p>]]></content>
+<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer" class="">juripetersen</a></p>]]></content>
<author>
<name>Juri Petersen</name>
<uri>https://github.com/juripetersen</uri>
@@ -483,10 +483,10 @@ expect to see soon.</p>
Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
<p>Let's see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no"></a></h2>
<p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">"stream sharing" feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">"stream sharing" feature</a> provided by Confluent cloud.</p>
<p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
<p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
<p><img decoding="async" loading="lazy" alt="images/image-1.png" src="https://wayang.apache.org/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -495,11 +495,11 @@ Each source allows us to read the data from that particular topic so that we can
In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
<p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
<p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
<p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
The <strong>JavaPlanBuilder</strong> and all other logic of our example job won't be touched.</p>
<p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no"></a></h2>
<p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
Hence we work with Wayang's Java API.</p>
<p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -538,13 +538,13 @@ Those were made specifically for a simple non parallel Java program, using one C
<p>The selected approach does not yet fully take advantage from Spark's parallelism at load time.
For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
<p>Since we can't reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no"></a></h2>
<p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
We could easily follow the pattern we have worked out in the previous exercise.</p>
<p>But a bunch of much more interesting work will follow next.
More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
<p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no"></a></h2>
<p>The next part of the article series will cover the real world example as described in image 1.
We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p>]]></content>
@@ -564,8 +564,8 @@ Therefore, we will bring all puzzles together, and show the full implementation
<updated>2024-03-08T00:00:00.000Z</updated>
<summary type="html"><![CDATA[We have been asked several times about the difference between Apache Wayang and Presto/Trino. In this blog post, we will clarify the main differences and how they impact various applications and use cases.]]></summary>
<content type="html"><![CDATA[<p>We have been asked several times about the difference between Apache Wayang and Presto/Trino. In this blog post, we will clarify the main differences and how they impact various applications and use cases.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-distinctions">Key Distinctions<a href="https://wayang.apache.org/blog/wayang-vs-trino#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions"></a></h2>
-<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer">multiple d [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-distinctions">Key Distinctions<a href="https://wayang.apache.org/blog/wayang-vs-trino#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions" translate="no"></a></h2>
+<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer" class="">m [...]
<p>In contrast, Wayang is a <strong>middleware</strong> for <strong>integrating diverse data platforms</strong>, including but not limited to query engines. This means that Wayang leverages the processing capabilities of the underlying data platforms to complete a given job, with no actual query processing taking place within Wayang itself.</p>
<p>Below you can graphically see the difference between the two systems. Note that not all available data sources or data platforms are illustrated for simplicity reasons.</p>
<p>Below you can see how Wayang integrates data platforms and utilizes them for any data processing required.</p>
@@ -580,25 +580,25 @@ Therefore, we will bring all puzzles together, and show the full implementation
<p>I hope this makes it clear now. <br>
In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly integrated with other data platforms, as shown below.</p>
<img width="75%" alt="Trino" src="https://wayang.apache.org/img/blog/wayang-with-trino.png">
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="https://wayang.apache.org/blog/wayang-vs-trino#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="https://wayang.apache.org/blog/wayang-vs-trino#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?" translate="no"></a></h2>
<p>Wayang brings several benefits thanks to its integration layer:</p>
<ul>
-<li>
+<li class="">
<p>Seamless integration of SQL query engines with ML and other data analysis systems within a single job, eliminating the need to materialize intermediate results.</p>
</li>
-<li>
+<li class="">
<p>Users are freed from the task of specifying the query engines for an application if they desire. By submitting their Wayang job, the cross-platform optimizer can automatically determine the best data platform to use for improved performance or cost savings.</p>
</li>
-<li>
+<li class="">
<p>Wayang facilitates cross-platform data processing by utilizing multiple data platforms to execute a query for a single job, optimizing performance and cost efficiency.</p>
</li>
-<li>
+<li class="">
<p>Data does not have to be transferred outside their original location.</p>
</li>
</ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="conclusion">Conclusion<a href="https://wayang.apache.org/blog/wayang-vs-trino#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="conclusion">Conclusion<a href="https://wayang.apache.org/blog/wayang-vs-trino#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion" translate="no"></a></h2>
<p>Trino is a distributed SQL query engine which performs all the query processing of an input SQL query in a distributed manner. Wayang, on the other hand, is a data platform integrator which can automatically determine which data platform(s) is best suited for an application.</p>
-<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer">zkaoudi</a></p>]]></content>
+<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer" class="">zkaoudi</a></p>]]></content>
<author>
<name>Zoi Kaoudi</name>
<uri>https://github.com/zkaoudi</uri>
@@ -615,23 +615,23 @@ In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly i
<summary type="html"><![CDATA[In the second part of the article series we describe the implementation of the Kafka Source and Kafka Sink component for Apache Wayang.]]></summary>
<content type="html"><![CDATA[<p>In the second part of the article series we describe the implementation of the Kafka Source and Kafka Sink component for Apache Wayang.
We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read & Write Path for Kafka topics<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read & Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read & Write Path for Kafka topics"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read & Write Path for Kafka topics<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read & Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read & Write Path for Kafka topics" translate="no"></a></h2>
<p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
<p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
<p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no"></a></h3>
<p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
<p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
<p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no"></a></h3>
<p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
<p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang's abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no"></a></h2>
<p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
<p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -664,11 +664,11 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
Both are implemented in Java programming language.
In this layer, the real Kafka-Client logic is defined.
Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no"></a></h2>
<p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
The layer above handles the mapping of the components at startup time.
All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no"></a></h2>
<p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p>]]></content>
<author>
@@ -685,7 +685,7 @@ Finally, in part four we bring all puzzles together, and show the full implement
<link href="https://wayang.apache.org/blog/kafka-meets-wayang-1"/>
<updated>2024-03-05T00:00:00.000Z</updated>
<summary type="html"><![CDATA[Intro]]></summary>
- <content type="html"><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intro">Intro<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro"></a></h2>
+ <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="intro">Intro<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro" translate="no"></a></h2>
<p>This article is the first of a four part series about federated data analysis using Apache Wayang.
The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
<p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -698,7 +698,7 @@ This reduces complexity of data management and cost dramatically.</p>
<p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
<p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no"></a></h2>
<p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
Apache Wayang is the tool we work with.
@@ -744,35 +744,35 @@ Later, we want to switch to Apache Spark.</p>]]></content>
<updated>2024-01-25T00:00:00.000Z</updated>
<summary type="html"><![CDATA[We're updated our website and use now Docusaurus.]]></summary>
<content type="html"><![CDATA[<p>We're updated our website and use now Docusaurus.</p>
-<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer">2pk03</a></p>
+<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer" class="">2pk03</a></p>
<p>We switched to a new CMS. That's all.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cheatsheet">Cheatsheet<a href="https://wayang.apache.org/blog/website_update#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cheatsheet">Cheatsheet<a href="https://wayang.apache.org/blog/website_update#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet" translate="no"></a></h2>
<p>List:</p>
<ul>
-<li>Line one<!-- -->
+<li class="">Line one<!-- -->
<ul>
-<li>Line one.one</li>
-<li>Line one.two</li>
+<li class="">Line one.one</li>
+<li class="">Line one.two</li>
</ul>
</li>
-<li>Line two<!-- -->
+<li class="">Line two<!-- -->
<ul>
-<li>Line two.one</li>
-<li>Line two.two</li>
+<li class="">Line two.one</li>
+<li class="">Line two.two</li>
</ul>
</li>
-<li>Line three<!-- -->
+<li class="">Line three<!-- -->
<ul>
-<li>...</li>
-<li>...</li>
+<li class="">...</li>
+<li class="">...</li>
</ul>
</li>
</ul>
<p>Another style for a list:</p>
<ul>
-<li>Line one</li>
-<li>Line two</li>
-<li>Line three</li>
+<li class="">Line one</li>
+<li class="">Line two</li>
+<li class="">Line three</li>
</ul>]]></content>
<author>
<name>Alexander Alten</name>
diff --git a/blog/authors/index.html b/blog/authors/index.html
new file mode 100644
index 00000000..e074dd7d
--- /dev/null
+++ b/blog/authors/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="blog-wrapper blog-authors-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Authors | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/authors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" pr [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
+</head>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+ <p>
+ Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
+ Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+ </p>
+ </div></div></div></div></footer></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 150161b3..cf45e358 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -2,58 +2,61 @@
<html lang="en" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Blog | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og: [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Blog | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og: [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no"></a></h2>
<p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
<p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
<p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
<p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no"></a></h2>
<p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
<p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
<p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
<p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
<ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
</ul>
<p>Execution is then handled by the existing platform runtimes:</p>
<ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
</ul>
<p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
<p>This design provides three concrete advantages:</p>
<ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
</ul>
<p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
<div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="/img/architecture/wayang-spatial-architecture.png"></div>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no"></a></h2>
<p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="/img/benchmarks/spatial-bench1.png"></div>
<ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
</ul>
<p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clus [...]
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="/img/benchmarks/spatial-bench2.png"></div>
<p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="/img/benchmarks/spatial-bench3.png"></div>
@@ -61,189 +64,189 @@
<div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="/img/benchmarks/spatial-bench4.png"></div>
<p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no"></a></h2>
<p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
<p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
-<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/spatial">spatial</a></l [...]
+<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/spa [...]
<p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no"></a></h2>
<p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
<p>Instead of forcing users to choose a single execution backend, Wayang:</p>
<ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
</ul>
<p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no"></a></h2>
<p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
Your contributions made this milestone possible, and we’re just getting started.</p>
<hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no"></a></h2>
<p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
<ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
</ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduation">graduation</a></li><li cl [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduat [...]
<p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
<p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
<ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
</ul>
<p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
<ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
</ul>
<p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
<p>I plan a longer tour, and do not want to block the project for a long time.
Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:"></a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no"></a></h2>
<p>I am not able to conduct the <em>mvn release:perform</em> step.
Anything before worked, sometimes only after some digging, but it worked.</p>
<ul>
-<li>
+<li class="">
<p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
</li>
-<li>
+<li class="">
<p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
</li>
</ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal"></a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no"></a></h2>
<p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
<p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
<p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:"></a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log"></a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release"></a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no"></a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no"></a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no"></a></h3>
<blockquote>
<p>FIXED with local JDK11 Setup</p>
</blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no"></a></h3>
<p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">plugi [...]
<blockquote>
<p>It seems that these properties must be updated manually.</p>
</blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding "illegal reflective access operation"" title="Direct link to Warning regarding "illegal reflective access operation""></a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding "illegal reflective access operation"" title="Direct link to Warning regarding "illegal reflective access operation"" translate="no"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
<blockquote>
<p><strong>This is still an OPEN ISSUE !</strong></p>
</blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails"></a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
<blockquote>
<p><em>FIXED by adding .java-versions to .gitignore</em></p>
</blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM."></a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli) [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no"></a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
<blockquote>
<p>FIXED by manual changes in pom.xml.</p>
</blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></span></code></pre> [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34"><</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></div>< [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
<blockquote>
<p>So far so good. But now the sun went down.</p>
</blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
<p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:"></a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no"></a></h2>
<p>The error you're encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
<p>Here's a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings"></a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">