You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Denis Magda <dm...@apache.org> on 2019/06/06 10:29:15 UTC

Ignite stops working suddenly during dev

Hey Igniters,

I'd like us to brainstorm how to solve the following usability issue.

A user starts developing an app and can change the data model via a
configuration or DDL frequently. However, if there is an incompatible data
model change like a type/field modification Ignite will fail to restart or
begins throwing "wrong data type" exceptions.

A solution for these scenarios is to clean the "marshaller/" folder. Guess
who knows this trick? A few of us. Had to do this all the time while baking
a demo for one of the recent shows and here is a good example of users'
hardships:
https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache

How do you see this needs to be addressed considering:

   1. Current Ignite serialization format - a special message that explains
   what to clean and where or some sort of automation?
   2. Future storage independent format - when binary serialization logic
   will be revisited. @Alex Goncharuk, please step in.


-
Denis

Re: Ignite stops working suddenly during dev

Posted by Denis Magda <dm...@gridgain.com>.
Alright, the ticket is ready for contribution:
https://issues.apache.org/jira/browse/IGNITE-11919

--
Denis Magda


On Thu, Jun 13, 2019 at 2:50 PM Denis Magda <dm...@apache.org> wrote:

> Those are details and I can't think of a generic and crystal clear message
> that covers them. Plus, don't think we should do this as long as the
> generic solution will solve the problem.
>
> -
> Denis
>
>
> On Thu, Jun 13, 2019 at 10:48 AM Mikhail Cherkasov <
> mcherkasov@gridgain.com> wrote:
>
>> *"ERROR: Type 'Person' has a different/incorrect type
>> for field 'salary'. Expected 'double' but 'string' was provided. Field
>> type's modification is unsupported, clean {root_path}/marshaller directory
>> if the type change is required."*
>>
>> it still sounds like a hack and it's not clear if it should be done on all
>> nodes or only on the node with error, should it be done for client nodes
>> too or only for server nodes?
>> Also, can it be done on a live cluster, or we need to stop or/and
>> deactivate it first?
>>
>> Thanks,
>> Mike.
>>
>> On Wed, Jun 12, 2019 at 11:34 AM Garrett Alley <
>> garrett.alley@gridgain.com>
>> wrote:
>>
>> > Denis,
>> >
>> > Minor changes to your suggestion:
>> >
>> > *"ERROR: Type 'Person' has a different/incorrect type
>> > for field 'salary'. Expected 'double' but 'string' was provided. Field
>> > type's modification is unsupported, clean {root_path}/marshaller
>> directory
>> > if the type change is required."*
>> >
>> >
>> > ===
>> >
>> > Garrett Alley
>> > Documentation
>> > GridGain Systems
>> >
>> >
>> > On Wed, Jun 12, 2019 at 11:15 AM Denis Magda <dm...@apache.org> wrote:
>> >
>> > > Alex, Garrett,
>> > >
>> > > How about this error message?
>> > >
>> > > That's what we have know: *ERROR: Binary type has different field
>> types
>> > > [typeName=Person, fieldName=salary, fieldTypeName1=double,
>> > > fieldTypeName2=String]*
>> > >
>> > > That's how I would change it: *"Type 'Person' has different/incorrect
>> > type
>> > > for field 'salary'. Expected 'double' but 'string' was provided. Field
>> > > type's modification is unsupported, clean {root_path}/marshaller
>> > directory
>> > > if the type change is required"*
>> > >
>> > > -
>> > > Denis
>> > >
>> > >
>> > > On Thu, Jun 6, 2019 at 5:24 AM Alexey Goncharuk <
>> > > alexey.goncharuk@gmail.com>
>> > > wrote:
>> > >
>> > > > Hello Denis,
>> > > >
>> > > > As for p.1 - fully agree. For p.2 - I have some ideas to be
>> implemented
>> > > in
>> > > > the future in Ignite 3.0, will share some ideas later.
>> > > >
>> > > > чт, 6 июн. 2019 г. в 13:29, Denis Magda <dm...@apache.org>:
>> > > >
>> > > > > Hey Igniters,
>> > > > >
>> > > > > I'd like us to brainstorm how to solve the following usability
>> issue.
>> > > > >
>> > > > > A user starts developing an app and can change the data model via
>> a
>> > > > > configuration or DDL frequently. However, if there is an
>> incompatible
>> > > > data
>> > > > > model change like a type/field modification Ignite will fail to
>> > restart
>> > > > or
>> > > > > begins throwing "wrong data type" exceptions.
>> > > > >
>> > > > > A solution for these scenarios is to clean the "marshaller/"
>> folder.
>> > > > Guess
>> > > > > who knows this trick? A few of us. Had to do this all the time
>> while
>> > > > baking
>> > > > > a demo for one of the recent shows and here is a good example of
>> > users'
>> > > > > hardships:
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache
>> > > > >
>> > > > > How do you see this needs to be addressed considering:
>> > > > >
>> > > > >    1. Current Ignite serialization format - a special message that
>> > > > explains
>> > > > >    what to clean and where or some sort of automation?
>> > > > >    2. Future storage independent format - when binary
>> serialization
>> > > logic
>> > > > >    will be revisited. @Alex Goncharuk, please step in.
>> > > > >
>> > > > >
>> > > > > -
>> > > > > Denis
>> > > > >
>> > > >
>> > >
>> >
>>
>>
>> --
>> Thanks,
>> Mikhail.
>>
>

Re: Ignite stops working suddenly during dev

Posted by Denis Magda <dm...@apache.org>.
Those are details and I can't think of a generic and crystal clear message
that covers them. Plus, don't think we should do this as long as the
generic solution will solve the problem.

-
Denis


On Thu, Jun 13, 2019 at 10:48 AM Mikhail Cherkasov <mc...@gridgain.com>
wrote:

> *"ERROR: Type 'Person' has a different/incorrect type
> for field 'salary'. Expected 'double' but 'string' was provided. Field
> type's modification is unsupported, clean {root_path}/marshaller directory
> if the type change is required."*
>
> it still sounds like a hack and it's not clear if it should be done on all
> nodes or only on the node with error, should it be done for client nodes
> too or only for server nodes?
> Also, can it be done on a live cluster, or we need to stop or/and
> deactivate it first?
>
> Thanks,
> Mike.
>
> On Wed, Jun 12, 2019 at 11:34 AM Garrett Alley <garrett.alley@gridgain.com
> >
> wrote:
>
> > Denis,
> >
> > Minor changes to your suggestion:
> >
> > *"ERROR: Type 'Person' has a different/incorrect type
> > for field 'salary'. Expected 'double' but 'string' was provided. Field
> > type's modification is unsupported, clean {root_path}/marshaller
> directory
> > if the type change is required."*
> >
> >
> > ===
> >
> > Garrett Alley
> > Documentation
> > GridGain Systems
> >
> >
> > On Wed, Jun 12, 2019 at 11:15 AM Denis Magda <dm...@apache.org> wrote:
> >
> > > Alex, Garrett,
> > >
> > > How about this error message?
> > >
> > > That's what we have know: *ERROR: Binary type has different field types
> > > [typeName=Person, fieldName=salary, fieldTypeName1=double,
> > > fieldTypeName2=String]*
> > >
> > > That's how I would change it: *"Type 'Person' has different/incorrect
> > type
> > > for field 'salary'. Expected 'double' but 'string' was provided. Field
> > > type's modification is unsupported, clean {root_path}/marshaller
> > directory
> > > if the type change is required"*
> > >
> > > -
> > > Denis
> > >
> > >
> > > On Thu, Jun 6, 2019 at 5:24 AM Alexey Goncharuk <
> > > alexey.goncharuk@gmail.com>
> > > wrote:
> > >
> > > > Hello Denis,
> > > >
> > > > As for p.1 - fully agree. For p.2 - I have some ideas to be
> implemented
> > > in
> > > > the future in Ignite 3.0, will share some ideas later.
> > > >
> > > > чт, 6 июн. 2019 г. в 13:29, Denis Magda <dm...@apache.org>:
> > > >
> > > > > Hey Igniters,
> > > > >
> > > > > I'd like us to brainstorm how to solve the following usability
> issue.
> > > > >
> > > > > A user starts developing an app and can change the data model via a
> > > > > configuration or DDL frequently. However, if there is an
> incompatible
> > > > data
> > > > > model change like a type/field modification Ignite will fail to
> > restart
> > > > or
> > > > > begins throwing "wrong data type" exceptions.
> > > > >
> > > > > A solution for these scenarios is to clean the "marshaller/"
> folder.
> > > > Guess
> > > > > who knows this trick? A few of us. Had to do this all the time
> while
> > > > baking
> > > > > a demo for one of the recent shows and here is a good example of
> > users'
> > > > > hardships:
> > > > >
> > > > >
> > > >
> > >
> >
> https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache
> > > > >
> > > > > How do you see this needs to be addressed considering:
> > > > >
> > > > >    1. Current Ignite serialization format - a special message that
> > > > explains
> > > > >    what to clean and where or some sort of automation?
> > > > >    2. Future storage independent format - when binary serialization
> > > logic
> > > > >    will be revisited. @Alex Goncharuk, please step in.
> > > > >
> > > > >
> > > > > -
> > > > > Denis
> > > > >
> > > >
> > >
> >
>
>
> --
> Thanks,
> Mikhail.
>

Re: Ignite stops working suddenly during dev

Posted by Mikhail Cherkasov <mc...@gridgain.com>.
*"ERROR: Type 'Person' has a different/incorrect type
for field 'salary'. Expected 'double' but 'string' was provided. Field
type's modification is unsupported, clean {root_path}/marshaller directory
if the type change is required."*

it still sounds like a hack and it's not clear if it should be done on all
nodes or only on the node with error, should it be done for client nodes
too or only for server nodes?
Also, can it be done on a live cluster, or we need to stop or/and
deactivate it first?

Thanks,
Mike.

On Wed, Jun 12, 2019 at 11:34 AM Garrett Alley <ga...@gridgain.com>
wrote:

> Denis,
>
> Minor changes to your suggestion:
>
> *"ERROR: Type 'Person' has a different/incorrect type
> for field 'salary'. Expected 'double' but 'string' was provided. Field
> type's modification is unsupported, clean {root_path}/marshaller directory
> if the type change is required."*
>
>
> ===
>
> Garrett Alley
> Documentation
> GridGain Systems
>
>
> On Wed, Jun 12, 2019 at 11:15 AM Denis Magda <dm...@apache.org> wrote:
>
> > Alex, Garrett,
> >
> > How about this error message?
> >
> > That's what we have know: *ERROR: Binary type has different field types
> > [typeName=Person, fieldName=salary, fieldTypeName1=double,
> > fieldTypeName2=String]*
> >
> > That's how I would change it: *"Type 'Person' has different/incorrect
> type
> > for field 'salary'. Expected 'double' but 'string' was provided. Field
> > type's modification is unsupported, clean {root_path}/marshaller
> directory
> > if the type change is required"*
> >
> > -
> > Denis
> >
> >
> > On Thu, Jun 6, 2019 at 5:24 AM Alexey Goncharuk <
> > alexey.goncharuk@gmail.com>
> > wrote:
> >
> > > Hello Denis,
> > >
> > > As for p.1 - fully agree. For p.2 - I have some ideas to be implemented
> > in
> > > the future in Ignite 3.0, will share some ideas later.
> > >
> > > чт, 6 июн. 2019 г. в 13:29, Denis Magda <dm...@apache.org>:
> > >
> > > > Hey Igniters,
> > > >
> > > > I'd like us to brainstorm how to solve the following usability issue.
> > > >
> > > > A user starts developing an app and can change the data model via a
> > > > configuration or DDL frequently. However, if there is an incompatible
> > > data
> > > > model change like a type/field modification Ignite will fail to
> restart
> > > or
> > > > begins throwing "wrong data type" exceptions.
> > > >
> > > > A solution for these scenarios is to clean the "marshaller/" folder.
> > > Guess
> > > > who knows this trick? A few of us. Had to do this all the time while
> > > baking
> > > > a demo for one of the recent shows and here is a good example of
> users'
> > > > hardships:
> > > >
> > > >
> > >
> >
> https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache
> > > >
> > > > How do you see this needs to be addressed considering:
> > > >
> > > >    1. Current Ignite serialization format - a special message that
> > > explains
> > > >    what to clean and where or some sort of automation?
> > > >    2. Future storage independent format - when binary serialization
> > logic
> > > >    will be revisited. @Alex Goncharuk, please step in.
> > > >
> > > >
> > > > -
> > > > Denis
> > > >
> > >
> >
>


-- 
Thanks,
Mikhail.

Re: Ignite stops working suddenly during dev

Posted by Garrett Alley <ga...@gridgain.com>.
Denis,

Minor changes to your suggestion:

*"ERROR: Type 'Person' has a different/incorrect type
for field 'salary'. Expected 'double' but 'string' was provided. Field
type's modification is unsupported, clean {root_path}/marshaller directory
if the type change is required."*


===

Garrett Alley
Documentation
GridGain Systems


On Wed, Jun 12, 2019 at 11:15 AM Denis Magda <dm...@apache.org> wrote:

> Alex, Garrett,
>
> How about this error message?
>
> That's what we have know: *ERROR: Binary type has different field types
> [typeName=Person, fieldName=salary, fieldTypeName1=double,
> fieldTypeName2=String]*
>
> That's how I would change it: *"Type 'Person' has different/incorrect type
> for field 'salary'. Expected 'double' but 'string' was provided. Field
> type's modification is unsupported, clean {root_path}/marshaller directory
> if the type change is required"*
>
> -
> Denis
>
>
> On Thu, Jun 6, 2019 at 5:24 AM Alexey Goncharuk <
> alexey.goncharuk@gmail.com>
> wrote:
>
> > Hello Denis,
> >
> > As for p.1 - fully agree. For p.2 - I have some ideas to be implemented
> in
> > the future in Ignite 3.0, will share some ideas later.
> >
> > чт, 6 июн. 2019 г. в 13:29, Denis Magda <dm...@apache.org>:
> >
> > > Hey Igniters,
> > >
> > > I'd like us to brainstorm how to solve the following usability issue.
> > >
> > > A user starts developing an app and can change the data model via a
> > > configuration or DDL frequently. However, if there is an incompatible
> > data
> > > model change like a type/field modification Ignite will fail to restart
> > or
> > > begins throwing "wrong data type" exceptions.
> > >
> > > A solution for these scenarios is to clean the "marshaller/" folder.
> > Guess
> > > who knows this trick? A few of us. Had to do this all the time while
> > baking
> > > a demo for one of the recent shows and here is a good example of users'
> > > hardships:
> > >
> > >
> >
> https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache
> > >
> > > How do you see this needs to be addressed considering:
> > >
> > >    1. Current Ignite serialization format - a special message that
> > explains
> > >    what to clean and where or some sort of automation?
> > >    2. Future storage independent format - when binary serialization
> logic
> > >    will be revisited. @Alex Goncharuk, please step in.
> > >
> > >
> > > -
> > > Denis
> > >
> >
>

Re: Ignite stops working suddenly during dev

Posted by Denis Magda <dm...@apache.org>.
Alex, Garrett,

How about this error message?

That's what we have know: *ERROR: Binary type has different field types
[typeName=Person, fieldName=salary, fieldTypeName1=double,
fieldTypeName2=String]*

That's how I would change it: *"Type 'Person' has different/incorrect type
for field 'salary'. Expected 'double' but 'string' was provided. Field
type's modification is unsupported, clean {root_path}/marshaller directory
if the type change is required"*

-
Denis


On Thu, Jun 6, 2019 at 5:24 AM Alexey Goncharuk <al...@gmail.com>
wrote:

> Hello Denis,
>
> As for p.1 - fully agree. For p.2 - I have some ideas to be implemented in
> the future in Ignite 3.0, will share some ideas later.
>
> чт, 6 июн. 2019 г. в 13:29, Denis Magda <dm...@apache.org>:
>
> > Hey Igniters,
> >
> > I'd like us to brainstorm how to solve the following usability issue.
> >
> > A user starts developing an app and can change the data model via a
> > configuration or DDL frequently. However, if there is an incompatible
> data
> > model change like a type/field modification Ignite will fail to restart
> or
> > begins throwing "wrong data type" exceptions.
> >
> > A solution for these scenarios is to clean the "marshaller/" folder.
> Guess
> > who knows this trick? A few of us. Had to do this all the time while
> baking
> > a demo for one of the recent shows and here is a good example of users'
> > hardships:
> >
> >
> https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache
> >
> > How do you see this needs to be addressed considering:
> >
> >    1. Current Ignite serialization format - a special message that
> explains
> >    what to clean and where or some sort of automation?
> >    2. Future storage independent format - when binary serialization logic
> >    will be revisited. @Alex Goncharuk, please step in.
> >
> >
> > -
> > Denis
> >
>

Re: Ignite stops working suddenly during dev

Posted by Alexey Goncharuk <al...@gmail.com>.
Hello Denis,

As for p.1 - fully agree. For p.2 - I have some ideas to be implemented in
the future in Ignite 3.0, will share some ideas later.

чт, 6 июн. 2019 г. в 13:29, Denis Magda <dm...@apache.org>:

> Hey Igniters,
>
> I'd like us to brainstorm how to solve the following usability issue.
>
> A user starts developing an app and can change the data model via a
> configuration or DDL frequently. However, if there is an incompatible data
> model change like a type/field modification Ignite will fail to restart or
> begins throwing "wrong data type" exceptions.
>
> A solution for these scenarios is to clean the "marshaller/" folder. Guess
> who knows this trick? A few of us. Had to do this all the time while baking
> a demo for one of the recent shows and here is a good example of users'
> hardships:
>
> https://stackoverflow.com/questions/56384773/apache-ignite-programmatically-destroy-persistent-cache
>
> How do you see this needs to be addressed considering:
>
>    1. Current Ignite serialization format - a special message that explains
>    what to clean and where or some sort of automation?
>    2. Future storage independent format - when binary serialization logic
>    will be revisited. @Alex Goncharuk, please step in.
>
>
> -
> Denis
>