You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Toby Lazar <tl...@gmail.com> on 2013/02/22 19:41:29 UTC

attributes - basic question

What is the purpose of the getAttribute and setAttribute methods for
classes implementing OperationWithAttributes?  I don't see much
documentation about them, haven't seen much discussion on this list about
them, and am wondering what people use them for.  Or, are they mostly just
used internally?  Any insights about these methods are appreciated.

Thanks!

Toby

Re: attributes - basic question

Posted by James Taylor <jt...@salesforce.com>.
Same with us on Phoenix - we use the setAttribute on the client side and 
the getAttribute on the server side to pickup state on the Scan being 
executed. Works great. One thing to keep in mind, though: for a region 
observer coprocessor, the state you set on the client side will be sent 
to each region individually, so if you have some large global state, you 
might want to use a different mechanism to get it over to the server side.

     James

On 02/22/2013 09:15 PM, Anoop Sam John wrote:
> We have used setAttribute() along with Scan which we are using in the CP.  Ya it will work fine.
> Pls try with ur use case and if finding any issue pls report
>
> -Anoop-
> ________________________________________
> From: Toby Lazar [tlazar@gmail.com]
> Sent: Saturday, February 23, 2013 4:07 AM
> To: user@hbase.apache.org
> Subject: Re: attributes - basic question
>
> Your last point was exactly what I was looking for.  I am thinking about
> using attributes along with coprocessors to impose some application-level
> authorization constraints.  For example, in a get, I can pass username and
> credential attributes and have the coprocessor filter results based on some
> rules or group membership.  Of course, I'll need to make sure that that
> step doesn't violate regular good practices for coprocessors.  If anyone
> has used attributes for any similar purpose, I'd be interested in hearing
> about those experiences.
>
> Thanks,
>
> Toby
>
>
>
> On Fri, Feb 22, 2013 at 4:24 PM, Harsh J <ha...@cloudera.com> wrote:
>
>> The attributes are serialized along with the base operation request.
>> There's perhaps no immediate client-side usage of this, it is used by
>> the Mutation class to set a cluster ID in HBase's Replication context:
>>
>> http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/Mutation.java?view=markup
>>
>> I suppose it could also be used to tag client requests, and used along
>> with Coprocessors that way for some behavior differences.
>>
>> On Sat, Feb 23, 2013 at 12:11 AM, Toby Lazar <tl...@gmail.com> wrote:
>>> What is the purpose of the getAttribute and setAttribute methods for
>>> classes implementing OperationWithAttributes?  I don't see much
>>> documentation about them, haven't seen much discussion on this list about
>>> them, and am wondering what people use them for.  Or, are they mostly
>> just
>>> used internally?  Any insights about these methods are appreciated.
>>>
>>> Thanks!
>>>
>>> Toby
>>
>>
>> --
>> Harsh J
> >


RE: attributes - basic question

Posted by Anoop Sam John <an...@huawei.com>.
We have used setAttribute() along with Scan which we are using in the CP.  Ya it will work fine.
Pls try with ur use case and if finding any issue pls report 

-Anoop-
________________________________________
From: Toby Lazar [tlazar@gmail.com]
Sent: Saturday, February 23, 2013 4:07 AM
To: user@hbase.apache.org
Subject: Re: attributes - basic question

Your last point was exactly what I was looking for.  I am thinking about
using attributes along with coprocessors to impose some application-level
authorization constraints.  For example, in a get, I can pass username and
credential attributes and have the coprocessor filter results based on some
rules or group membership.  Of course, I'll need to make sure that that
step doesn't violate regular good practices for coprocessors.  If anyone
has used attributes for any similar purpose, I'd be interested in hearing
about those experiences.

Thanks,

Toby



On Fri, Feb 22, 2013 at 4:24 PM, Harsh J <ha...@cloudera.com> wrote:

> The attributes are serialized along with the base operation request.
> There's perhaps no immediate client-side usage of this, it is used by
> the Mutation class to set a cluster ID in HBase's Replication context:
>
> http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/Mutation.java?view=markup
>
> I suppose it could also be used to tag client requests, and used along
> with Coprocessors that way for some behavior differences.
>
> On Sat, Feb 23, 2013 at 12:11 AM, Toby Lazar <tl...@gmail.com> wrote:
> > What is the purpose of the getAttribute and setAttribute methods for
> > classes implementing OperationWithAttributes?  I don't see much
> > documentation about them, haven't seen much discussion on this list about
> > them, and am wondering what people use them for.  Or, are they mostly
> just
> > used internally?  Any insights about these methods are appreciated.
> >
> > Thanks!
> >
> > Toby
>
>
>
> --
> Harsh J
>

Re: attributes - basic question

Posted by Toby Lazar <tl...@gmail.com>.
Your last point was exactly what I was looking for.  I am thinking about
using attributes along with coprocessors to impose some application-level
authorization constraints.  For example, in a get, I can pass username and
credential attributes and have the coprocessor filter results based on some
rules or group membership.  Of course, I'll need to make sure that that
step doesn't violate regular good practices for coprocessors.  If anyone
has used attributes for any similar purpose, I'd be interested in hearing
about those experiences.

Thanks,

Toby



On Fri, Feb 22, 2013 at 4:24 PM, Harsh J <ha...@cloudera.com> wrote:

> The attributes are serialized along with the base operation request.
> There's perhaps no immediate client-side usage of this, it is used by
> the Mutation class to set a cluster ID in HBase's Replication context:
>
> http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/Mutation.java?view=markup
>
> I suppose it could also be used to tag client requests, and used along
> with Coprocessors that way for some behavior differences.
>
> On Sat, Feb 23, 2013 at 12:11 AM, Toby Lazar <tl...@gmail.com> wrote:
> > What is the purpose of the getAttribute and setAttribute methods for
> > classes implementing OperationWithAttributes?  I don't see much
> > documentation about them, haven't seen much discussion on this list about
> > them, and am wondering what people use them for.  Or, are they mostly
> just
> > used internally?  Any insights about these methods are appreciated.
> >
> > Thanks!
> >
> > Toby
>
>
>
> --
> Harsh J
>

Re: attributes - basic question

Posted by Harsh J <ha...@cloudera.com>.
The attributes are serialized along with the base operation request.
There's perhaps no immediate client-side usage of this, it is used by
the Mutation class to set a cluster ID in HBase's Replication context:
http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/Mutation.java?view=markup

I suppose it could also be used to tag client requests, and used along
with Coprocessors that way for some behavior differences.

On Sat, Feb 23, 2013 at 12:11 AM, Toby Lazar <tl...@gmail.com> wrote:
> What is the purpose of the getAttribute and setAttribute methods for
> classes implementing OperationWithAttributes?  I don't see much
> documentation about them, haven't seen much discussion on this list about
> them, and am wondering what people use them for.  Or, are they mostly just
> used internally?  Any insights about these methods are appreciated.
>
> Thanks!
>
> Toby



--
Harsh J