... and another fix would be to remove [QuerySqlField] attribute, since queries won't work with raw mode anyway.
On Fri, Jun 24, 2016 at 3:26 PM, Pavel Tupitsyn <[email protected]> wrote: > The workaround is to implement raw mode manually via IBinarizable > interface. > It will look like this for the OrderEntity class (field order should be > the same in read and write methods): > > public void WriteBinary(IBinaryWriter writer) > { > var w = writer.GetRawWriter(); > > w.WriteInt(OrderId); > w.WriteString(OrderName); > w.WriteObject(OrderDateTime); > w.WriteDouble(OrderValue); > w.WriteString(OrderAddress); > } > public void ReadBinary(IBinaryReader reader) > { > var r = reader.GetRawReader(); > > OrderId = r.ReadInt(); > OrderName = r.ReadString(); > OrderDateTime = r.ReadObject<DateTime>(); > OrderValue = r.ReadDouble(); > OrderAddress = r.ReadString(); > } > > > On Fri, Jun 24, 2016 at 3:22 PM, Pavel Tupitsyn <[email protected]> > wrote: > >> I've reproduced it. >> There is a bug with DateTime in raw mode. It works when I remove >> OrderEntity.OrderDateTime property. >> >> Bug is filed and will be fixed shortly: >> https://issues.apache.org/jira/browse/IGNITE-3364 >> >> On Fri, Jun 24, 2016 at 2:15 PM, mrinalkamboj < >> [email protected]> wrote: >> >>> On enabling the rawMode="true", as suggested in the configuration file, >>> following piece of code leads to the exception: >>> >>> using (var ldr = ignite.GetDataStreamer<int, OrderEntity>("OrderCache")) >>> { >>> ldr.PerNodeBufferSize = 1024; >>> >>> //ldr.AllowOverwrite = true; >>> >>> var parallelOptions = new ParallelOptions { >>> MaxDegreeOfParallelism = Environment.ProcessorCount }; >>> >>> // ReSharper disable once AccessToDisposedClosure >>> Parallel.Invoke(parallelOptions, orders.Select(order => >>> (Action)(() => ldr.AddData(order.OrderId, order))).ToArray()); >>> } >>> >>> On the AddData call of the Data Streamer and the Exception is: >>> >>> {Apache.Ignite.Core.Binary.BinaryObjectException} - Cannot write named >>> fields after raw data is written. >>> >>> Logically this looks correct, but what shall I do now, can't use Data >>> Streamer with this setting, if I remove the rawMode setting then it works >>> fine >>> >>> >>> >>> >>> -- >>> View this message in context: >>> http://apache-ignite-users.70518.x6.nabble.com/Enable-Binary-Reflective-Serializer-in-the-app-config-tp5819p5872.html >>> Sent from the Apache Ignite Users mailing list archive at Nabble.com. >>> >> >> >
