[jira] [Commented] (CASSANDRA-4155) Make possible to authenticate user when loading data to Cassandra with BulkRecordWriter.
[ https://issues.apache.org/jira/browse/CASSANDRA-4155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269700#comment-13269700 ] Brandon Williams commented on CASSANDRA-4155: - Should be fixed on trunk in dbecb3023c7f660f0c5d8245820cdc74b93dbbf > 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 >Assignee: Michał Michalski >Priority: Minor > Fix For: 1.1.1 > > Attachments: trunk-4155-nicer-version.txt, trunk-4155-updated-1.txt, > 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 usage, 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
[jira] [Commented] (CASSANDRA-4155) Make possible to authenticate user when loading data to Cassandra with BulkRecordWriter.
[ https://issues.apache.org/jira/browse/CASSANDRA-4155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269446#comment-13269446 ] Michał Michalski commented on CASSANDRA-4155: - Not sure if it's the best place to report this, but I can see that the last changes in ./src/java/org/apache/cassandra/hadoop/ConfigHelper.java did some mess in this task. 09b4e7bdfb113715b3e1ae0be179415fab79d4b7 has removed all the setters and getters I added here and 65d51bb747cc5b7f60a58793026529cb4c6bdf1d has only restored one of them: {noformat}michal@aperture:~/workspace/cassandra-trunk$ cat missing-code.tmp commit 65d51bb747cc5b7f60a58793026529cb4c6bdf1d Author: Brandon Williams Date: Wed Apr 18 14:44:58 2012 -0500 Fix the fix of the crazy automerge diff --git a/src/java/org/apache/cassandra/hadoop/ConfigHelper.java b/src/java/org/apache/cassandra/hadoop/ConfigHelper.java index 81dbf38..8ec215e 100644 --- a/src/java/org/apache/cassandra/hadoop/ConfigHelper.java +++ b/src/java/org/apache/cassandra/hadoop/ConfigHelper.java @@ -304,6 +304,11 @@ public class ConfigHelper return conf.get(OUTPUT_KEYSPACE_USERNAME_CONFIG); } +public static String getOutputKeyspacePassword(Configuration conf) +{ +return conf.get(OUTPUT_KEYSPACE_PASSWD_CONFIG); +} + public static String getInputColumnFamily(Configuration conf) { return conf.get(INPUT_COLUMNFAMILY_CONFIG); commit 09b4e7bdfb113715b3e1ae0be179415fab79d4b7 Author: Brandon Williams Date: Wed Apr 18 14:29:38 2012 -0500 Fix crazy automerge diff --git a/src/java/org/apache/cassandra/hadoop/ConfigHelper.java b/src/java/org/apache/cassandra/hadoop/ConfigHelper.java index 68a8761..81dbf38 100644 --- a/src/java/org/apache/cassandra/hadoop/ConfigHelper.java +++ b/src/java/org/apache/cassandra/hadoop/ConfigHelper.java @@ -299,36 +299,11 @@ public class ConfigHelper return conf.get(INPUT_KEYSPACE_PASSWD_CONFIG); } -public static void setOutputKeyspaceUserName(Configuration conf, String username) -{ -conf.set(OUTPUT_KEYSPACE_USERNAME_CONFIG, username); -} - -public static void setOutputKeyspaceUserName(Configuration conf, String username) -{ -conf.set(OUTPUT_KEYSPACE_USERNAME_CONFIG, username); -} - public static String getOutputKeyspaceUserName(Configuration conf) { return conf.get(OUTPUT_KEYSPACE_USERNAME_CONFIG); } -public static void setOutputKeyspacePassword(Configuration conf, String password) -{ -conf.set(OUTPUT_KEYSPACE_PASSWD_CONFIG, password); -} - -public static void setOutputKeyspacePassword(Configuration conf, String password) -{ -conf.set(OUTPUT_KEYSPACE_PASSWD_CONFIG, password); -} - -public static String getOutputKeyspacePassword(Configuration conf) -{ -return conf.get(OUTPUT_KEYSPACE_PASSWD_CONFIG); -} - public static String getInputColumnFamily(Configuration conf) { return conf.get(INPUT_COLUMNFAMILY_CONFIG); {noformat} Can you fix this or maybe should I prepare another patch against current trunk for this? Or maybe do it in separate issue? It really was a "crazy automerge" ;) > 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 >Assignee: Michał Michalski >Priority: Minor > Fix For: 1.1.1 > > Attachments: trunk-4155-nicer-version.txt, trunk-4155-updated-1.txt, > 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 usage, but I think that it would be a bit nicer way
[jira] [Commented] (CASSANDRA-4155) Make possible to authenticate user when loading data to Cassandra with BulkRecordWriter.
[ https://issues.apache.org/jira/browse/CASSANDRA-4155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256237#comment-13256237 ] Michał Michalski commented on CASSANDRA-4155: - Thanks for quick response and review, Brandon! I like your idea so I'll modify the patch this way. It can be even done better - as ConfigHelper (of Configuration, to be more precise) returns null if value was not set, I don't have to do any "if" in BulkRecordWriter.prepareWriter() - I can just retrieve the values from config (null if not set) and pass them, so the only "if" will be in ExternalClient.init(). I'll change it and submit a new patch as soon as I get my Hadoop-to-Cassandra bulkload work once again, as I suffer some "(...)ib-1-Data.db is not compatible with current version hc" problem after moving to RC1, so I could test it, just to be 100% sure it's OK :) > 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 > Fix For: 1.1.1 > > Attachments: trunk-4155-nicer-version.txt, 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 usage, 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