Deprecate IgniteConfiguration.marshaller and make it no-op!

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Deprecate IgniteConfiguration.marshaller and make it no-op!

Vladimir Ozerov
Folks,

There are too many Ignite components already which can work only when
BinaryMarshaller is set. Several examples:
- .NET/C++
- ODBC
- DML

We are tightly coupled to it forever. Having said that, it seems that we
should completely disallow any custom marshallers.

I propose to do the following:
1) Deprecate IgniteConfiguration.marshaller property
2) If it set - ignore and print a warning.

Thoughts?

Vladimir.
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

Igor Sapego-2
What about the new thin JDBC client [1] Taras is working on?
I believe, it's going to require BinaryMarshaller as well.

Why would someone want to implement their own marshaller?
Are the use-cases for that?

[1] - https://issues.apache.org/jira/browse/IGNITE-4922

Best Regards,
Igor

On Thu, Jun 8, 2017 at 3:29 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Folks,
>
> There are too many Ignite components already which can work only when
> BinaryMarshaller is set. Several examples:
> - .NET/C++
> - ODBC
> - DML
>
> We are tightly coupled to it forever. Having said that, it seems that we
> should completely disallow any custom marshallers.
>
> I propose to do the following:
> 1) Deprecate IgniteConfiguration.marshaller property
> 2) If it set - ignore and print a warning.
>
> Thoughts?
>
> Vladimir.
>
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

dmagda
In reply to this post by Vladimir Ozerov
Vovan,

My 5 cents.

It means that the binary marshaller is irreplaceable for Ignite as for a SQL database. Which is fine and makes total sense to me.

However, for Ignite as for a Data Grid use case it should be supported. So, personally, I would document all this properly.

Other thoughts?


Denis

> On Jun 8, 2017, at 5:29 AM, Vladimir Ozerov <[hidden email]> wrote:
>
> Folks,
>
> There are too many Ignite components already which can work only when
> BinaryMarshaller is set. Several examples:
> - .NET/C++
> - ODBC
> - DML
>
> We are tightly coupled to it forever. Having said that, it seems that we
> should completely disallow any custom marshallers.
>
> I propose to do the following:
> 1) Deprecate IgniteConfiguration.marshaller property
> 2) If it set - ignore and print a warning.
>
> Thoughts?
>
> Vladimir.

Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

dsetrakyan
On Thu, Jun 8, 2017 at 10:54 AM, Denis Magda <[hidden email]> wrote:

> Vovan,
>
> My 5 cents.
>
> It means that the binary marshaller is irreplaceable for Ignite as for a
> SQL database. Which is fine and makes total sense to me.
>
> However, for Ignite as for a Data Grid use case it should be supported.
> So, personally, I would document all this properly.
>
> Other thoughts?
>

Denis, will Data Grid use case work if you plugin your own marshaller? I
have a sense that most of the API will fail, no?
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

dmagda

> On Jun 8, 2017, at 12:22 PM, Dmitriy Setrakyan <[hidden email]> wrote:
>
> On Thu, Jun 8, 2017 at 10:54 AM, Denis Magda <[hidden email]> wrote:
>
>> Vovan,
>>
>> My 5 cents.
>>
>> It means that the binary marshaller is irreplaceable for Ignite as for a
>> SQL database. Which is fine and makes total sense to me.
>>
>> However, for Ignite as for a Data Grid use case it should be supported.
>> So, personally, I would document all this properly.
>>
>> Other thoughts?
>>
>
> Denis, will Data Grid use case work if you plugin your own marshaller? I
> have a sense that most of the API will fail, no?

Why shouldn’t it work? Key-value, compute tasks and streamers shouldn’t highly depend on the binary marshaller.


Denis
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

dsetrakyan
On Thu, Jun 8, 2017 at 1:16 PM, Denis Magda <[hidden email]> wrote:

>
> >> It means that the binary marshaller is irreplaceable for Ignite as for a
> >> SQL database. Which is fine and makes total sense to me.
> >>
> >> However, for Ignite as for a Data Grid use case it should be supported.
> >> So, personally, I would document all this properly.
> >>
> >> Other thoughts?
> >>
> >
> > Denis, will Data Grid use case work if you plugin your own marshaller? I
> > have a sense that most of the API will fail, no?
>
> Why shouldn’t it work? Key-value, compute tasks and streamers shouldn’t
> highly depend on the binary marshaller.
>

Will SQL queries work? Will JDBC data store integration work?
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

dmagda

> On Jun 8, 2017, at 1:37 PM, Dmitriy Setrakyan <[hidden email]> wrote:
>
> On Thu, Jun 8, 2017 at 1:16 PM, Denis Magda <[hidden email]> wrote:
>
>>
>>>> It means that the binary marshaller is irreplaceable for Ignite as for a
>>>> SQL database. Which is fine and makes total sense to me.
>>>>
>>>> However, for Ignite as for a Data Grid use case it should be supported.
>>>> So, personally, I would document all this properly.
>>>>
>>>> Other thoughts?
>>>>
>>>
>>> Denis, will Data Grid use case work if you plugin your own marshaller? I
>>> have a sense that most of the API will fail, no?
>>
>> Why shouldn’t it work? Key-value, compute tasks and streamers shouldn’t
>> highly depend on the binary marshaller.
>>
>
> Will SQL queries work? Will JDBC data store integration work?

They won’t. But that’s not a pure data grid use case, right?


Denis
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

Vladimir Ozerov
Denis,

I think we should not provide distinction between "data grid", "compute
grid" and other use case. We should have consistent product which just
works.

Anyway,I am OK to just deprecate these property for 2.0 and remove 3.0 if
community thinks that custom marshallers are still needed.

On Fri, Jun 9, 2017 at 12:19 AM, Denis Magda <[hidden email]> wrote:

>
> > On Jun 8, 2017, at 1:37 PM, Dmitriy Setrakyan <[hidden email]>
> wrote:
> >
> > On Thu, Jun 8, 2017 at 1:16 PM, Denis Magda <[hidden email]> wrote:
> >
> >>
> >>>> It means that the binary marshaller is irreplaceable for Ignite as
> for a
> >>>> SQL database. Which is fine and makes total sense to me.
> >>>>
> >>>> However, for Ignite as for a Data Grid use case it should be
> supported.
> >>>> So, personally, I would document all this properly.
> >>>>
> >>>> Other thoughts?
> >>>>
> >>>
> >>> Denis, will Data Grid use case work if you plugin your own marshaller?
> I
> >>> have a sense that most of the API will fail, no?
> >>
> >> Why shouldn’t it work? Key-value, compute tasks and streamers shouldn’t
> >> highly depend on the binary marshaller.
> >>
> >
> > Will SQL queries work? Will JDBC data store integration work?
>
> They won’t. But that’s not a pure data grid use case, right?
>
> —
> Denis
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

dsetrakyan
On Thu, Jun 8, 2017 at 2:30 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Denis,
>
> I think we should not provide distinction between "data grid", "compute
> grid" and other use case. We should have consistent product which just
> works.
>
> Anyway,I am OK to just deprecate these property for 2.0 and remove 3.0 if
> community thinks that custom marshallers are still needed.
>

Vladimir, I tend to agree with you here. +1 on deprecating it.
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

Semyon Boikov
As far as I know before 2.0 SQL worked without BinaryMarshaller, is this
support was removed intentionally? Also I think it is possible to implement
DML without BinaryMashaller as well?

I'm not against Vladimir's suggestion, but I think it make sense to ask on
user list to know if somebody uses custom marshallers.

Thanks

On Fri, Jun 9, 2017 at 3:15 AM, Dmitriy Setrakyan <[hidden email]>
wrote:

> On Thu, Jun 8, 2017 at 2:30 PM, Vladimir Ozerov <[hidden email]>
> wrote:
>
> > Denis,
> >
> > I think we should not provide distinction between "data grid", "compute
> > grid" and other use case. We should have consistent product which just
> > works.
> >
> > Anyway,I am OK to just deprecate these property for 2.0 and remove 3.0 if
> > community thinks that custom marshallers are still needed.
> >
>
> Vladimir, I tend to agree with you here. +1 on deprecating it.
>
Reply | Threaded
Open this post in threaded view
|

Re: Deprecate IgniteConfiguration.marshaller and make it no-op!

Vladimir Ozerov
Igniters,

SQL do work without BinaryMarshaller. And I was wrong about DML - it
appears to work as well. Let's just deprecate this.

On Fri, Jun 9, 2017 at 9:55 AM, Semyon Boikov <[hidden email]> wrote:

> As far as I know before 2.0 SQL worked without BinaryMarshaller, is this
> support was removed intentionally? Also I think it is possible to implement
> DML without BinaryMashaller as well?
>
> I'm not against Vladimir's suggestion, but I think it make sense to ask on
> user list to know if somebody uses custom marshallers.
>
> Thanks
>
> On Fri, Jun 9, 2017 at 3:15 AM, Dmitriy Setrakyan <[hidden email]>
> wrote:
>
> > On Thu, Jun 8, 2017 at 2:30 PM, Vladimir Ozerov <[hidden email]>
> > wrote:
> >
> > > Denis,
> > >
> > > I think we should not provide distinction between "data grid", "compute
> > > grid" and other use case. We should have consistent product which just
> > > works.
> > >
> > > Anyway,I am OK to just deprecate these property for 2.0 and remove 3.0
> if
> > > community thinks that custom marshallers are still needed.
> > >
> >
> > Vladimir, I tend to agree with you here. +1 on deprecating it.
> >
>