[ 
https://issues.apache.org/jira/browse/CASSANDRA-4155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michał Michalski updated CASSANDRA-4155:
----------------------------------------

    Description: 
I need to use the authorization feature (i.e. provided by SimpleAuthenticator 
and SimpleAuthority). The problem is that it's impossible now to pass the 
credentials (cassandra.output.keyspace.username and 
cassandra.output.keyspace.passwd) to org.apache.cassandra.hadoop.ConfigHelper 
because of no setters for these variables. Moreover, even if they could be 
passed, nothing will change because they are unused - ExternalClient class from 
org.apache.cassandra.hadoop.BulkRecordWriter is not making use of them; it's 
not even receiving them and no authorization is provided.

The proposed improvement is to make it possible to authenticate user when 
loading data to Cassandra with BulkRecordWriter by adding appropriate setters 
to ConfigHelper and then passing credentials to ExternalClient class so it 
could use it for authorization request.

I have created a patch for this which I attach. 

This improvement was made in the way that does not charm existing 
ExternalClient interface, but I think that it would be a bit nicer way to call 
the new constructor every time (optionally with username and password set to 
null) in this code and keeping the old one, instead of having and using two 
different constructors in two different cases in one method. However, it's my 
first patch for Cassandra, so I submit a less "agressive" one and I'm waiting 
for suggestions for to modify it :)

  was:
I need to use the authorization feature (i.e. provided by SimpleAuthenticator 
and SimpleAuthority). The problem is that it's impossible now to pass the 
credentials (cassandra.output.keyspace.username and 
cassandra.output.keyspace.passwd) to org.apache.cassandra.hadoop.ConfigHelper 
because of no setters for these variables. Moreover, even if they could be 
passed, nothing will change because they are unused - ExternalClient class from 
org.apache.cassandra.hadoop.BulkRecordWriter is not making use of them; it's 
not even receiving them and no authorization is provided.

The proposed improvement is to make it possible to authenticate user when 
loading data to Cassandra with BulkRecordWriter by adding appropriate setters 
to ConfigHelper and then passing credentials to ExternalClient class so it 
could use it for authorization request.

I have created a patch for this which I attach. 

This improvement was made in the way that does not charm existing 
ExternalClient interface, but I think that it would be a bit nicer way to call 
the new constructor every time (optionally with username and password set to 
null) and keeping the old one "just in case", instead of having and using two 
different constructors in two different cases. However, it's my first patch for 
Cassandra, so I submit a less "agressive" one and I'm waiting for suggestions 
for to modify it :)

    
> Make possible to authenticate user when loading data to Cassandra with 
> BulkRecordWriter.
> ----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4155
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4155
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Michał Michalski
>            Priority: Minor
>              Labels: patch
>         Attachments: trunk-4155.txt
>
>
> I need to use the authorization feature (i.e. provided by SimpleAuthenticator 
> and SimpleAuthority). The problem is that it's impossible now to pass the 
> credentials (cassandra.output.keyspace.username and 
> cassandra.output.keyspace.passwd) to org.apache.cassandra.hadoop.ConfigHelper 
> because of no setters for these variables. Moreover, even if they could be 
> passed, nothing will change because they are unused - ExternalClient class 
> from org.apache.cassandra.hadoop.BulkRecordWriter is not making use of them; 
> it's not even receiving them and no authorization is provided.
> The proposed improvement is to make it possible to authenticate user when 
> loading data to Cassandra with BulkRecordWriter by adding appropriate setters 
> to ConfigHelper and then passing credentials to ExternalClient class so it 
> could use it for authorization request.
> I have created a patch for this which I attach. 
> This improvement was made in the way that does not charm existing 
> ExternalClient interface, but I think that it would be a bit nicer way to 
> call the new constructor every time (optionally with username and password 
> set to null) in this code and keeping the old one, instead of having and 
> using two different constructors in two different cases in one method. 
> However, it's my first patch for Cassandra, so I submit a less "agressive" 
> one and I'm waiting for suggestions for to modify it :)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to