[ 
https://issues.apache.org/jira/browse/IGNITE-12555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-12555:
------------------------------------
    Release Note: Improve serialization performance for DateTime and other 
ISerializable types

> .NET: Thin Client: deserializing DateTime fields causes BinaryTypeGet request 
> for every value
> ---------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-12555
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12555
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>    Affects Versions: 2.4, 2.5, 2.6, 2.7, 2.8, 2.7.5, 2.7.6
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Blocker
>              Labels: .NET
>             Fix For: 2.8
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Actual: The following code causes 10 BinaryProcessorClient.GetBinaryType 
> calls (2 fields, 5 Foo instances). Every call is a server request.
> Expected: 0 calls. Binary metadata should be cached after PutAll call.
> {code}
> public class CacheDateTimeMetaTest : ClientTestBase
>     {
>         [Test]
>         public void TestDateTimeMeta()
>         {
>             var data = Enumerable.Range(1, 5)
>                 .Select(x => new Foo
>                 {
>                     Id = x,
>                     StartDate = DateTime.Now.AddHours(x),
>                     EndDate = DateTime.Now.AddDays(x)
>                 });
>             var cache = Client.GetOrCreateCache<int, Foo>("foo");
>             cache.PutAll(data.Select(x => new KeyValuePair<int, Foo>(x.Id, 
> x)));
>             var res = cache.Query(new ScanQuery<int, Foo>()).GetAll();
>             Assert.AreEqual(cache.GetSize(), res.Count);
>         }
>         public class Foo
>         {
>             public int Id { get; set; }
>             public DateTime? StartDate { get; set; }
>             public DateTime? EndDate { get; set; }
>         }
>     }
> {code}
> This causes huge performance issues.
> *Workaround*
> * Force Timestamp format for all DateTime values 
> User list discussion: 
> http://apache-ignite-users.70518.x6.nabble.com/Getting-all-data-from-cache-via-scan-query-is-taking-lot-of-time-td30949.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to