Skip to content

Commit 965b183

Browse files
authored
Merge pull request #15791 from cdapio/CDAP-21106_fix_connectionHandler_logs
[CDAP-21106] Binding correct AuditLogWriter implementation for a Distributed Program incase of SYSTEM SERVICE.
2 parents cdd9d0c + cec170f commit 965b183

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

Diff for: cdap-app-fabric/src/main/java/io/cdap/cdap/app/guice/DistributedProgramContainerModule.java

+15-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
import io.cdap.cdap.metadata.PreferencesFetcher;
7171
import io.cdap.cdap.metadata.RemotePreferencesFetcherInternal;
7272
import io.cdap.cdap.metrics.guice.MetricsClientRuntimeModule;
73+
import io.cdap.cdap.proto.ProgramType;
74+
import io.cdap.cdap.proto.id.NamespaceId;
7375
import io.cdap.cdap.proto.id.ProgramId;
7476
import io.cdap.cdap.proto.id.ProgramRunId;
7577
import io.cdap.cdap.runtime.spi.RuntimeMonitorType;
@@ -159,7 +161,7 @@ private List<Module> getCoreModules() {
159161

160162
List<Module> modules = new ArrayList<>();
161163

162-
modules.add(new NoOpAuditLogModule());
164+
modules.add(getAuditLogModules());
163165
modules.add(new ConfigModule(cConf, hConf));
164166
modules.add(new IOModule());
165167
modules.add(new DFSLocationModule());
@@ -303,6 +305,18 @@ private static String generateClientId(ProgramRunId programRunId, String instanc
303305
return String.format("%s.%s.%s", programRunId.getParent(), programRunId.getRun(), instanceId);
304306
}
305307

308+
/**
309+
* Return distributed module only if the program is of SERVICE in SYSTEM namespace.
310+
*/
311+
private Module getAuditLogModules() {
312+
if (programRunId.getNamespaceId().equals(NamespaceId.SYSTEM)
313+
&& programRunId.getType().equals(ProgramType.SERVICE)) {
314+
return new AuditLogWriterModule(cConf).getDistributedModules();
315+
}
316+
317+
return new NoOpAuditLogModule();
318+
}
319+
306320
/**
307321
* A Guice module to provide {@link ProgramStateWriter} binding. In normal same cluster / remote
308322
* cluster execution, it just publishes program states to TMS based on the discovery service. For

0 commit comments

Comments
 (0)