You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Anton Kalashnikov <ka...@yandex.ru> on 2020/06/19 13:59:53 UTC

Checkpoint refactoring(part of IEP-47)

Hi Igniters,

IEP-47(Native persistence defragmentation) contains a part that implies refactoring of checkpoint(with the goal of reusing this feature in defragmentation).

I just to want to emphasize this part(refactoring) here and share my view to implementation 
I want to split this job to at least 2(but maybe 3) separated tasks:
1. Extracting checkpoint related classes from GridCacheDatabaseSharedManager(ex. Checkpoint, Checkpointer, WriteCheckpointPages, etc.) - https://issues.apache.org/jira/browse/IGNITE-13151(almost done)
2. Simplifying result code - I don't sure it is possible, but right now I see some code which on the first eye has duplication and redundancy
3. Reorganizing code - There is a lot of work which Checkpointer do right now, I believe at least this class should be split.

Perhaps, 2 and 3 items will be done in one ticket.
I believe you understand that I suggested several tickets instead of one in the target of simplification of review and find bugs. 

Any objections?

-- 
Best regards,
Anton Kalashnikov


Re: Checkpoint refactoring(part of IEP-47)

Posted by Anton Kalashnikov <ka...@yandex.ru>.
Hello,

I have finished the last checkpoint refactoring ticket(https://issues.apache.org/jira/browse/IGNITE-13207).
In general, there are several new classes were created(it mostly extracted from GridDatabaseSharedManager). More detailed description you can find on the ticket.
If somebody interested then they can take a look at pull-request and maybe suggest different class segregation.

-- 
Best regards,
Anton Kalashnikov



22.06.2020, 11:52, "Anton Kalashnikov" <ka...@yandex.ru>:
> In fact, It is also one of my targets. I believe it will be possible when checkpoint's classes will be restructured to smaller classes with more clear responsibilities. So if everything goes good we can do it after step 3 which I described above.
>
> --
> Best regards,
> Anton Kalashnikov
>
> 19.06.2020, 17:28, "Ivan Pavlukhin" <vo...@gmail.com>:
>>  Hi Anton,
>>
>>  A side question. Do you feel that it is possible to cover extracted
>>  classes with unit tests (I mean unit tests which do not start Ignite
>>  nodes)?
>>
>>  2020-06-19 16:59 GMT+03:00, Anton Kalashnikov <ka...@yandex.ru>:
>>>   Hi Igniters,
>>>
>>>   IEP-47(Native persistence defragmentation) contains a part that implies
>>>   refactoring of checkpoint(with the goal of reusing this feature in
>>>   defragmentation).
>>>
>>>   I just to want to emphasize this part(refactoring) here and share my view to
>>>   implementation
>>>   I want to split this job to at least 2(but maybe 3) separated tasks:
>>>   1. Extracting checkpoint related classes from
>>>   GridCacheDatabaseSharedManager(ex. Checkpoint, Checkpointer,
>>>   WriteCheckpointPages, etc.) -
>>>   https://issues.apache.org/jira/browse/IGNITE-13151(almost done)
>>>   2. Simplifying result code - I don't sure it is possible, but right now I
>>>   see some code which on the first eye has duplication and redundancy
>>>   3. Reorganizing code - There is a lot of work which Checkpointer do right
>>>   now, I believe at least this class should be split.
>>>
>>>   Perhaps, 2 and 3 items will be done in one ticket.
>>>   I believe you understand that I suggested several tickets instead of one in
>>>   the target of simplification of review and find bugs.
>>>
>>>   Any objections?
>>>
>>>   --
>>>   Best regards,
>>>   Anton Kalashnikov
>>
>>  --
>>
>>  Best regards,
>>  Ivan Pavlukhin

Re: Checkpoint refactoring(part of IEP-47)

Posted by Anton Kalashnikov <ka...@yandex.ru>.
In fact, It is also one of my targets. I believe it will be possible when checkpoint's classes will be restructured to smaller classes with more clear responsibilities. So if everything goes good we can do it after step 3 which I described above.

-- 
Best regards,
Anton Kalashnikov


19.06.2020, 17:28, "Ivan Pavlukhin" <vo...@gmail.com>:
> Hi Anton,
>
> A side question. Do you feel that it is possible to cover extracted
> classes with unit tests (I mean unit tests which do not start Ignite
> nodes)?
>
> 2020-06-19 16:59 GMT+03:00, Anton Kalashnikov <ka...@yandex.ru>:
>>  Hi Igniters,
>>
>>  IEP-47(Native persistence defragmentation) contains a part that implies
>>  refactoring of checkpoint(with the goal of reusing this feature in
>>  defragmentation).
>>
>>  I just to want to emphasize this part(refactoring) here and share my view to
>>  implementation
>>  I want to split this job to at least 2(but maybe 3) separated tasks:
>>  1. Extracting checkpoint related classes from
>>  GridCacheDatabaseSharedManager(ex. Checkpoint, Checkpointer,
>>  WriteCheckpointPages, etc.) -
>>  https://issues.apache.org/jira/browse/IGNITE-13151(almost done)
>>  2. Simplifying result code - I don't sure it is possible, but right now I
>>  see some code which on the first eye has duplication and redundancy
>>  3. Reorganizing code - There is a lot of work which Checkpointer do right
>>  now, I believe at least this class should be split.
>>
>>  Perhaps, 2 and 3 items will be done in one ticket.
>>  I believe you understand that I suggested several tickets instead of one in
>>  the target of simplification of review and find bugs.
>>
>>  Any objections?
>>
>>  --
>>  Best regards,
>>  Anton Kalashnikov
>
> --
>
> Best regards,
> Ivan Pavlukhin

Re: Checkpoint refactoring(part of IEP-47)

Posted by Ivan Pavlukhin <vo...@gmail.com>.
Hi Anton,

A side question. Do you feel that it is possible to cover extracted
classes with unit tests (I mean unit tests which do not start Ignite
nodes)?

2020-06-19 16:59 GMT+03:00, Anton Kalashnikov <ka...@yandex.ru>:
> Hi Igniters,
>
> IEP-47(Native persistence defragmentation) contains a part that implies
> refactoring of checkpoint(with the goal of reusing this feature in
> defragmentation).
>
> I just to want to emphasize this part(refactoring) here and share my view to
> implementation
> I want to split this job to at least 2(but maybe 3) separated tasks:
> 1. Extracting checkpoint related classes from
> GridCacheDatabaseSharedManager(ex. Checkpoint, Checkpointer,
> WriteCheckpointPages, etc.) -
> https://issues.apache.org/jira/browse/IGNITE-13151(almost done)
> 2. Simplifying result code - I don't sure it is possible, but right now I
> see some code which on the first eye has duplication and redundancy
> 3. Reorganizing code - There is a lot of work which Checkpointer do right
> now, I believe at least this class should be split.
>
> Perhaps, 2 and 3 items will be done in one ticket.
> I believe you understand that I suggested several tickets instead of one in
> the target of simplification of review and find bugs.
>
> Any objections?
>
> --
> Best regards,
> Anton Kalashnikov
>
>


-- 

Best regards,
Ivan Pavlukhin