[Discussion] Apache Ignite 2.11 Scope Freeze

2021-06-04 Thread Alexey Gidaspov
Hi, Igniters!

I'm going to start scope freeze and leave only Resolved tickets in it [1]. You 
are welcome to discuss. 

[1] 
https://lists.apache.org/thread.html/a4be115d2bd4318ae958ac91aba40294dfd62f293b3cb264c8fcf0ae%40%3Cdev.ignite.apache.org%3E


Re: [Discussion] Apache Ignite 2.11 Scope Freeze

2021-06-04 Thread Alexey Gidaspov
I'm planning to diverge branch at 16:00 MSK 7 June, 2021

And here is 2.11 release wiki page [1]

[1] https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11

On 2021/06/04 09:11:49, Alexey Gidaspov  wrote: 
> Hi, Igniters!
> 
> I'm going to start scope freeze and leave only Resolved tickets in it [1]. 
> You are welcome to discuss. 
> 
> [1] 
> https://lists.apache.org/thread.html/a4be115d2bd4318ae958ac91aba40294dfd62f293b3cb264c8fcf0ae%40%3Cdev.ignite.apache.org%3E
> 


Re: [Discussion] Apache Ignite 2.11 Scope Freeze

2021-06-04 Thread Dmitry Pavlov
I've updated the page 
https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11

 since final freeze is technically possible only after branch divergence (see 
also https://cwiki.apache.org/confluence/display/IGNITE/Release+Process)

Sincerely

On 2021/06/04 09:56:15, Alexey Gidaspov  wrote: 
> I'm planning to diverge branch at 16:00 MSK 7 June, 2021
> 
> And here is 2.11 release wiki page [1]
> 
> [1] https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
> 
> On 2021/06/04 09:11:49, Alexey Gidaspov  wrote: 
> > Hi, Igniters!
> > 
> > I'm going to start scope freeze and leave only Resolved tickets in it [1]. 
> > You are welcome to discuss. 
> > 
> > [1] 
> > https://lists.apache.org/thread.html/a4be115d2bd4318ae958ac91aba40294dfd62f293b3cb264c8fcf0ae%40%3Cdev.ignite.apache.org%3E
> > 
> 


Unable to edit fixVersion in jira tickets

2021-06-04 Thread Alexey Gidaspov
Hi, All!

What should I do to be able to edit fixVersion in jira tickets?


Re: Unable to edit fixVersion in jira tickets

2021-06-04 Thread Pavel Tupitsyn
Hi Alexey,

What's your JIRA username?

On Fri, Jun 4, 2021 at 1:50 PM Alexey Gidaspov  wrote:

> Hi, All!
>
> What should I do to be able to edit fixVersion in jira tickets?
>


Re: Unable to edit fixVersion in jira tickets

2021-06-04 Thread Alexey Gidaspov
Hi, Pavel. 

My JIRA login is agidaspov

On 2021/06/04 11:14:02, Pavel Tupitsyn  wrote: 
> Hi Alexey,
> 
> What's your JIRA username?
> 
> On Fri, Jun 4, 2021 at 1:50 PM Alexey Gidaspov  wrote:
> 
> > Hi, All!
> >
> > What should I do to be able to edit fixVersion in jira tickets?
> >
> 


Re: Unable to edit fixVersion in jira tickets

2021-06-04 Thread Pavel Tupitsyn
Added you to the Contributors role, now you should be able to edit tickets.


On Fri, Jun 4, 2021 at 2:16 PM Alexey Gidaspov  wrote:

> Hi, Pavel.
>
> My JIRA login is agidaspov
>
> On 2021/06/04 11:14:02, Pavel Tupitsyn  wrote:
> > Hi Alexey,
> >
> > What's your JIRA username?
> >
> > On Fri, Jun 4, 2021 at 1:50 PM Alexey Gidaspov 
> wrote:
> >
> > > Hi, All!
> > >
> > > What should I do to be able to edit fixVersion in jira tickets?
> > >
> >
>


Re: Unable to edit fixVersion in jira tickets

2021-06-04 Thread Alexey Gidaspov
Thank you. Now I'm able to edit tickets. One more question - how can I create 
new version to move some tickets to 2.12?

On 2021/06/04 11:37:55, Pavel Tupitsyn  wrote: 
> Added you to the Contributors role, now you should be able to edit tickets.
> 
> 
> On Fri, Jun 4, 2021 at 2:16 PM Alexey Gidaspov  wrote:
> 
> > Hi, Pavel.
> >
> > My JIRA login is agidaspov
> >
> > On 2021/06/04 11:14:02, Pavel Tupitsyn  wrote:
> > > Hi Alexey,
> > >
> > > What's your JIRA username?
> > >
> > > On Fri, Jun 4, 2021 at 1:50 PM Alexey Gidaspov 
> > wrote:
> > >
> > > > Hi, All!
> > > >
> > > > What should I do to be able to edit fixVersion in jira tickets?
> > > >
> > >
> >
> 


Re: [Discussion] Apache Ignite 2.11 Scope Freeze

2021-06-04 Thread Pavel Pereslegin
Hello Alexey.

We have implemented a feature to automatically restore the cache group
from a snapshot [1].
But this feature requires CLI management [2], which is currently on
review and should also be included in 2.11. We plan to finish with it
next week.

[1] https://issues.apache.org/jira/browse/IGNITE-13805
[2] https://issues.apache.org/jira/browse/IGNITE-14723

пт, 4 июн. 2021 г. в 13:01, Dmitry Pavlov :
>
> I've updated the page 
> https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
>
>  since final freeze is technically possible only after branch divergence (see 
> also https://cwiki.apache.org/confluence/display/IGNITE/Release+Process)
>
> Sincerely
>
> On 2021/06/04 09:56:15, Alexey Gidaspov  wrote:
> > I'm planning to diverge branch at 16:00 MSK 7 June, 2021
> >
> > And here is 2.11 release wiki page [1]
> >
> > [1] https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
> >
> > On 2021/06/04 09:11:49, Alexey Gidaspov  wrote:
> > > Hi, Igniters!
> > >
> > > I'm going to start scope freeze and leave only Resolved tickets in it 
> > > [1]. You are welcome to discuss.
> > >
> > > [1] 
> > > https://lists.apache.org/thread.html/a4be115d2bd4318ae958ac91aba40294dfd62f293b3cb264c8fcf0ae%40%3Cdev.ignite.apache.org%3E
> > >
> >


Re: Unable to edit fixVersion in jira tickets

2021-06-04 Thread Pavel Tupitsyn
It is in Admin panel:
https://issues.apache.org/jira/plugins/servlet/project-config/IGNITE/administer-versions?status=unreleased

Not sure if Contributors can add new versions, so I've added 2.12 there.

On Fri, Jun 4, 2021 at 2:41 PM Alexey Gidaspov  wrote:

> Thank you. Now I'm able to edit tickets. One more question - how can I
> create new version to move some tickets to 2.12?
>
> On 2021/06/04 11:37:55, Pavel Tupitsyn  wrote:
> > Added you to the Contributors role, now you should be able to edit
> tickets.
> >
> >
> > On Fri, Jun 4, 2021 at 2:16 PM Alexey Gidaspov 
> wrote:
> >
> > > Hi, Pavel.
> > >
> > > My JIRA login is agidaspov
> > >
> > > On 2021/06/04 11:14:02, Pavel Tupitsyn  wrote:
> > > > Hi Alexey,
> > > >
> > > > What's your JIRA username?
> > > >
> > > > On Fri, Jun 4, 2021 at 1:50 PM Alexey Gidaspov  >
> > > wrote:
> > > >
> > > > > Hi, All!
> > > > >
> > > > > What should I do to be able to edit fixVersion in jira tickets?
> > > > >
> > > >
> > >
> >
>


Re: Unable to edit fixVersion in jira tickets

2021-06-04 Thread Alexey Gidaspov
Indeed contributor cannot edit project configuration. So thank you very much. 

On 2021/06/04 12:13:21, Pavel Tupitsyn  wrote: 
> It is in Admin panel:
> https://issues.apache.org/jira/plugins/servlet/project-config/IGNITE/administer-versions?status=unreleased
> 
> Not sure if Contributors can add new versions, so I've added 2.12 there.
> 
> On Fri, Jun 4, 2021 at 2:41 PM Alexey Gidaspov  wrote:
> 
> > Thank you. Now I'm able to edit tickets. One more question - how can I
> > create new version to move some tickets to 2.12?
> >
> > On 2021/06/04 11:37:55, Pavel Tupitsyn  wrote:
> > > Added you to the Contributors role, now you should be able to edit
> > tickets.
> > >
> > >
> > > On Fri, Jun 4, 2021 at 2:16 PM Alexey Gidaspov 
> > wrote:
> > >
> > > > Hi, Pavel.
> > > >
> > > > My JIRA login is agidaspov
> > > >
> > > > On 2021/06/04 11:14:02, Pavel Tupitsyn  wrote:
> > > > > Hi Alexey,
> > > > >
> > > > > What's your JIRA username?
> > > > >
> > > > > On Fri, Jun 4, 2021 at 1:50 PM Alexey Gidaspov  > >
> > > > wrote:
> > > > >
> > > > > > Hi, All!
> > > > > >
> > > > > > What should I do to be able to edit fixVersion in jira tickets?
> > > > > >
> > > > >
> > > >
> > >
> >
> 


Re: [Discussion] Apache Ignite 2.11 Scope Freeze

2021-06-04 Thread Alexey Gidaspov
Hello, Pavel. 

Can you specify the date more precisly?

On 2021/06/04 12:05:53, Pavel Pereslegin  wrote: 
> Hello Alexey.
> 
> We have implemented a feature to automatically restore the cache group
> from a snapshot [1].
> But this feature requires CLI management [2], which is currently on
> review and should also be included in 2.11. We plan to finish with it
> next week.
> 
> [1] https://issues.apache.org/jira/browse/IGNITE-13805
> [2] https://issues.apache.org/jira/browse/IGNITE-14723
> 
> пт, 4 июн. 2021 г. в 13:01, Dmitry Pavlov :
> >
> > I've updated the page 
> > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
> >
> >  since final freeze is technically possible only after branch divergence 
> > (see also 
> > https://cwiki.apache.org/confluence/display/IGNITE/Release+Process)
> >
> > Sincerely
> >
> > On 2021/06/04 09:56:15, Alexey Gidaspov  wrote:
> > > I'm planning to diverge branch at 16:00 MSK 7 June, 2021
> > >
> > > And here is 2.11 release wiki page [1]
> > >
> > > [1] https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
> > >
> > > On 2021/06/04 09:11:49, Alexey Gidaspov  wrote:
> > > > Hi, Igniters!
> > > >
> > > > I'm going to start scope freeze and leave only Resolved tickets in it 
> > > > [1]. You are welcome to discuss.
> > > >
> > > > [1] 
> > > > https://lists.apache.org/thread.html/a4be115d2bd4318ae958ac91aba40294dfd62f293b3cb264c8fcf0ae%40%3Cdev.ignite.apache.org%3E
> > > >
> > >
> 


Re: IEP-54: Schema-first approach for 3.0

2021-06-04 Thread Andrey Mashenkov
Hi Igniters,

I and Alex Scherbakov had a discussion on how we could write rows in a more
compact way.
Many thanks to Alex for his ideas and critics.
So, in a long-read below I want to share some thoughts.

Motivation.

In Ignite 3.0 we will have versioned schema and most of the meta info will
be stored in the schema.
This approach gives lesser overheard on row size comparing to BinatyObject
in Ignite 2.0,
but I see we can still save up to 5-25% in some use cases that look
promising.

Apparently, there always is a trade-off between row footprint, field access
performance, and code complexity.
We won't fight to the death for every single byte, but for a relatively low
row footprint overhead.
but still can have different formats/technics for writing compact meta
(sizes, offsets ...) to cover common use cases.

Description.

Ignite table/index operations (but not only them) performance correlates
with the key size.
Because of this, we recommend having the smallest keys as possible, and
small keys like long, UUID, or short strings are widely used.

Value size may differ and depends on the use case. AFAIK some user needs
MB+ sized values.
I don't know if any corner cases take place in production, such as 100+
varlen short columns (especially short) or huge values, or keys > 64kb.
and if they are relevant to Ignite goals and target auditory.

Below I use the term 'chunk' meaning a key or value byte sequence.

Points and technics to save few bytes:
* Chunk size.
If the key is a single long value then using a single byte instead of short
may reduce overhead twice (25% -> 12%).

* Vartable item size (varlen column offset or varlen column size).
Here we can save noticeable amount of byte if the user has many short
varlen columns.
E.g. 10 short strings of 10 bytes (100 in total) can save 10%.

* Using varlen column sizes instead of offsets.
We can use items of 'byte' even if total chunk size do not fit into a byte.
E.g. if the user has 30 strings each of 10 chars (300 bytes in total) then
using 'sizes' of byte (instead of short) here we could save 10%.
This increases complexity (up to linear) to column offset calculation, but
I think we shouldn't bother about performance impact here.
Because CPU is cheap here: vartable items resides locally and in most cases
(32-64) varlen column sizes can fit into one cache line
and calculations can be effectively vectorized.

* Use 'varInt' format for sizes.
Shortly: VarInt format implies we use a sign bit as a flag if a data spans
over more bytes or not.
So, positive byte means byte value. A negative byte means value spans for
more bytes and we have to drop the sign bit and concat the rest 7-bits with
the next byte.
Thus, if a number fits a smaller type then we can use lesser bytes to store
it.
Total chunk size calculation may be a bit tricky

* Strings size precalculation.
The problem is we need to analyze characters to estimate string size before
start key/value serialization.
We can estimate sizes for long strings though, e.g. check symbol-by-symbol
for strings of 64-255, as char[63] will always fit byte[255] and char[256]
will never fit byte[255].
(with varInt format 32-127 bounds can be used).

There are other more restrictive ways:

* Varlen table (vartable) size of byte.
Does one need more than 255 varlen columns? E.g. Oracle has a limit of 1000
total columns.
Actually, the impact is low enough, we can save a byte per-varlen column.
Moreover, we already have optimization to skip the first varlen offset (or
last varlen length).
So, we will not write a vartable for a single varlen column in a chunk.

* Restrict varlen sizes to 64kb and introduce BLOB type for varlength >
64kb.
This allows excluding cases with items of 'int' in vartable. Therefore,
reduces the number of flags, chunk reader/writer implementations, and
overall code complexity.
I'd suggest discussing BLOB type in a separate thread and implements
separately.
Shortly, we can store BLOB 'uuid' in a row instead, and store BLOB content
in separate storage. RowAssembler can write row bytes and pairs
('uuid','content') separately to different arrays. The transport protocol
should be aware of BLOBs.

* Alex idea. We can have 2 varlen tables for small (len of < 255 bytes) and
large varlens (len of < 64k) with byte and short offsets correspondingly.
It is assumed varlen columns are sorted by their types (e.g. shorter first).
Thus can be effective if the user have a number of small varlens and a
larger one. The larger one will force us to use longer vartable items.
The drawback is a user must define max-length constraint for varlens
columns at a schema declaration step to turn on optimization for columns of
short types.
Because column order is defined in the schema, we can't resort to columns
for row in runtime and apply optimization for short values of long-type
columns.
E.g. user defines VARCHAR(1024) column in a schema and pass a short value
of 10 chars, we can't use first vartable item for that string as a second
vartab

Re: [Discussion] Apache Ignite 2.11 Scope Freeze

2021-06-04 Thread Pavel Pereslegin
Hopefully we'll be done by the end of next week (2021.06.11).

пт, 4 июн. 2021 г. в 16:06, Alexey Gidaspov :
>
> Hello, Pavel.
>
> Can you specify the date more precisly?
>
> On 2021/06/04 12:05:53, Pavel Pereslegin  wrote:
> > Hello Alexey.
> >
> > We have implemented a feature to automatically restore the cache group
> > from a snapshot [1].
> > But this feature requires CLI management [2], which is currently on
> > review and should also be included in 2.11. We plan to finish with it
> > next week.
> >
> > [1] https://issues.apache.org/jira/browse/IGNITE-13805
> > [2] https://issues.apache.org/jira/browse/IGNITE-14723
> >
> > пт, 4 июн. 2021 г. в 13:01, Dmitry Pavlov :
> > >
> > > I've updated the page 
> > > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
> > >
> > >  since final freeze is technically possible only after branch divergence 
> > > (see also 
> > > https://cwiki.apache.org/confluence/display/IGNITE/Release+Process)
> > >
> > > Sincerely
> > >
> > > On 2021/06/04 09:56:15, Alexey Gidaspov  wrote:
> > > > I'm planning to diverge branch at 16:00 MSK 7 June, 2021
> > > >
> > > > And here is 2.11 release wiki page [1]
> > > >
> > > > [1] 
> > > > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.11
> > > >
> > > > On 2021/06/04 09:11:49, Alexey Gidaspov  wrote:
> > > > > Hi, Igniters!
> > > > >
> > > > > I'm going to start scope freeze and leave only Resolved tickets in it 
> > > > > [1]. You are welcome to discuss.
> > > > >
> > > > > [1] 
> > > > > https://lists.apache.org/thread.html/a4be115d2bd4318ae958ac91aba40294dfd62f293b3cb264c8fcf0ae%40%3Cdev.ignite.apache.org%3E
> > > > >
> > > >
> >


[DISCUSSION] Code style. Variable abbrevations

2021-06-04 Thread Nikolay Izhikov
Hello, Igniters.

Right now, we have the rule to use some predefined list of abbrevation for 
variable names [1].
Some of the reviewers ask to follow this rule strictly.

> It is required to use abbreviated form for code consistency.

I tried to implement this rule in form of checkstyle check [2] and it seems 
like many of use doesn’t follow this requirement.
My check found 4124 violation in core module.

Should we make this rule optional in documentation or should we remove it 
completely?
Or should someone proceed and fix all the violations?

WDYT?


Example of output:
```
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:94:
 Abbrevation should be used for CACHE_NAME_LOCAL_ATOMIC! Please, use loc, 
instead of LOCAL [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:97:
 Abbrevation should be used for CACHE_NAME_LOCAL_TX! Please, use loc, instead 
of LOCAL [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:264:
 Abbrevation should be used for checkpointManager! Please, use mgr, instead of 
Manager [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsPartitionPreloadTest.java:63:
 Abbrevation should be used for DEFAULT_REGION! Please, use dflt, instead of 
DEFAULT [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWholeClusterRestartTest.java:47:
 Abbrevation should be used for ENTRIES_COUNT! Please, use cnt, instead of 
COUNT [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsRebalancingOnNotStableTopologyTest.java:49:
 Abbrevation should be used for CHECKPOINT_FREQUENCY! Please, use freq, instead 
of FREQUENCY [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:75:
 Abbrevation should be used for MAX_KEY_COUNT! Please, use cnt, instead of 
COUNT [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:78:
 Abbrevation should be used for CHECKPOINT_FREQUENCY! Please, use freq, instead 
of FREQUENCY [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/SlowHistoricalRebalanceSmallHistoryTest.java:57:
 Abbrevation should be used for SUPPLY_MESSAGE_LATCH! Please, use msg, instead 
of MESSAGE [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:74:
 Abbrevation should be used for SHARED_GROUP_NAME! Please, use grp, instead of 
GROUP [IgniteAbbrevationsRule]
[ERROR] 
/Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:200:
 Abbrevation should be used for cacheLoader! Please, use ldr, instead of Loader 
[IgniteAbbrevationsRule]
```

[1] 
https://cwiki.apache.org/confluence/display/IGNITE/Abbreviation+Rules#AbbreviationRules-VariableAbbreviation
[2] https://github.com/apache/ignite/pull/9153



Re: [DISCUSSION] Code style. Variable abbrevations

2021-06-04 Thread Pavel Tupitsyn
In my opinion, we should remove this rule.
Looks like a waste of time. freq or frequency, cnt or count, it is fine
either way.

On Fri, Jun 4, 2021 at 7:39 PM Nikolay Izhikov  wrote:

> Hello, Igniters.
>
> Right now, we have the rule to use some predefined list of abbrevation for
> variable names [1].
> Some of the reviewers ask to follow this rule strictly.
>
> > It is required to use abbreviated form for code consistency.
>
> I tried to implement this rule in form of checkstyle check [2] and it
> seems like many of use doesn’t follow this requirement.
> My check found 4124 violation in core module.
>
> Should we make this rule optional in documentation or should we remove it
> completely?
> Or should someone proceed and fix all the violations?
>
> WDYT?
>
>
> Example of output:
> ```
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:94:
> Abbrevation should be used for CACHE_NAME_LOCAL_ATOMIC! Please, use loc,
> instead of LOCAL [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:97:
> Abbrevation should be used for CACHE_NAME_LOCAL_TX! Please, use loc,
> instead of LOCAL [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:264:
> Abbrevation should be used for checkpointManager! Please, use mgr, instead
> of Manager [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsPartitionPreloadTest.java:63:
> Abbrevation should be used for DEFAULT_REGION! Please, use dflt, instead of
> DEFAULT [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWholeClusterRestartTest.java:47:
> Abbrevation should be used for ENTRIES_COUNT! Please, use cnt, instead of
> COUNT [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsRebalancingOnNotStableTopologyTest.java:49:
> Abbrevation should be used for CHECKPOINT_FREQUENCY! Please, use freq,
> instead of FREQUENCY [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:75:
> Abbrevation should be used for MAX_KEY_COUNT! Please, use cnt, instead of
> COUNT [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:78:
> Abbrevation should be used for CHECKPOINT_FREQUENCY! Please, use freq,
> instead of FREQUENCY [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/SlowHistoricalRebalanceSmallHistoryTest.java:57:
> Abbrevation should be used for SUPPLY_MESSAGE_LATCH! Please, use msg,
> instead of MESSAGE [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:74:
> Abbrevation should be used for SHARED_GROUP_NAME! Please, use grp, instead
> of GROUP [IgniteAbbrevationsRule]
> [ERROR]
> /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:200:
> Abbrevation should be used for cacheLoader! Please, use ldr, instead of
> Loader [IgniteAbbrevationsRule]
> ```
>
> [1]
> https://cwiki.apache.org/confluence/display/IGNITE/Abbreviation+Rules#AbbreviationRules-VariableAbbreviation
> [2] https://github.com/apache/ignite/pull/9153
>
>


Re: [DISCUSSION] Code style. Variable abbrevations

2021-06-04 Thread Dmitry Pavlov
+1 for removal. Cnt and count both seem to be fine.

Manual rule enforcement saves a couple of symbols in code, but requires some 
time from both contributor and reviewer.

Sincerely,
Dmitriy Pavlov

On 2021/06/04 19:18:37, Pavel Tupitsyn  wrote: 
> In my opinion, we should remove this rule.
> Looks like a waste of time. freq or frequency, cnt or count, it is fine
> either way.
> 
> On Fri, Jun 4, 2021 at 7:39 PM Nikolay Izhikov  wrote:
> 
> > Hello, Igniters.
> >
> > Right now, we have the rule to use some predefined list of abbrevation for
> > variable names [1].
> > Some of the reviewers ask to follow this rule strictly.
> >
> > > It is required to use abbreviated form for code consistency.
> >
> > I tried to implement this rule in form of checkstyle check [2] and it
> > seems like many of use doesn’t follow this requirement.
> > My check found 4124 violation in core module.
> >
> > Should we make this rule optional in documentation or should we remove it
> > completely?
> > Or should someone proceed and fix all the violations?
> >
> > WDYT?
> >
> >
> > Example of output:
> > ```
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:94:
> > Abbrevation should be used for CACHE_NAME_LOCAL_ATOMIC! Please, use loc,
> > instead of LOCAL [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:97:
> > Abbrevation should be used for CACHE_NAME_LOCAL_TX! Please, use loc,
> > instead of LOCAL [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:264:
> > Abbrevation should be used for checkpointManager! Please, use mgr, instead
> > of Manager [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsPartitionPreloadTest.java:63:
> > Abbrevation should be used for DEFAULT_REGION! Please, use dflt, instead of
> > DEFAULT [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWholeClusterRestartTest.java:47:
> > Abbrevation should be used for ENTRIES_COUNT! Please, use cnt, instead of
> > COUNT [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsRebalancingOnNotStableTopologyTest.java:49:
> > Abbrevation should be used for CHECKPOINT_FREQUENCY! Please, use freq,
> > instead of FREQUENCY [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:75:
> > Abbrevation should be used for MAX_KEY_COUNT! Please, use cnt, instead of
> > COUNT [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:78:
> > Abbrevation should be used for CHECKPOINT_FREQUENCY! Please, use freq,
> > instead of FREQUENCY [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/SlowHistoricalRebalanceSmallHistoryTest.java:57:
> > Abbrevation should be used for SUPPLY_MESSAGE_LATCH! Please, use msg,
> > instead of MESSAGE [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:74:
> > Abbrevation should be used for SHARED_GROUP_NAME! Please, use grp, instead
> > of GROUP [IgniteAbbrevationsRule]
> > [ERROR]
> > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:200:
> > Abbrevation should be used for cacheLoader! Please, use ldr, instead of
> > Loader [IgniteAbbrevationsRule]
> > ```
> >
> > [1]
> > https://cwiki.apache.org/confluence/display/IGNITE/Abbreviation+Rules#AbbreviationRules-VariableAbbreviation
> > [2] https://github.com/apache/ignite/pull/9153
> >
> >
> 


[MTCGA]: new failures in builds [6035677] needs to be handled

2021-06-04 Thread dpavlov . tasks
Hi Igniters,

 I've detected some new issue on TeamCity to be handled. You are more than 
welcomed to help.

 If your changes can lead to this failure(s): We're grateful that you were a 
volunteer to make the contribution to this project, but things change and you 
may no longer be able to finalize your contribution.
 Could you respond to this email and indicate if you wish to continue and fix 
test failures or step down and some committer may revert you commit. 

 *New Critical Failure in master RDD 
https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_Rdd?branch=%3Cdefault%3E
 Changes may lead to failure were done by 
 - vladislav pyatkov  
https://ci.ignite.apache.org/viewModification.html?modId=927758
 - pavel tupitsyn  
https://ci.ignite.apache.org/viewModification.html?modId=927613
 - pavel pereslegin  
https://ci.ignite.apache.org/viewModification.html?modId=927685

 - Here's a reminder of what contributors were agreed to do 
https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute 
 - Should you have any questions please contact dev@ignite.apache.org 

Best Regards,
Apache Ignite TeamCity Bot 
https://github.com/apache/ignite-teamcity-bot
Notification generated at 05:25:19 05-06-2021 


Re: IGNITE-13364: Improve index inline defaults

2021-06-04 Thread 18624049226

Hello team,

I think this is a very valuable optimization. This patch has been 
developed for a long time, I don't think there is any reason to continue 
to delay the release of this patch to version 2.12.

Is anyone willing to push this forward and merge this patch into the master?

2021/1/27 下午4:52, Maxim Muzafarov 写道:

Stanislav,


I think the most compatibility impact will be on the in-memory caches with SQL 
and without explicitly specified inline sizes.

I don't think that this is `true` compatibility issue. But I think we
should at least mentioned it on our documentation pages and in the
release notes. So, I'm +1 to proceed with the merge.

Should we include the issue into 2.10 release?

On Fri, 8 Jan 2021 at 16:50, Stanislav Lukyanov  wrote:

Hi Igniters,

I'd like to discuss the change implemented by Evgeniy Rudenko in the ticket 
https://issues.apache.org/jira/browse/IGNITE-13364.
I see that the fix is ready for review and merging, and I'm interested in it so 
I'd like to pick it up on the last mile.
I also wanted to bring community's attention to it before the merge as it 
changes the default behavior.

The patch changes how SQL index inline size is calculated.

Specifically:

1. When inline size is calculated for a variable-sized field, a constant 10 
(configurable via IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE) is added to the 
calculated size instead of setting the entire calculation result to 10.
For example, consider the following cases

Index (int, int, string)
Before the change: inline size = 10
After the change: inline size = 5 + 5 + 10 = 20

Index (long, long, long, long,  string)
Before the change: inline size = 10
After the change: inline size = 9 + 9 + 9 + 9 + 10 = 46

2. If there is a VARCHAR_FIXED, e.g. VARCHAR(5), then instead of the default 
IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE Ignite will use the value provided in 
the calculation

3. If the calculated size exceeds IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT=64, it 
will be truncated to 64.

All of this only affects calculated inline sizes of new indexes.
Existing indexes should not be affected.
Indexes with explicitly specified inline size should not be affected.

I think the most compatibility impact will be on the in-memory caches with SQL 
and without explicitly specified inline sizes.
After the upgrade these caches may slightly increase in size (because the 
inline is likely to become bigger) while SQL is also likely to become faster.

Please comment.
If there are no concerns, I'll proceed with finding a committer to review and 
merge the fix at the end of the next week.

Thanks,
Stan