Skip to content

Commit

Permalink
RANGER-4891: replaced use of PrivilegedAction with PrivilegedExceptio…
Browse files Browse the repository at this point in the history
…nAction in calls to UserGroupInformation.doAs()
  • Loading branch information
mneethiraj committed Aug 11, 2024
1 parent cbc70f6 commit f58a47e
Show file tree
Hide file tree
Showing 9 changed files with 250 additions and 326 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package org.apache.ranger.audit.destination;

import java.io.File;
import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
Expand Down Expand Up @@ -130,13 +130,15 @@ public void flush() {
if (logger.isDebugEnabled()) {
logger.debug("==> HDFSAuditDestination.flush() called. name={}", getName());
}
MiscUtil.executePrivilegedAction(new PrivilegedAction<Void>() {
@Override
public Void run() {
try {
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Void>) () -> {
auditWriter.flush();
return null;
}
});
});
} catch (Exception excp) {
logger.error("HDFSAuditDestination.flush() failed", excp);
}

if (logger.isDebugEnabled()) {
logger.debug("<== HDFSAuditDestination.flush() called. name={}", getName());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
import java.util.Arrays;
import java.util.Comparator;
import java.util.TreeSet;
Expand Down Expand Up @@ -415,14 +415,15 @@ public void run() {
return;
}

loginUser.doAs(new PrivilegedAction<Integer>() {
@Override
public Integer run() {
try {
loginUser.doAs((PrivilegedExceptionAction<Integer>) () -> {
doRun();

return 0;
}
});
});
} catch (Exception excp) {
mLogger.error("DestinationDispatcherThread.run(): failed", excp);
}
}

private void doRun() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/
package org.apache.ranger.audit.provider.kafka;

import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
Expand Down Expand Up @@ -74,13 +74,7 @@ public void init(Properties props) {
LOG.info("Connecting to Kafka producer using properties:"
+ kakfaProps.toString());

producer = MiscUtil.executePrivilegedAction(new PrivilegedAction<Producer<String, String>>() {
@Override
public Producer<String, String> run(){
Producer<String, String> producer = new KafkaProducer<String, String>(kakfaProps);
return producer;
};
});
producer = MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Producer<String, String>>) () -> new KafkaProducer<>(kakfaProps));

initDone = true;
}
Expand Down Expand Up @@ -115,12 +109,9 @@ public boolean log(AuditEventBase event) {
final ProducerRecord<String, String> keyedMessage = new ProducerRecord<String, String>(
topic, message);

MiscUtil.executePrivilegedAction(new PrivilegedAction<Void>() {
@Override
public Void run(){
producer.send(keyedMessage);
return null;
};
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Void>) () -> {
producer.send(keyedMessage);
return null;
});

} else {
Expand Down Expand Up @@ -169,12 +160,9 @@ public void stop() {
LOG.info("stop() called");
if (producer != null) {
try {
MiscUtil.executePrivilegedAction(new PrivilegedAction<Void>() {
@Override
public Void run() {
producer.close();
return null;
};
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Void>) () -> {
producer.close();
return null;
});
} catch (Throwable t) {
LOG.error("Error closing Kafka producer");
Expand Down
Loading

0 comments on commit f58a47e

Please sign in to comment.