Hi Radim,
You should have now permissions to create a KIP.

Best,

On Thu, Apr 20, 2023 at 2:22 PM Radim Vansa <rva...@azul.com.invalid> wrote:

> Hello,
>
> upon filing a PR [1] with some initial support for OpenJDK CRaC [2][3] I
> was directed here to raise a KIP (I don't have the permissions in
> wiki/JIRA to create the KIP page yet, though).
>
> In a nutshell, CRaC intends to provide a way to checkpoint (snapshot)
> and persist a running Java application and later restore it, possibly on
> a different computer. This can be used to significantly speed up the
> boot process (from seconds or minutes to tens of milliseconds), live
> replication or migration of the heated up application. This is not
> entirely transparent to the application; the application can register
> for notification when this is happening, and sometime has to assist with
> that to prevent unexpected state after restore - e.g. close network
> connections and files.
>
> CRaC is not integrated yet into the mainline JDK; JEP is being prepared,
> and users are welcome to try out our builds. However even when this gets
> into JDK we can't expect users jump onto the latest release immediately;
> therefore we provide a facade package org.crac [4] that delegates to the
> implementation, if it is present in the running JDK, or provides a no-op
> implementation.
>
> With or without the implementation, the support for CRaC in the
> application should be designed to have a minimal impact on performance
> (few extra objects, some volatile reads...). On the other hand the
> checkpoint operation itself can be non-trivial in this matter. Therefore
> the main consideration should be about the maintenance costs - keeping a
> small JAR in dependencies and some extra code in networking and
> persistence.
>
> The support for CRaC does not have to be all-in for all components -
> maybe it does not make sense to snapshot a Broker. My PR was for Kafka
> Clients because the open network connections need to be handled in a web
> application (in my case I am enabling CRaC in Quarkus Superheros [5]
> demo). The PR does not handle all possible client-side uses; as I am not
> familiar with Kafka I follow the whack-a-mole strategy.
>
> It is possible that the C/R could be handled in a different layer, e.g.
> in Quarkus integration code. However our intent is to push the changes
> as low in the technology stack as possible, to provide the best fanout
> to users without duplicating maintenance efforts. Also having the
> support higher up can be fragile and break encapsulation.
>
> Thank you for your consideration, I hope that you'll appreciate our
> attempt to innovate the Java ecosystem.
>
> Radim Vansa
>
> PS: I'd appreciate if someone could give me the permissions on wiki to
> create a proper KIP! Username: rvansa (both Confluence and JIRA).
>
> [1] https://github.com/apache/kafka/pull/13619
>
> [2] https://wiki.openjdk.org/display/crac
>
> [3] https://github.com/openjdk/crac
>
> [4] https://github.com/CRaC/org.crac
>
> [5] https://quarkus.io/quarkus-workshops/super-heroes/
>
>

-- 
[image: Aiven] <https://www.aiven.io>

*Josep Prat*
Open Source Engineering Director, *Aiven*
josep.p...@aiven.io   |   +491715557497
aiven.io <https://www.aiven.io>   |   <https://www.facebook.com/aivencloud>
  <https://www.linkedin.com/company/aiven/>   <https://twitter.com/aiven_io>
*Aiven Deutschland GmbH*
Alexanderufer 3-7, 10117 Berlin
Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
Amtsgericht Charlottenburg, HRB 209739 B

Reply via email to