Pavel Tupitsyn created IGNITE-12555:
---------------------------------------

             Summary: .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.7.6, 2.7.5, 2.7, 2.6, 2.5, 2.4, 2.8
            Reporter: Pavel Tupitsyn
            Assignee: Pavel Tupitsyn
             Fix For: 2.8


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}

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