Hello Cup,

Recently I started to get down to read the source code


Are you currently trying to solve a problem related to Apache Ignite?

If so, the best approach is usually to *reproduce the issue*. Writing tests
with the Ignite framework is a good starting point. For example, check
these simple tests:


   1.
   modules/core/src/test/java/org/apache/ignite/client/ConnectionTest.java
   2.
   
modules/indexing/src/test/java/org/apache/ignite/cache/query/IndexQueryKeepBinaryTest.java

I can also recommend an external service that generates documentation based
on the codebase and Javadocs. It even includes a chatbot that helps with
navigation over Ignite code: https://deepwiki.com/apache/ignite.

Maksim



On Tue, Aug 19, 2025 at 10:13 AM Sergey Chugunov <sergey.chugu...@gmail.com>
wrote:

> Hello Cup,
>
> Apache Ignite source code is hard to grasp indeed and unfortunately there
> is no detailed explanation for each and every class in its codebase.
>
> Some components of Ignite 2.x codebase are covered in wiki pages though:
> take a look at persistent store overview
> <https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview>
> and more detailed under the hood
> <https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Persistent+Store+-+under+the+hood>
> description. More general description of multi-tiered storage
> <https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Multi-Tier+Storage+-+under+the+hood>
> is also available. There is also a page dedicated to the main discovery
> component: Tcp Discovery under the hood
> <https://cwiki.apache.org/confluence/display/IGNITE/TCP+Discovery+SPI+under+the+hood>.
> Look around there, there are some other useful pages too. At the same time
> some pages there are out-of-date and aren't relevant anymore. Community
> will clean them up at some point.
>
> But in my opinion the best way to build your understanding of how Ignite
> works is to use tests. Take a look at suite classes in
> org.apache.ignite.testsuites package, they group individual tests more or
> less by component or feature. Set the project up in your favorite IDE and
> start debugging the code - this way you'll understand how the whole thing
> works much faster than reading tons of documentation or wiki pages.
>
> There is also an Ignite 3.x project, and it's important to understand that
> it is a completely new codebase with very little shared code. One cannot
> easily transfer their knowledge from one codebase to another. Unfortunately
> I cannot point you to documentation of that project, maybe other community
> members will.
>
> --
> Thank you,
> Sergey.
>
> On Tue, Aug 19, 2025 at 6:13 AM ddd_ot <ddd...@163.com> wrote:
>
>> Hello!
>>
>> I am a junior programmer new to Java and Ignite, and currently I am
>> working on some projects where Ignite 2.16 is adopted. I have implemented
>> some toy demos and hope to further explore Ignite from top to bottom.
>>
>> Recently I started to get down to read the source code of Ignite 2.16 but
>> I encountered a lot of problems while reading the code. When I dig into
>> some of the inheritance chains in the core of Ignite I found it hard to
>> tell the function and design of each class merely from the code, so I
>> was wondering if there is any demonstration or illustration to the
>> top-level structure design of Ignite to help me better understand the code
>> (e.g. I found Grid a high frequency keyword in the code but I failed to
>> find the meaning of the Grid or the design behind it). On the other hand, I
>> searched the official doc and API of Ignite but I can't find the
>> description for some specific classes. Is there any websites or references
>> that could provide the detailed description of the implementation for
>> every class in Ignite's source code so I can understand the bottom-level
>> implementation of Ignite better? Or could you please offer me some advice
>> or suggestions on reading the source code and get a deeper understanding of
>> Ignite itself?
>>
>> I am not a native English speaker so please forgive me for my poor
>> English expression, but I truly appreciate any guidance you can provide!
>> Thank you for your time and patience reading my email.
>>
>> Sincerely,
>> Cup
>> August 19, 2025
>>
>>
>>
>>

Reply via email to