You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/10/23 12:49:27 UTC
[jira] [Commented] (IGNITE-1644) .Net: DateTime.Kind is lost during
serialization
[ https://issues.apache.org/jira/browse/IGNITE-1644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14970805#comment-14970805 ]
ASF GitHub Bot commented on IGNITE-1644:
----------------------------------------
GitHub user ptupitsyn opened a pull request:
https://github.com/apache/ignite/pull/173
IGNITE-1644 .Net: DateTime.Kind is lost during serialization
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ptupitsyn/ignite ignite-1644
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/173.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 #173
----
commit a2ba025271ecbaa656aaa7d6028db49b62f494c7
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T09:54:44Z
wip
commit bbd3fe83dd039348304132d47f77c34c4ccc0833
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T09:59:38Z
wip
commit 1045c7db652166864b47aa525ee77a81a521e488
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:00:07Z
wip
commit 364a71dc1a5d48c19c10cd9ece76c278b364552a
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:07:36Z
Move serializable to handlers
commit 53a6635c33a7cf24c858aa602763f8af59170b29
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:23:12Z
wip tests
commit 0580580fa05b9e806dae925629d72a6c4b8be7fe
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:24:37Z
wip
commit dc348d1629fe152dafcb3f40bb7aec68960ca5e3
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:33:26Z
DateTimeHolder
commit 05a5319a9509a405f4a47a31e94fa45bb7a3bc8f
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:36:27Z
TypeDateTimeHolder
commit 1dea88a903fd76f71d4ba22a7c00bd76219dc566
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:42:28Z
wip
commit 3af414cd255ab1f2d0c70dbb4c0a74240d08c09b
Author: Pavel Tupitsyn <pt...@gridgain.com>
Date: 2015-10-23T10:48:06Z
Fix DateTime arrays
----
> .Net: DateTime.Kind is lost during serialization
> ------------------------------------------------
>
> Key: IGNITE-1644
> URL: https://issues.apache.org/jira/browse/IGNITE-1644
> Project: Ignite
> Issue Type: Bug
> Components: interop
> Affects Versions: 1.5
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Fix For: 1.5
>
>
> Add the following test to PortableSelfTest.cs:
> {code}
> [Test]
> public void TestWriteDate()
> {
> DateTime time = DateTime.Now;
> DateTime timeUtc = DateTime.UtcNow;
> Assert.AreEqual(_marsh.Unmarshal<DateTime>(_marsh.Marshal(time)), time);
> Assert.AreEqual(_marsh.Unmarshal<DateTime>(_marsh.Marshal(timeUtc)), timeUtc);
> }
> {code}
> Observe that it fails becuase we loose DateTimeKind.
> This happens because we always write DateTime as UTC and lose DateTime.Kind, so on deserialization we do not know whether ToLocal should be called.
> DateTime must be serialized in portable form only in two cases:
> 1) IPortableWriter.WriteDate()
> 2) IPortableWriter.WriteDateArray()
> In these cases we should throw exception on a non-UTC date.
> In all other cases it should be serialized in some other form. E.g., we can introduce new wrapper type ".NET-specific" and wrap DateTime, Collections, Arrays (IGNITE-1779) in it.
> This will break queries to some extent.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)