ekaterinadimitrova2 commented on a change in pull request #1051:
URL: https://github.com/apache/cassandra/pull/1051#discussion_r681205552



##########
File path: src/java/org/apache/cassandra/audit/AuditLogManager.java
##########
@@ -148,6 +167,8 @@ public synchronized void disableAuditLog()
         unregisterAsListener();
         IAuditLogger oldLogger = auditLogger;
         auditLogger = new NoOpAuditLogger(Collections.emptyMap());
+        // when we disable audit logging, we should also reset options so we 
return default ones (from cassandra.yml)

Review comment:
       ```suggestion
           // when we disable audit logging, we should also reset options so we 
return default ones (from cassandra.yaml)
   ```

##########
File path: src/java/org/apache/cassandra/audit/AuditLogOptions.java
##########
@@ -60,6 +300,7 @@ public String toString()
                ", block=" + block +
                ", max_queue_weight=" + max_queue_weight +
                ", max_log_size=" + max_log_size +
+               ", max_archive_retries=" + max_archive_retries +

Review comment:
       Not sure whether this change might not break someone's parsing actually? 

##########
File path: src/java/org/apache/cassandra/tools/nodetool/EnableAuditLog.java
##########
@@ -47,9 +49,37 @@
     @Option(title = "excluded_users", name = { "--excluded-users" }, 
description = "Comma separated list of users to be excluded for audit log. If 
not set the value from cassandra.yaml will be used")
     private String excluded_users = null;
 
+    @Option(title = "roll_cycle", name = {"--roll-cycle"}, description = "How 
often to roll the log file (MINUTELY, HOURLY, DAILY).")

Review comment:
       Do we know why those were missing at first place?

##########
File path: src/java/org/apache/cassandra/service/StorageServiceMBean.java
##########
@@ -790,8 +790,15 @@ public StageConcurrency(int corePoolSize, int 
maximumPoolSize)
     /** Clears the history of clients that have connected in the past **/
     void clearConnectionHistory();
     public void disableAuditLog();
-    public void enableAuditLog(String loggerName, Map<String, String> 
parameters, String includedKeyspaces, String excludedKeyspaces, String 
includedCategories, String excludedCategories, String includedUsers, String 
excludedUsers) throws ConfigurationException;
-    public void enableAuditLog(String loggerName, String includedKeyspaces, 
String excludedKeyspaces, String includedCategories, String excludedCategories, 
String includedUsers, String excludedUsers) throws ConfigurationException;
+    public void enableAuditLog(String loggerName, Map<String, String> 
parameters, String includedKeyspaces, String excludedKeyspaces, String 
includedCategories, String excludedCategories,
+                               String includedUsers, String excludedUsers, 
Integer maxArchiveRetries, Boolean block, String rollCycle,
+                               Long maxLogSize, Integer maxQueueWeight, String 
archiveCommand) throws ConfigurationException, IllegalStateException;
+
+    public void enableAuditLog(String loggerName, Map<String, String> 
parameters, String includedKeyspaces, String excludedKeyspaces, String 
includedCategories, String excludedCategories,
+                               String includedUsers, String excludedUsers) 
throws ConfigurationException, IllegalStateException;
+
+    public void enableAuditLog(String loggerName, String includedKeyspaces, 
String excludedKeyspaces, String includedCategories, String excludedCategories,
+                               String includedUsers, String excludedUsers) 
throws ConfigurationException, IllegalStateException;

Review comment:
       So we don't use in the codebase this particular method anymore but we 
keep it for now? Do you know the reason why those options were not added 
initially to be configurable from NodeTool? 
   

##########
File path: src/java/org/apache/cassandra/audit/AuditLogManager.java
##########
@@ -148,6 +167,8 @@ public synchronized void disableAuditLog()
         unregisterAsListener();
         IAuditLogger oldLogger = auditLogger;
         auditLogger = new NoOpAuditLogger(Collections.emptyMap());
+        // when we disable audit logging, we should also reset options so we 
return default ones (from cassandra.yml)
+        auditLogOptions = DatabaseDescriptor.getAuditLoggingOptions();

Review comment:
       Should we really return to default ones? 
   CC  @michaelsembwever 
   I feel we need to explicitly notify the users that their config (if they 
have provided during enable from nodetool different one than the one in 
cassandra.yaml) will be reset. And probably also give them the chance to save 
the one they have? 
   I understand that this is not change of behavior as before they didn't have 
the options configurable from nodetool but now when they have them, I think we 
need to let them know what to expect explicitly. What do you think?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to