[jira] [Created] (IGNITE-11734) IgniteCache.replace(k, v, nv) requires classes when element is null or old value - null

2019-04-12 Thread Vladislav Pyatkov (JIRA)
Vladislav Pyatkov created IGNITE-11734:
--

 Summary: IgniteCache.replace(k, v, nv) requires classes when 
element is null or old value - null
 Key: IGNITE-11734
 URL: https://issues.apache.org/jira/browse/IGNITE-11734
 Project: Ignite
  Issue Type: Bug
Reporter: Vladislav Pyatkov






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11735) Safely handle new closures of IGNITE-11392 in mixed cluster environment

2019-04-12 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-11735:
---

 Summary: Safely handle new closures of IGNITE-11392 in mixed 
cluster environment
 Key: IGNITE-11735
 URL: https://issues.apache.org/jira/browse/IGNITE-11735
 Project: Ignite
  Issue Type: Improvement
Reporter: Ivan Rakov
Assignee: Denis Chudov
 Fix For: 2.8


Under IGNITE-11392 we have added two new closures 
(FetchActiveTxOwnerTraceClosure and TxOwnerDumpRequestAllowedSettingClosure).
In case we'll assemble mixed cluster (some nodes contain the patch, some 
don't), we may bump into situation when closures are sent to node that doesn't 
contain corresponding classes in classpath. Normally, closurer will be deployed 
to "old" node via peer-to-peer class deployment. However, p2p may be disabled 
in configuration, which will cause ClassNotFoundException on "old" node.
We should register IGNITE-11392 in IgniteFeatures (recent example: 
IGNITE-11598) and filter out nodes that don't support new feature before 
sending compute.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Re: New Committer: Vyacheslav Daradur

2019-04-12 Thread Denis Mekhanikov
Well done Slava!

It was great working with you on the service grid redesign.
Looking forward to seeing new commits from you!

Denis

чт, 11 апр. 2019 г. в 18:27, Denis Magda :

> Well deserved, Vyacheslav! Thanks for hardening Service Grid pushing it to
> a completely next level!
>
> -
> Denis
>
>
> On Thu, Apr 11, 2019 at 7:00 AM Dmitriy Pavlov  wrote:
>
> > Dear Ignite Developers,
> >
> > The Project Management Committee (PMC) for Apache Ignite has invited
> > Vyacheslav Daradur to become a committer and we are pleased to announce
> > that he has accepted. Apache Ignite PMC appreciates Vyacheslav’s
> > contribution to service grid redesign (is was collaborative efforts. BTW,
> > thanks to everyone involved), compatibility test framework, contribution
> to
> > community development, and to abbreviation plugin.
> >
> > Being a committer enables easier contribution to the project since there
> is
> > no need to go via the patch submission process. This should enable better
> > productivity.
> >
> > Please join me in welcoming Vyacheslav, and congratulating him on the new
> > role in the Apache Ignite Community.
> >
> > Best Regards,
> > Dmitriy Pavlov
> > on behalf of the Apache Ignite PMC
> >
>


Re: Ignite 2.7.5 Release scope

2019-04-12 Thread Dmitriy Pavlov
Hi Igniters,

A bit of update: Last change fixing GridUnsafe for Java 12 was merged to
master and to 2.7.5

Overnight run contains a number of failures considered as blockers by
Apache Ignite Teamcity Bot (comparing to 2.7):
- Platform .NET (Inspections) always failed- Critical F.R.: 100,0%
- Platform C++ (Linux Clang) & Platform C++ (Linux)* failed in most cases -
Critical F.R.: 60,0%
- Disk Page Compressions - Module is N/A in 2.7.5
- [Inspections] Core - always failed
- Hibernate 5.3 - Module is N/A in 2.7.5
- Platform C++ (Win x64 | Release) - also failed in 2.7

And 2 more tests failure considered as blockers (now it is in re-run
state). If re-run shows these tests are passing I proceed with RC
preparation.

Sincerely,
Dmitriy Pavlov

вт, 9 апр. 2019 г. в 10:03, Dmitriy Pavlov :

> Hi, Nikolay,
>
> thanks for offering help.
>
> Performance testing of new fix seems to be almost done.
>
> After merging of the last ticket (I hope it will be tomorrow) I will
> continue with RC building. There can be some issues related to scripts.
>
> Sincerely,
> Dmitriy Pavlov
>
> вт, 9 апр. 2019 г. в 09:53, Nikolay Izhikov :
>
>> Hello, Dmitriy.
>>
>> Any news about release?
>> Do you need assistance with it?
>>
>> вт, 2 апр. 2019 г. в 20:04, Dmitriy Pavlov :
>>
>> > Ivan P., it seems the netty approach you've proposed works well. Thank
>> you.
>> >
>> > Igniters, please take a look at following fix:
>> > https://github.com/apache/ignite/pull/6384
>> > It allows us to start under Java 12 and under Java 11- (as it).
>> >
>> > Sincerely,
>> > Dmitriy Pavlov
>> >
>> > пт, 29 мар. 2019 г. в 22:57, Dmitriy Pavlov :
>> >
>> > > Denis, the issue here is that we don't know for sure. We see just one
>> > > blocking issue with accessing NioAccessObject.
>> > >
>> > > And there are 3 different scenario related to this issue fix:
>> > > - fixes won't help, and we should find out other options on how to
>> create
>> > > a direct buffer from pointer - needed for durable memory, Java 12 goes
>> > to a
>> > > later release.
>> > > - some fix would help, but other issues come, Java 12 goes to some
>> later
>> > > release
>> > > - some from proposed fixes works, nothing else needs to be done - 1-2
>> > days
>> > >
>> > > If it latest scenario, I would include as much as we can (1-2 days
>> extra
>> > > are comparable with minimal voting time).
>> > >
>> > > BTW, I've checked scripts it does not work for me, I will ask Andrey
>> > > G/Peter for advice on Monday.
>> > >
>> > > Sincerely,
>> > > Dmitriy Pavlov
>> > >
>> > >
>> > > пт, 29 мар. 2019 г. в 20:47, Denis Magda :
>> > >
>> > >> Folks,
>> > >>
>> > >> What are the efforts to support Java 12? Let's do 2.7.6 shortly if
>> the
>> > >> fixes are time-consuming.
>> > >>
>> > >> -
>> > >> Denis
>> > >>
>> > >>
>> > >> On Fri, Mar 29, 2019 at 10:08 AM Dmitriy Pavlov 
>> > >> wrote:
>> > >>
>> > >> > Hi Igniters,
>> > >> >
>> > >> >  I would like to announce code freeze for 2.7.5. Only one open
>> ticket
>> > is
>> > >> > there (reopened):
>> https://issues.apache.org/jira/browse/IGNITE-11600
>> > >> (if
>> > >> > we
>> > >> > can't start using Java 12 we should clearly state it in
>> scripts/code).
>> > >> >
>> > >> > We're entering to Stabilization phase for
>> > >> >
>> > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.7.5
>> > >> and
>> > >> > only blockers may be included into scope. See
>> > >> > https://cwiki.apache.org/confluence/display/IGNITE/Release+Process
>> > for
>> > >> > more
>> > >> > details.
>> > >> >
>> > >> > Sincerely,
>> > >> > Dmitriy Pavlov
>> > >> >
>> > >> > пт, 29 мар. 2019 г. в 13:51, Dmitriy Pavlov :
>> > >> >
>> > >> > > Hi Denis,
>> > >> > >
>> > >> > > I'm not talking about months. In this discussion, Andrey and Ivan
>> > >> > proposed
>> > >> > > a couple of fixes that may help.
>> > >> > >
>> > >> > > It will require a day or two to check if it helps. If it not
>> helpful
>> > >> then
>> > >> > > we should modify startup scripts to say clearly that Java 12 is
>> not
>> > >> > > supported.
>> > >> > >
>> > >> > > Now under Java 12 Ignite suggests to set startup parameters, but
>> > even
>> > >> > with
>> > >> > > correct parameters, it fails and says please set parameters.
>> Totally
>> > >> > > unclear for end-user.
>> > >> > >
>> > >> > > I've reopened https://issues.apache.org/jira/browse/IGNITE-11600
>> > >> > >
>> > >> > > Sincerely,
>> > >> > > Dmitriy Pavlov
>> > >> > >
>> > >> > > чт, 28 мар. 2019 г. в 18:51, Denis Magda :
>> > >> > >
>> > >> > >> If the failure handler improvements will lower down a number of
>> > >> > >> false-positive cluster shutdowns then I'm for the fix inclusion
>> to
>> > >> the
>> > >> > >> release.
>> > >> > >>
>> > >> > >> As for Java 12, I would put to the next release that we can make
>> > >> shortly
>> > >> > >> after this one. We don't need to wait for months if there are
>> some
>> > >> > urgent
>> > >> > >> fixes.
>> > >> > >>
>> > >> > >> -
>> > >> > >> Denis
>> > >> > >>
>> > >> > >>
>> > >> >

Re: Consistency check and fix (review request)

2019-04-12 Thread Anton Vinogradov
Folks,

I've checked the tx benchmarks and found no performance drop.
Also, see no issues at TC results.
So, seems, code ready to be merged.

Everyone interested, please share any objections about
- public API
- test coverage
- implementation approach

On Wed, Apr 3, 2019 at 5:46 PM Anton Vinogradov  wrote:

> Nikolay,
>
> This is not a PoC, but the final solution (I hope so:) ) required the
> review.
> LWW means Last Write Wins, detailed explanation can be found at IEP-31.
>
> On Wed, Apr 3, 2019 at 5:24 PM Nikolay Izhikov 
> wrote:
>
>> Hello, Anton.
>>
>> Thanks for the PoC.
>>
>> > finds correct values according to LWW strategy
>>
>> Can you, please, clarify what is LWW strategy?
>>
>> В Ср, 03/04/2019 в 17:19 +0300, Anton Vinogradov пишет:
>> > Ilya,
>> >
>> > This is impossible due to a conflict between some isolation levels and
>> > get-with-consistency expectations.
>> > Basically, it's impossible to perform get-with-consistency after the
>> other
>> > get at !READ_COMMITTED transaction.
>> > The problem here is that value should be cached according to the
>> isolation
>> > level, so get-with-consistency is restricted in this case.
>> > Same problem we have at case get-with-consistency after put, so we have
>> > restriction here too.
>> > So, the order matter. :)
>> >
>> > See OperationRestrictionsCacheConsistencyTest [1] for details.
>> >
>> > [1]
>> >
>> https://github.com/apache/ignite/blob/8b0b0c3e1bde93ff9c4eb5667d794dd64a8b06f0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/consistency/OperationRestrictionsCacheConsistencyTest.java
>> >
>> > On Wed, Apr 3, 2019 at 4:54 PM Ilya Kasnacheev <
>> ilya.kasnach...@gmail.com>
>> > wrote:
>> >
>> > > Hello!
>> > >
>> > > Sounds useful especially for new feature development.
>> > >
>> > > Can you do a run of all tests with cache.forConsistency(), see if
>> there are
>> > > cases that fail?
>> > >
>> > > Regards,
>> > > --
>> > > Ilya Kasnacheev
>> > >
>> > >
>> > > ср, 3 апр. 2019 г. в 16:17, Anton Vinogradov :
>> > >
>> > > > Igniters,
>> > > >
>> > > > Sometimes, at real deployment, we're faced with inconsistent state
>> across
>> > > > the topology.
>> > > > This means that somehow we have different values for the same key at
>> > > > different nodes.
>> > > > This is an extremely rare situation, but, when you have thousands of
>> > > > terabytes of data, this can be a real problem.
>> > > >
>> > > > Apache Ignite provides a consistency guarantee, each affinity node
>> should
>> > > > contain the same value for the same key, at least eventually.
>> > > > But this guarantee can be violated because of bugs, see IEP-31 [1]
>> for
>> > > > details.
>> > > >
>> > > > So, I created the issue [2] to handle such situations.
>> > > > The main idea is to have a special cache.withConsistency() proxy
>> allows
>> > > > checking a fix inconsistency on get operation.
>> > > >
>> > > > I've created PR [3] with following improvements (when
>> > > > cache.withConsistency() proxy used):
>> > > >
>> > > > - PESSIMISTIC && !READ_COMMITTED transaction
>> > > > -- checks values across the topology (under locks),
>> > > > -- finds correct values according to LWW strategy,
>> > > > -- records special event in case consistency violation found
>> (contains
>> > > > inconsistent map > and last values ),
>> > > > -- enlists writes with latest value for each inconsistent key, so
>> it will
>> > > > be written on tx.commit().
>> > > >
>> > > > - OPTIMISTIC || READ_COMMITTED transactions
>> > > > -- checks values across the topology (not under locks, so
>> false-positive
>> > > > case is possible),
>> > > > -- starts PESSIMISTIC && SERIALIZABLE (at separate thread)
>> transaction
>> > >
>> > > for
>> > > > each possibly broken key and fixes it on a commit if necessary.
>> > > > -- original transaction performs get-after-fix and can be continued
>> if
>> > >
>> > > the
>> > > > fix does not conflict with isolation level.
>> > > >
>> > > > Future plans
>> > > > - Consistency guard (special process periodically checks we have no
>> > > > inconsistency).
>> > > > - MVCC support.
>> > > > - Atomic caches support.
>> > > > - Thin client support.
>> > > > - SQL support.
>> > > > - Read-with-consistency before the write operation.
>> > > > - Single key read-with-consistency optimization, now the collection
>> > > > approach used each time.
>> > > > - Do not perform read-with-consistency for the key in case it was
>> > > > consistently read some time ago.
>> > > >
>> > > > [1]
>> > > >
>> > > >
>> > >
>> > >
>> https://cwiki.apache.org/confluence/display/IGNITE/IEP-31+Consistency+check+and+fix
>> > > > [2] https://issues.apache.org/jira/browse/IGNITE-10663
>> > > > [3] https://github.com/apache/ignite/pull/5656
>> > > >
>>
>


[jira] [Created] (IGNITE-11736) Make the TeamCity console quiet.

2019-04-12 Thread Stepachev Maksim (JIRA)
Stepachev Maksim created IGNITE-11736:
-

 Summary: Make the TeamCity console quiet.
 Key: IGNITE-11736
 URL: https://issues.apache.org/jira/browse/IGNITE-11736
 Project: Ignite
  Issue Type: Improvement
Reporter: Stepachev Maksim
Assignee: Stepachev Maksim


As a result of this discussion: 
[https://lists.apache.org/list.html?dev@ignite.apache.org:lte=1M:Make%20the%20TeamCity%20console%20quiet.]

 

1. Rollover will be locked. Pros: Only one big file in an archive. Cons: Max 
size of the file isn't limited. 2. Run all will contain a parameter for switch 
off the quiet mode. 3. New config: log4j-tc-test.xml for TeamCity environment.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11737) Apache Ignite 2.7.5 Linux packages version update

2019-04-12 Thread Peter Ivanov (JIRA)
Peter Ivanov created IGNITE-11737:
-

 Summary: Apache Ignite 2.7.5 Linux packages version update
 Key: IGNITE-11737
 URL: https://issues.apache.org/jira/browse/IGNITE-11737
 Project: Ignite
  Issue Type: Task
Reporter: Peter Ivanov
Assignee: Peter Ivanov


Update DEB and RPM packages' versions in Apache Ignite for the next version 
(2.7.5)




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11738) Incorrect check ObjectInput.available() in CacheMetricsSnapshot

2019-04-12 Thread Dmitriy Govorukhin (JIRA)
Dmitriy Govorukhin created IGNITE-11738:
---

 Summary: Incorrect check  ObjectInput.available() in 
CacheMetricsSnapshot
 Key: IGNITE-11738
 URL: https://issues.apache.org/jira/browse/IGNITE-11738
 Project: Ignite
  Issue Type: Bug
Reporter: Dmitriy Govorukhin






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11739) Refactoring of cache lifecycle and cache configuration management code

2019-04-12 Thread Sergey Chugunov (JIRA)
Sergey Chugunov created IGNITE-11739:


 Summary: Refactoring of cache lifecycle and cache configuration 
management code
 Key: IGNITE-11739
 URL: https://issues.apache.org/jira/browse/IGNITE-11739
 Project: Ignite
  Issue Type: Task
  Components: cache
Reporter: Sergey Chugunov


h2. Problem
Currently code responsible for cache lifecycle and configuration management is 
spread across different entities (e.g. GridCacheProcessor, 
GridCacheAffinityManager, ClusterCachesInfo and so on).
Cache configuration data is duplicated multiple times and presented in 
different forms from StoredCacheData to CacheGroupDescriptor to 
DynamicCacheDescriptor to ClusterCachesInfo.

Altogether there is no entity nor abstraction which contains most of the logic 
of managing cache state and config and provides a clean API for this purpose.

All this makes it hard to maintain the code, fix bugs and make improvements so 
need for refactoring and benefits from it are obvious.

h2. Approaches
# Build state machine manipulating immutable state objects to reflect 
transitions between states.
# Concentrate all cache-related info into a new (abstraction like cache 
container) or existing (e.g. cache context) mutable entity and manipulate that 
entity to reflect evolution of cache.
# Some mix of these two approaches.

There are already plenty of entities like CacheInfo or CacheDescriptor with 
names suggesting they contain information about cache. 
The problem though is that each of these entities manages only some part of 
information.

Regardless of which approach is used clear and well documented API should be 
provided for managing lifecycle and configuration.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


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

2019-04-12 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. 

 *Recently contributed test failed in master 
tests.CassandraDirectPersistenceTest 
https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=668958014111408205&branch=%3Cdefault%3E&tab=testDetails
 No changes in the build

 - 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 08:53:19 13-04-2019