Re: [DISCUSS] removal of experimental Protobuf client/server interface

2021-03-31 Thread Jens Deppe
I'd volunteer to do that.

If it gets deleted and then 'revived' under another repo, does that still 
require it to be an Apache project? What are the requirements?

--Jens

On 3/30/21, 8:02 AM, "Bruce Schuchardt"  wrote:

Does anyone want to take on the work of moving these sub-projects to 
another repository?  I picked up the ticket because it's costing us development 
and testing time but am not interested in being the owner of it in some other 
repo.


On 3/30/21, 5:45 AM, "Joris Melchior"  wrote:

+1 On this approach. If we could somehow have side project to implement 
this I think it would be really helpful. 

I also think it's less intimidating to contribute to for a lot of 
people.

Joris

On 2021-03-29, 2:55 PM, "John Blum"  wrote:

How hard is it to put the work like Protobuf in a separate 
repository (attached to Geode in some way)? I am not sure what the (Apache) 
procedure is.

We need stop baking everything into the "core" of Apache Geode.  
Most things that are non-essential (meaning, they are not required for Geode to 
carry out its primary responsibility as a data store, also & e.g. Redis 
Adapter) should be an "extension" (add-on), enabled with a plugin.

I fear this work would get lost if removed completely.  How would 
new (or even existing members) know where to find this work if interested? 
Branches are not a good alternative. A separate repo would make the entire 
process (e.g. releases) easier, not unlike the Kafka connector, or even Spring 
Data for that matter.

$0.02
-j


From: Bruce Schuchardt 
Sent: Monday, March 29, 2021 11:41 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf 
client/server interface

That's true John, but the Protobuf i/f is using the same code as 
the REST server to serialize/deserialize JSON documents.  It isn't any better 
at it.

On 3/29/21, 10:33 AM, "John Blum"  wrote:

Correction! Although a different/separate issue, Geode's JSON 
document handling is incomplete at best. It does not properly handle all forms 
of JSON or types (e.g. Java 8 Data/Time types).

From: Bruce Schuchardt 
Sent: Thursday, March 25, 2021 8:01 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf 
client/server interface

I worked on the protobuf client/server interface as long as 
anyone else but still fail to see the value in keeping it in anything but a 
branch unless someone is going to pick it up soon and complete it.

As Dan pointed out, we already have a good interface for 
storing Json documents and we never got beyond that as cache values with the 
protobuf i/f.  People want to store data in Geode in a way that works with 
queries, delta propagation and other advanced features.  That was, and remains, 
the main problem for this interface.  Without that it's not even as good as the 
current REST interface.

On 3/24/21, 5:06 PM, "Jens Deppe"  wrote:

I was very excited when the protobuf support became 
available as it allowed for the fairly quick development of a Go client. 
(https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgemfire%2Fgeode-go-client&data=04%7C01%7Cjdeppe%40vmware.com%7C01ffb8cfb18849bc16eb08d8f38cd318%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637527133457524428%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=m3o05hvXMcD9icL%2F4SmxPT2amv0cqP%2BIEn6U%2Fz3ZMy8%3D&reserved=0).
 As Udo already mentioned, removing this functionality reduces our potential 
exposure to new use cases and language bindings. Just because it isn't 'feature 
complete' doesn't mean it isn't useful to someone. In fact, just today, 
somebody reached out regarding the Go binding.

When considering various popular libraries/frameworks, they 
all have multiple bindings. Some of those are core to the library, but many are 
maintained separately. Having a well-defined protocol for Geode is the first 
step in making that possible.

--Jens

On 3/24/21, 1:11 PM, "Dan Smith"  wrote:

I also worked on the protobuf interface for a little 
while, although not for as long as some of the other folks commenting. I'm ok 
with removing it. I do see some value in leaving stalled/incomplete projects 
around as bait for future developers to pick up - that seems to have worked for 
redis ;) But if it is a maintenance burden lets drop it from develop. Someone 
can always pick it up from the history.

If I recall correctly, one of the big incomple

Re: [DISCUSS] removal of experimental Protobuf client/server interface

2021-03-31 Thread Nabarun Nag
Hi Jens,


With respect to the work we did with geode-kafka-connector, we did the initial 
development in a private branch. (gradle dependencies on geode, separate from 
Geode source code)

Later when we were feature complete and ready for Confluence Certification, we 
created a new apache repo in geode org and published it there.

We are also doing the partition region clear work in a feature branch, which 
will be merged to develop, when it is feature complete, fully vetted, and 
tested.

I would say, if this protobuf code will be merged into develop when it is 
ready, feature-complete, and tested. We can do the dev work as a branch in 
apache/geode.git repo, with periodic rebasing on develop.


Regards,
Nabarun




From: Jens Deppe 
Sent: Wednesday, March 31, 2021 9:50 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf client/server interface

I'd volunteer to do that.

If it gets deleted and then 'revived' under another repo, does that still 
require it to be an Apache project? What are the requirements?

--Jens

On 3/30/21, 8:02 AM, "Bruce Schuchardt"  wrote:

Does anyone want to take on the work of moving these sub-projects to 
another repository?  I picked up the ticket because it's costing us development 
and testing time but am not interested in being the owner of it in some other 
repo.


On 3/30/21, 5:45 AM, "Joris Melchior"  wrote:

+1 On this approach. If we could somehow have side project to implement 
this I think it would be really helpful.

I also think it's less intimidating to contribute to for a lot of 
people.

Joris

On 2021-03-29, 2:55 PM, "John Blum"  wrote:

How hard is it to put the work like Protobuf in a separate 
repository (attached to Geode in some way)? I am not sure what the (Apache) 
procedure is.

We need stop baking everything into the "core" of Apache Geode.  
Most things that are non-essential (meaning, they are not required for Geode to 
carry out its primary responsibility as a data store, also & e.g. Redis 
Adapter) should be an "extension" (add-on), enabled with a plugin.

I fear this work would get lost if removed completely.  How would 
new (or even existing members) know where to find this work if interested? 
Branches are not a good alternative. A separate repo would make the entire 
process (e.g. releases) easier, not unlike the Kafka connector, or even Spring 
Data for that matter.

$0.02
-j


From: Bruce Schuchardt 
Sent: Monday, March 29, 2021 11:41 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf 
client/server interface

That's true John, but the Protobuf i/f is using the same code as 
the REST server to serialize/deserialize JSON documents.  It isn't any better 
at it.

On 3/29/21, 10:33 AM, "John Blum"  wrote:

Correction! Although a different/separate issue, Geode's JSON 
document handling is incomplete at best. It does not properly handle all forms 
of JSON or types (e.g. Java 8 Data/Time types).

From: Bruce Schuchardt 
Sent: Thursday, March 25, 2021 8:01 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf 
client/server interface

I worked on the protobuf client/server interface as long as 
anyone else but still fail to see the value in keeping it in anything but a 
branch unless someone is going to pick it up soon and complete it.

As Dan pointed out, we already have a good interface for 
storing Json documents and we never got beyond that as cache values with the 
protobuf i/f.  People want to store data in Geode in a way that works with 
queries, delta propagation and other advanced features.  That was, and remains, 
the main problem for this interface.  Without that it's not even as good as the 
current REST interface.

On 3/24/21, 5:06 PM, "Jens Deppe"  wrote:

I was very excited when the protobuf support became 
available as it allowed for the fairly quick development of a Go client. 
(https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgemfire%2Fgeode-go-client&data=04%7C01%7Cnnag%40vmware.com%7Cf65716b19378402f4ed408d8f4651f1a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637528062452588820%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=iXjw3gFEBG1VMIKDLjG%2BJpJFUwI4xwpJT6BLPQNSPtc%3D&reserved=0).
 As Udo already mentioned, removing this functionality reduces our potential 
exposure to new use cases and language bindings. Just because it isn't 'feature 
complete' doesn't mean it isn't useful to someone. In fact, just today

Re: [DISCUSS] removal of experimental Protobuf client/server interface

2021-03-31 Thread Udo Kohlmeyer
@Jens, I'll be willing to help you if you need some help. I find it extremely 
sad that we would lose this work, as I believe we really taking as step 
backwards by just blindly removing this work (even if not feature complete).

--Udo

On 4/1/21, 3:50 AM, "Jens Deppe"  wrote:

I'd volunteer to do that.

If it gets deleted and then 'revived' under another repo, does that still 
require it to be an Apache project? What are the requirements?

--Jens

On 3/30/21, 8:02 AM, "Bruce Schuchardt"  wrote:

Does anyone want to take on the work of moving these sub-projects to 
another repository?  I picked up the ticket because it's costing us development 
and testing time but am not interested in being the owner of it in some other 
repo.


On 3/30/21, 5:45 AM, "Joris Melchior"  wrote:

+1 On this approach. If we could somehow have side project to 
implement this I think it would be really helpful. 

I also think it's less intimidating to contribute to for a lot of 
people.

Joris

On 2021-03-29, 2:55 PM, "John Blum"  wrote:

How hard is it to put the work like Protobuf in a separate 
repository (attached to Geode in some way)? I am not sure what the (Apache) 
procedure is.

We need stop baking everything into the "core" of Apache Geode. 
 Most things that are non-essential (meaning, they are not required for Geode 
to carry out its primary responsibility as a data store, also & e.g. Redis 
Adapter) should be an "extension" (add-on), enabled with a plugin.

I fear this work would get lost if removed completely.  How 
would new (or even existing members) know where to find this work if 
interested? Branches are not a good alternative. A separate repo would make the 
entire process (e.g. releases) easier, not unlike the Kafka connector, or even 
Spring Data for that matter.

$0.02
-j


From: Bruce Schuchardt 
Sent: Monday, March 29, 2021 11:41 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf 
client/server interface

That's true John, but the Protobuf i/f is using the same code 
as the REST server to serialize/deserialize JSON documents.  It isn't any 
better at it.

On 3/29/21, 10:33 AM, "John Blum"  wrote:

Correction! Although a different/separate issue, Geode's 
JSON document handling is incomplete at best. It does not properly handle all 
forms of JSON or types (e.g. Java 8 Data/Time types).

From: Bruce Schuchardt 
Sent: Thursday, March 25, 2021 8:01 AM
To: dev@geode.apache.org 
Subject: Re: [DISCUSS] removal of experimental Protobuf 
client/server interface

I worked on the protobuf client/server interface as long as 
anyone else but still fail to see the value in keeping it in anything but a 
branch unless someone is going to pick it up soon and complete it.

As Dan pointed out, we already have a good interface for 
storing Json documents and we never got beyond that as cache values with the 
protobuf i/f.  People want to store data in Geode in a way that works with 
queries, delta propagation and other advanced features.  That was, and remains, 
the main problem for this interface.  Without that it's not even as good as the 
current REST interface.

On 3/24/21, 5:06 PM, "Jens Deppe"  wrote:

I was very excited when the protobuf support became 
available as it allowed for the fairly quick development of a Go client. 
(https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgemfire%2Fgeode-go-client&data=04%7C01%7Cudo%40vmware.com%7C7a18231640654f0546fc08d8f4651dc0%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637528062421752074%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=AfXhqtTw3qZKtBysL55ZIjItu%2B3VL00tqzcdY2hpe4c%3D&reserved=0).
 As Udo already mentioned, removing this functionality reduces our potential 
exposure to new use cases and language bindings. Just because it isn't 'feature 
complete' doesn't mean it isn't useful to someone. In fact, just today, 
somebody reached out regarding the Go binding.

When considering various popular libraries/frameworks, 
they all have multiple bindings. Some of those are core to the library, but 
many are maintained separately. Having a well-defined protocol for Geode is the 
first step in making that possible.

--Jens

On 3/24/21, 1:11 PM, "Dan Smith"  
wrote:

I also worked on the protobuf interface for a 
little while, alth