Re: attributes - basic question

2013-02-22 Thread Harsh J
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 tla...@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

2013-02-22 Thread Toby Lazar
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 tla...@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

2013-02-22 Thread Anoop Sam John
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 [tla...@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 tla...@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

2013-02-22 Thread James Taylor
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 [tla...@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 tla...@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