Peer class loading for Apache Ignite (peer class loading)

Source: Internet
Author: User
Tags apache ignite

Currently used is the latest hatching version: 1.3.0-incubating.

Official document Https://apacheignite.readme.io/docs/zero-deployment a distributed class loading mechanism (distributed ClassLoader) is given here.

The document says so:

The closures and tasks that you have with for your computations is the any custom class, including anonymous classes. In Ignite, the remote nodes would automatically become aware of those classes, and you won ' t need to explicitly deploy or M Ove any. jar files to any remote nodes.

Such behavior is possible due to peer class loading (peer class loading), a specialdistributed ClassLoader in Igni Te for Inter-node byte-code Exchange. With peer-class-loading-enabled, you don ' t has to manually deploy your Java or Scala code on each node in the grid and re -deploy it each time it changes.

In your calculations, the closures (Java8 concepts) and tasks that are used may be classes that our program writes itself, including anonymous classes. In the ignite cluster, the remote nodes can perceive you in each of these classes, so that we can avoid the display of packaging our class into a jar file, placed under each LIB file of the cluster ignite.

This behavior is due to peer class loading, a special kind of distributed class loading, you can exchange bytecode between the clusters, using Peer class loading, Your Java code or Scala code does not have to be published manually or republished to the cluster machine due to changes in business needs.


The document says so, but now the 1.3.0-incubating, Apache ignite not all the features can be very well supported. In the case of SQL queries,peer class loading will fail.


I raised the isssue:https://issues.apache.org/jira/browse/ignite-1255, why does SQL query configure Peer class loading still fail, You must publish the jar package manually.

The answer is: Some currently unsupported, you must manually publish the jar package.

The respondents said: I think whenIGNITE-950 would be fixed, there would be no need to put user classes on the server side, soPeercla ssloadingenabled setting is not having special behavior for caches anymore.


And, at present, the official only said:

It is recommended this peer-class-loading is disabled in production. Generally want to has a controlled production environment without any magic. To deploy your classes explicitly, you can copy them into Ignite libs folder or manually add them to the classpath on eve RY node.


Build environment Disable this peer-class-loading, as if the current version, this good function is not very well implemented.


So, we're still releasing the jar package manually.

Copyright NOTICE: This article for Bo Master original article, without BO Master permission cannot reprint [http://blog.csdn.net/doctor_who2004].

Peer class loading for Apache Ignite (peer class loading)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.