Re: [DISCUSS] Removing spymemcached from the assembly

2025-01-20 Thread Istvan Toth
Based on these discussions, I have closed the ticket as "won't do", and
opened HBASE-29089 to remove the optional flag.

On Mon, Jan 20, 2025 at 7:09 PM Andrew Purtell  wrote:

> I went back and reread after responding, as is my custom, and I noticed the
> other thread about removing binary dependencies from the assembly. This was
> not made clear in this thread. Seems we went from thinking about removing
> test dependencies from the binary assembly straight to completely removing
> this component. I don't see a need for that escalation and may have some
> use for this component in the future, as mentioned below. Perhaps we can
> keep to the original scope?
>
> I do not have any objections to removing test-only dependencies from our
> binary convenience artifacts.
>
> Just to state the obvious, this assumes that more extensive changes that
> would cause the removal of functionalities, without separate discussion for
> that removal, or prevent compiling and testing from source are not
> considered.
>
> On Mon, Jan 20, 2025 at 9:57 AM Andrew Purtell 
> wrote:
>
> > -1 for removing. spymemcached is only used in the test. Removing it
> > requires the only unit test for this module to be removed. Why? What is
> the
> > justification? Is there a CVE?
> >
> > I have tested the hbase-external-blockcache module, after fixing it in
> > HBASE-27796  it does
> > plausibly work. It provides an option to externalize the block cache. We
> > were looking at it once at my work and still might consider it in the
> > future. Combined with, ok, other significant changes, you can imagine for
> > each table or namespace a separate external blockcache. This allows an
> > operator to allocate cache resources for a customer's table or namespace
> > and then the cache is dedicated to that customer and the costs of
> operating
> > it are easily accounted to the customer for charge-back or show-back.
> >
> >
> > On Mon, Dec 9, 2024 at 4:02 AM Istvan Toth  wrote:
> >
> >> Hi!
> >>
> >> The HBase assembly currently includes spymemcached.
> >>
> >> Memcached is used as the reference implementation of an external block
> >> cache in hbase-external-blockcache.
> >>
> >> However, the memcached dependency is marked as optional, which suggests
> >> that it was not meant to be included out of the box in the binary
> >> distribution.
> >>
> >> Also, the last release of the spymemcached java library was back in
> 2017.
> >>
> >> I propose removing the spymemcached JAR from the assembly.
> >> Those who still wish to use memcached external block cache support can
> >> provide the jar separately.
> >>
> >> What do you think ?
> >> Do you know anyone who uses HBase with memcached ?
> >>
> >> Istvan
> >>
> >
> >
> >
>


-- 
*István Tóth* | Sr. Staff Software Engineer
*Email*: [email protected]
cloudera.com 
[image: Cloudera] 
[image: Cloudera on Twitter]  [image:
Cloudera on Facebook]  [image: Cloudera
on LinkedIn] 
--
--


Re: [DISCUSS] Removing spymemcached from the assembly

2025-01-20 Thread Andrew Purtell
I went back and reread after responding, as is my custom, and I noticed the
other thread about removing binary dependencies from the assembly. This was
not made clear in this thread. Seems we went from thinking about removing
test dependencies from the binary assembly straight to completely removing
this component. I don't see a need for that escalation and may have some
use for this component in the future, as mentioned below. Perhaps we can
keep to the original scope?

I do not have any objections to removing test-only dependencies from our
binary convenience artifacts.

Just to state the obvious, this assumes that more extensive changes that
would cause the removal of functionalities, without separate discussion for
that removal, or prevent compiling and testing from source are not
considered.

On Mon, Jan 20, 2025 at 9:57 AM Andrew Purtell  wrote:

> -1 for removing. spymemcached is only used in the test. Removing it
> requires the only unit test for this module to be removed. Why? What is the
> justification? Is there a CVE?
>
> I have tested the hbase-external-blockcache module, after fixing it in
> HBASE-27796  it does
> plausibly work. It provides an option to externalize the block cache. We
> were looking at it once at my work and still might consider it in the
> future. Combined with, ok, other significant changes, you can imagine for
> each table or namespace a separate external blockcache. This allows an
> operator to allocate cache resources for a customer's table or namespace
> and then the cache is dedicated to that customer and the costs of operating
> it are easily accounted to the customer for charge-back or show-back.
>
>
> On Mon, Dec 9, 2024 at 4:02 AM Istvan Toth  wrote:
>
>> Hi!
>>
>> The HBase assembly currently includes spymemcached.
>>
>> Memcached is used as the reference implementation of an external block
>> cache in hbase-external-blockcache.
>>
>> However, the memcached dependency is marked as optional, which suggests
>> that it was not meant to be included out of the box in the binary
>> distribution.
>>
>> Also, the last release of the spymemcached java library was back in 2017.
>>
>> I propose removing the spymemcached JAR from the assembly.
>> Those who still wish to use memcached external block cache support can
>> provide the jar separately.
>>
>> What do you think ?
>> Do you know anyone who uses HBase with memcached ?
>>
>> Istvan
>>
>
>
>


Re: [DISCUSS] Removing spymemcached from the assembly

2025-01-20 Thread Andrew Purtell
-1 for removing. spymemcached is only used in the test. Removing it
requires the only unit test for this module to be removed. Why? What is the
justification? Is there a CVE?

I have tested the hbase-external-blockcache module, after fixing it in
HBASE-27796  it does
plausibly work. It provides an option to externalize the block cache. We
were looking at it once at my work and still might consider it in the
future. Combined with, ok, other significant changes, you can imagine for
each table or namespace a separate external blockcache. This allows an
operator to allocate cache resources for a customer's table or namespace
and then the cache is dedicated to that customer and the costs of operating
it are easily accounted to the customer for charge-back or show-back.


On Mon, Dec 9, 2024 at 4:02 AM Istvan Toth  wrote:

> Hi!
>
> The HBase assembly currently includes spymemcached.
>
> Memcached is used as the reference implementation of an external block
> cache in hbase-external-blockcache.
>
> However, the memcached dependency is marked as optional, which suggests
> that it was not meant to be included out of the box in the binary
> distribution.
>
> Also, the last release of the spymemcached java library was back in 2017.
>
> I propose removing the spymemcached JAR from the assembly.
> Those who still wish to use memcached external block cache support can
> provide the jar separately.
>
> What do you think ?
> Do you know anyone who uses HBase with memcached ?
>
> Istvan
>


-- 
Best regards,
Andrew

Unrest, ignorance distilled, nihilistic imbeciles -
It's what we’ve earned
Welcome, apocalypse, what’s taken you so long?
Bring us the fitting end that we’ve been counting on
   - A23, Welcome, Apocalypse


Re: [DISCUSS] Removing spymemcached from the assembly

2025-01-19 Thread Istvan Toth
I have stumbled upon https://issues.apache.org/jira/browse/HBASE-27796 ,
which Andrew has worked on not long ago.

I'd like to include him in the discussion.

Also, a quick search has resulted in three java memcached clients:

https://mvnrepository.com/artifact/com.thimbleware.jmemcached/jmemcached-core
Last release in 2011,
Used in some new tests added by Andrew.

https://mvnrepository.com/artifact/net.spy/spymemcached:
Last release: 2017
Used by our implementation

https://github.com/killme2008/xmemcached/commits/master/
Last release: 2023, last commit 2025.

I have no idea if xmemcached is even suitable for our purposes, but IF
there is still interest in memcached,
we may want to consider using it.

My question to Andrew:

Are you OK with the removal of the sypmemcached JAR from the assembly (so
that anyone using it will have to provide the JAR separately) ?

Istvan

On Mon, Dec 16, 2024 at 3:25 PM 张铎(Duo Zhang)  wrote:

> I think we should add a section in the BlockCache section about it.
>
> Anyway, since there is none for now, we can remove the jar from the
> assembly first, and file a new issue for adding the documentation.
>
> Thanks.
>
> Istvan Toth  于2024年12月11日周三 20:20写道:
> >
> > I tried to edit the memcached blockcache docs, but there is none.
> >
> > Is that feature mature enough to add documentation for it ?
> >
> > WDYT ?
> >
> > On Tue, Dec 10, 2024 at 8:46 AM Istvan Toth  wrote:
> >
> > > Created https://issues.apache.org/jira/browse/HBASE-29024 to track.
> > >
> > > On Tue, Dec 10, 2024 at 3:20 AM 张铎(Duo Zhang) 
> > > wrote:
> > >
> > >> +1 on removing.
> > >>
> > >> Let's make sure we have the guide on how to enable memcached external
> > >> blockcache in our ref guide.
> > >>
> > >> Istvan Toth  于2024年12月9日周一 20:01写道:
> > >> >
> > >> > Hi!
> > >> >
> > >> > The HBase assembly currently includes spymemcached.
> > >> >
> > >> > Memcached is used as the reference implementation of an external
> block
> > >> > cache in hbase-external-blockcache.
> > >> >
> > >> > However, the memcached dependency is marked as optional, which
> suggests
> > >> > that it was not meant to be included out of the box in the binary
> > >> > distribution.
> > >> >
> > >> > Also, the last release of the spymemcached java library was back in
> > >> 2017.
> > >> >
> > >> > I propose removing the spymemcached JAR from the assembly.
> > >> > Those who still wish to use memcached external block cache support
> can
> > >> > provide the jar separately.
> > >> >
> > >> > What do you think ?
> > >> > Do you know anyone who uses HBase with memcached ?
> > >> >
> > >> > Istvan
> > >>
> > >
> > >
> > > --
> > > *István Tóth* | Sr. Staff Software Engineer
> > > *Email*: [email protected]
> > > cloudera.com 
> > > [image: Cloudera] 
> > > [image: Cloudera on Twitter]  [image:
> > > Cloudera on Facebook]  [image:
> > > Cloudera on LinkedIn] 
> > > --
> > > --
> > >
> >
> >
> > --
> > *István Tóth* | Sr. Staff Software Engineer
> > *Email*: [email protected]
> > cloudera.com 
> > [image: Cloudera] 
> > [image: Cloudera on Twitter]  [image:
> > Cloudera on Facebook]  [image:
> Cloudera
> > on LinkedIn] 
> > --
> > --
>


Re: [DISCUSS] Removing spymemcached from the assembly

2024-12-16 Thread Duo Zhang
I think we should add a section in the BlockCache section about it.

Anyway, since there is none for now, we can remove the jar from the
assembly first, and file a new issue for adding the documentation.

Thanks.

Istvan Toth  于2024年12月11日周三 20:20写道:
>
> I tried to edit the memcached blockcache docs, but there is none.
>
> Is that feature mature enough to add documentation for it ?
>
> WDYT ?
>
> On Tue, Dec 10, 2024 at 8:46 AM Istvan Toth  wrote:
>
> > Created https://issues.apache.org/jira/browse/HBASE-29024 to track.
> >
> > On Tue, Dec 10, 2024 at 3:20 AM 张铎(Duo Zhang) 
> > wrote:
> >
> >> +1 on removing.
> >>
> >> Let's make sure we have the guide on how to enable memcached external
> >> blockcache in our ref guide.
> >>
> >> Istvan Toth  于2024年12月9日周一 20:01写道:
> >> >
> >> > Hi!
> >> >
> >> > The HBase assembly currently includes spymemcached.
> >> >
> >> > Memcached is used as the reference implementation of an external block
> >> > cache in hbase-external-blockcache.
> >> >
> >> > However, the memcached dependency is marked as optional, which suggests
> >> > that it was not meant to be included out of the box in the binary
> >> > distribution.
> >> >
> >> > Also, the last release of the spymemcached java library was back in
> >> 2017.
> >> >
> >> > I propose removing the spymemcached JAR from the assembly.
> >> > Those who still wish to use memcached external block cache support can
> >> > provide the jar separately.
> >> >
> >> > What do you think ?
> >> > Do you know anyone who uses HBase with memcached ?
> >> >
> >> > Istvan
> >>
> >
> >
> > --
> > *István Tóth* | Sr. Staff Software Engineer
> > *Email*: [email protected]
> > cloudera.com 
> > [image: Cloudera] 
> > [image: Cloudera on Twitter]  [image:
> > Cloudera on Facebook]  [image:
> > Cloudera on LinkedIn] 
> > --
> > --
> >
>
>
> --
> *István Tóth* | Sr. Staff Software Engineer
> *Email*: [email protected]
> cloudera.com 
> [image: Cloudera] 
> [image: Cloudera on Twitter]  [image:
> Cloudera on Facebook]  [image: Cloudera
> on LinkedIn] 
> --
> --


Re: [DISCUSS] Removing spymemcached from the assembly

2024-12-11 Thread Istvan Toth
I tried to edit the memcached blockcache docs, but there is none.

Is that feature mature enough to add documentation for it ?

WDYT ?

On Tue, Dec 10, 2024 at 8:46 AM Istvan Toth  wrote:

> Created https://issues.apache.org/jira/browse/HBASE-29024 to track.
>
> On Tue, Dec 10, 2024 at 3:20 AM 张铎(Duo Zhang) 
> wrote:
>
>> +1 on removing.
>>
>> Let's make sure we have the guide on how to enable memcached external
>> blockcache in our ref guide.
>>
>> Istvan Toth  于2024年12月9日周一 20:01写道:
>> >
>> > Hi!
>> >
>> > The HBase assembly currently includes spymemcached.
>> >
>> > Memcached is used as the reference implementation of an external block
>> > cache in hbase-external-blockcache.
>> >
>> > However, the memcached dependency is marked as optional, which suggests
>> > that it was not meant to be included out of the box in the binary
>> > distribution.
>> >
>> > Also, the last release of the spymemcached java library was back in
>> 2017.
>> >
>> > I propose removing the spymemcached JAR from the assembly.
>> > Those who still wish to use memcached external block cache support can
>> > provide the jar separately.
>> >
>> > What do you think ?
>> > Do you know anyone who uses HBase with memcached ?
>> >
>> > Istvan
>>
>
>
> --
> *István Tóth* | Sr. Staff Software Engineer
> *Email*: [email protected]
> cloudera.com 
> [image: Cloudera] 
> [image: Cloudera on Twitter]  [image:
> Cloudera on Facebook]  [image:
> Cloudera on LinkedIn] 
> --
> --
>


-- 
*István Tóth* | Sr. Staff Software Engineer
*Email*: [email protected]
cloudera.com 
[image: Cloudera] 
[image: Cloudera on Twitter]  [image:
Cloudera on Facebook]  [image: Cloudera
on LinkedIn] 
--
--


Re: [DISCUSS] Removing spymemcached from the assembly

2024-12-09 Thread Istvan Toth
Created https://issues.apache.org/jira/browse/HBASE-29024 to track.

On Tue, Dec 10, 2024 at 3:20 AM 张铎(Duo Zhang)  wrote:

> +1 on removing.
>
> Let's make sure we have the guide on how to enable memcached external
> blockcache in our ref guide.
>
> Istvan Toth  于2024年12月9日周一 20:01写道:
> >
> > Hi!
> >
> > The HBase assembly currently includes spymemcached.
> >
> > Memcached is used as the reference implementation of an external block
> > cache in hbase-external-blockcache.
> >
> > However, the memcached dependency is marked as optional, which suggests
> > that it was not meant to be included out of the box in the binary
> > distribution.
> >
> > Also, the last release of the spymemcached java library was back in 2017.
> >
> > I propose removing the spymemcached JAR from the assembly.
> > Those who still wish to use memcached external block cache support can
> > provide the jar separately.
> >
> > What do you think ?
> > Do you know anyone who uses HBase with memcached ?
> >
> > Istvan
>


-- 
*István Tóth* | Sr. Staff Software Engineer
*Email*: [email protected]
cloudera.com 
[image: Cloudera] 
[image: Cloudera on Twitter]  [image:
Cloudera on Facebook]  [image: Cloudera
on LinkedIn] 
--
--


Re: [DISCUSS] Removing spymemcached from the assembly

2024-12-09 Thread Duo Zhang
+1 on removing.

Let's make sure we have the guide on how to enable memcached external
blockcache in our ref guide.

Istvan Toth  于2024年12月9日周一 20:01写道:
>
> Hi!
>
> The HBase assembly currently includes spymemcached.
>
> Memcached is used as the reference implementation of an external block
> cache in hbase-external-blockcache.
>
> However, the memcached dependency is marked as optional, which suggests
> that it was not meant to be included out of the box in the binary
> distribution.
>
> Also, the last release of the spymemcached java library was back in 2017.
>
> I propose removing the spymemcached JAR from the assembly.
> Those who still wish to use memcached external block cache support can
> provide the jar separately.
>
> What do you think ?
> Do you know anyone who uses HBase with memcached ?
>
> Istvan