[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-14 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664710#comment-15664710
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


https://issues.apache.org/jira/browse/IGNITE-4202

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
> Attachments: Program.cs
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-14 Thread Denis Magda (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664513#comment-15664513
 ] 

Denis Magda commented on IGNITE-1915:
-

[~ptupitsyn],

Did you add any documentation regarding the feature?

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
> Attachments: Program.cs
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-09 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15651270#comment-15651270
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


How to test:
* Create a new Console Application project in Visual Studio
* Install EntityFramework packages to work with SQL CE: Install-Package 
EntityFramework.SqlServerCompact
* Paste the code from attached Program.cs. It uses Entity Framework without any 
caching. Run the code and verify that it creates and queries an object, 
printing "Hello!"
* Install Apache.Ignite.EntityFramework NuGet package (nightly build can be 
installed via {code} Install-Package Apache.Ignite.EntityFramework -Pre -Source 
https://www.myget.org/F/apache-ignite-net-nightly{code})
* Mark FooContext class with 
{code}[DbConfigurationType(typeof(IgniteDbConfiguration))]{code}
* Run the program again and verify that it works: Ignite node starts, then 
"Hello!" is printed like before
* Add the following to the end of the main method:
{code}
using (var ctx = new FooContext())
{
Console.WriteLine(ctx.Foos.Single().Bar);
}

foreach (var cacheName in Ignition.GetIgnite().GetCacheNames())
{
Console.WriteLine(">>> " + cacheName);

foreach (var e in Ignition.GetIgnite().GetCache(cacheName).WithKeepBinary())
{
Console.WriteLine(e);
}
}
{code}
Verify that the output is similar to:
{code}
Hello!
Hello!
>>> entityFrameworkQueryCache_metadata
CacheEntry [Key=Foo, Value=1]
>>> entityFrameworkQueryCache_data
CacheEntry [Key=PlatformDotNetEntityFrameworkCacheKey [idHash=29530116], 
Value=PlatformDotNetEntityFrameworkCacheEntry [idHash=6454]]
CacheEntry [Key=PlatformDotNetEntityFrameworkCacheKey [idHash=43129175], 
Value=PlatformDotNetEntityFrameworkCacheEntry [idHash=52618256]]
CacheEntry [Key=PlatformDotNetEntityFrameworkCacheKey [idHash=3802258], 
Value=PlatformDotNetEntityFrameworkCacheEntry [idHash=34220326]]
{code}

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
> Attachments: Program.cs
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-09 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15651199#comment-15651199
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Merged to master.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-09 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15651197#comment-15651197
 ] 

ASF GitHub Bot commented on IGNITE-1915:


Github user ptupitsyn closed the pull request at:

https://github.com/apache/ignite/pull/1221


> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-09 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15650899#comment-15650899
 ] 

ASF GitHub Bot commented on IGNITE-1915:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/1221

IGNITE-1915 .NET: Ignite as Entity Framework Second-Level Cache



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-1915-master

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/1221.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1221


commit 49cb9fd033b851329de123414cd0ef8c72984507
Author: Pavel Tupitsyn 
Date:   2016-11-09T13:15:45Z

IGNITE-1915 .NET: Ignite as Entity Framework Second-Level Cache




> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-09 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15650902#comment-15650902
 ] 

ASF GitHub Bot commented on IGNITE-1915:


Github user ptupitsyn closed the pull request at:

https://github.com/apache/ignite/pull/1142


> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-11-09 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15650872#comment-15650872
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Fixed.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-10-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15571506#comment-15571506
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


1,2,3) Done

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-10-11 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15565753#comment-15565753
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


1,2) Reverted (temp code)

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-10-04 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15544979#comment-15544979
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Please see the new PR: 1142.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-10-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15544978#comment-15544978
 ] 

ASF GitHub Bot commented on IGNITE-1915:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/1142

IGNITE-1915 .NET: Ignite as Entity Framework Second-Level Cache



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-1915-1.7.3

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/1142.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1142


commit 5957a68028fd0ff47207f17964be214b4eca0bcc
Author: Pavel Tupitsyn 
Date:   2016-10-04T10:11:04Z

IGNITE-1915 .NET: Ignite as Entity Framework Second-Level Cache




> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-10-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15544975#comment-15544975
 ] 

ASF GitHub Bot commented on IGNITE-1915:


Github user ptupitsyn closed the pull request at:

https://github.com/apache/ignite/pull/767


> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-23 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15516349#comment-15516349
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Investigated the problem, SQL CE is fine.
Turns out, DbCommand.ExecuteDbDataReader (and others) do not commit changes 
immediately.

Need to find a proper place to invalidate changes when they are truly applied 

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-22 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15513466#comment-15513466
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


SQL CE that is used for testing behaves strangely in a multithreaded test:
* Thread1 has inserted a row and closed the connection.
* After that, Thread2 not necessary receives the new row in query results 
(there is no race, but a delay of some kind).

Need to check with SQL Express and SQL Server.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-22 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15512691#comment-15512691
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Investigated the issue with concurrent EntryProcessors. Reproduced in in 
Java-only unit test. It only happens with Atomic caches.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-20 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15507171#comment-15507171
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Refactored to two cache approach. Added multithreaded test and discovered a 
weird issue with cache processor not always updating the entries.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-19 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15503194#comment-15503194
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Merged with master, refactored cleanup and version increment to Java approach 
with cache extension.

Discovered an issue: if entity set version data is lost (due to node failure), 
incorrect results can be returned for queries.
We can't have cache with backups to avoid duplicating possibly huge query 
results.

Solution here is similar to IGFS approach: use two caches. One "meta" cache 
with entity set versions, and another "data" cache with actual query results.
To simplify configuration, the only user-provided parameter is "provider name". 
Cache names will be generated automatically form it. Optionally, user would be 
able to provide customized cache configs.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-14 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15490363#comment-15490363
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Tests moved to a separate project.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15486739#comment-15486739
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Let's merge IGNITE-3199 first to reuse Java EntryProcessor approach from there 
(EntryProcessor is used to increase entity set versions).

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-12 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15484617#comment-15484617
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


ReadWrite and ReadOnly caching strategies implemented. Strategy can be defined 
per query via DbCachingPolicy.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-09-09 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15477106#comment-15477106
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Another option to purge old entries is an async broadcast: each node will 
remove old entries for a specific key.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-08-29 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15446014#comment-15446014
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


New design:
* Two mappings in a single cache: SQL+versions->results, EntitySet->version
* On each EntitySet update, increase the version with EntryProcessor
* On Get see if there is a key with current versions

This way the logic is very simple, and there is no need for locks or 
transactions. If the cached data gets old, we just don't find it.

Old entries should be purged in background with something like 
IgfsDeleteWorker. We'll need to start this worker on all nodes, regardless of 
platforms presence.
Special cache (IGNITE-3796) is needed to discover EntityFramework cache names.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-08-26 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15439345#comment-15439345
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Looks like we need to provide 4.0 and 4.5 binaries for this project, because 
DbCommand adds ExecuteDbDataReaderAsync in 4.5, which also has to be overridden.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-08-25 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15436922#comment-15436922
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


We can't test EF caching in isolation, because there is a lot of EF-related 
boilerplate.
For integrated testing (with real EF calling our caching layer) the options are:
* Effort https://effort.codeplex.com/. In-memory embedded DB. Not suitable 
because CommandText is always null.
* SQL Server Compact - disk-based embedded DB, works with EF properly. 

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-08-23 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15432898#comment-15432898
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


I think we should introduce multiple caching strategies, similar to Hibernate:
* Read-only. Very simple, the fastest. No invalidation.
* Non-strict read-write. Only one writer is expected at the moment.
* Strict read-write.

We can implement strict read-write strategy as a separate ticket.

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Vladimir Ozerov
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-08-23 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15432749#comment-15432749
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Merged with master

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Vladimir Ozerov
>  Labels: .net, roadmap
> Fix For: 1.8
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .NET: Ignite as Entity Framework Second-Level Cache

2016-08-01 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15402473#comment-15402473
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


1) We use GetOrCreateCache deliberately. If there is a user-defined cache with 
specified name, it will be picked up. User has full control over the cache 
configuration.
2) Having multiple databases is very unlikely, and user should understand the 
consequences of using the same cache for them. Single DB is the most frequent 
use case, and we want to reduce configuration efforts for it.
3) Changed to long
4) TODO
5) Fixed

> .NET: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .net, roadmap
> Fix For: 1.7
>
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .Net: Ignite as Entity Framework Second-Level Cache

2016-06-06 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15316463#comment-15316463
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Documentation added on readme.io for 1.7

> .Net: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .Net: Ignite as Entity Framework Second-Level Cache

2016-06-02 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15312495#comment-15312495
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


Instead of iterating over whole cache during invalidation, I've used a 
different approach:
* Store cache dependencies separately (Tablename -> SQL[] mapping)
* To invalidate all queries for a table, we simply call Get and RemoveAll
* Since multiple keys are involved, transactional cache is used

With a finite set of cached queries, we will reach a point when all 
dependencies are populated, so we never have to update dependency cache on 
subsequent queries.

> .Net: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1915) .Net: Ignite as Entity Framework Second-Level Cache

2016-05-30 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15306503#comment-15306503
 ] 

Pavel Tupitsyn commented on IGNITE-1915:


We need an efficient way to invalidate cached results, which means removing 
Ignite cache keys that match a condition.

Options are:
* ScanQuery. However, it will return entire CacheEntry to the calling node, and 
we only need the key. Value can be quite large (query result can contain 
hundreds of rows).
* SQL. Downsides are that we have to enable indexing (less flexibility for the 
user), and SQL can't act on string[], we'll have to concatenate entity sets name
* Compute: there are problems with guarantees
* EntryProcessor: no way to iterate over ALL keys in cache

Our best bet is to wait for IGNITE-2546 here.

> .Net: Ignite as Entity Framework Second-Level Cache
> ---
>
> Key: IGNITE-1915
> URL: https://issues.apache.org/jira/browse/IGNITE-1915
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>
> Entity Framework is #1 ORM for .NET
> We should provide easy solution to boost Entity Framework performance with 
> Ignite.
> EF5 and EF6 have different 2nd level cache mechanisms (EF5 has a built-in 
> one, EF6 requies more customization or a 3rd party lib like 
> https://efcache.codeplex.com/). For now, let's do EF6 only.
> This should be in a separate assembly and a separate NuGet package.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)