Sailaja Navvluru created ATLAS-2548: ---------------------------------------
Summary: Use of IBM JDK results in kafka login exceptions in a kerberized environment Key: ATLAS-2548 URL: https://issues.apache.org/jira/browse/ATLAS-2548 Project: Atlas Issue Type: Bug Components: atlas-intg Affects Versions: 0.8-incubating Reporter: Sailaja Navvluru Attachments: InMemoryJAASConfiguration.java.patch Our product uses IBM JDK while interacting with hive metastore directly to create metadata. When Atlas-Hive hook is enabled in kerberized environment, our application logs are filled with the following errors as the Kerberos login module is not found in the path specified by atlas application properties file. IBM JDK has some more restrictions on Kerberos support where some of the options supported by sun JDK are not available. ERROR - Failed to notify atlas for entity [[{Id='(type: hive_db, id: <unassigned>)', traits=[], values={owner=bigsql, ownerType=1, qualifiedName=tpcdsorc1000@bigsql502 org.apache.kafka.common.KafkaException: Failed to construct kafka producer at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:338) at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:188) at org.apache.atlas.kafka.KafkaNotification.createProducer(KafkaNotification.java:289) at org.apache.atlas.kafka.KafkaNotification.sendInternal(KafkaNotification.java:210) at org.apache.atlas.notification.AbstractNotification.send(AbstractNotification.java:84) at org.apache.atlas.hook.AtlasHook.notifyEntitiesInternal(AtlasHook.java:133) at org.apache.atlas.hook.AtlasHook.notifyEntities(AtlasHook.java:118) at org.apache.atlas.hook.AtlasHook.notifyEntities(AtlasHook.java:171) at org.apache.atlas.hive.hook.HiveHook.access$300(HiveHook.java:83) at org.apache.atlas.hive.hook.HiveHook$3.run(HiveHook.java:221) at java.security.AccessController.doPrivileged(AccessController.java:686) at javax.security.auth.Subject.doAs(Subject.java:569) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) at org.apache.atlas.hive.hook.HiveHook.notifyAsPrivilegedAction(HiveHook.java:233) at org.apache.atlas.hive.hook.HiveHook$2.run(HiveHook.java:203) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:785) Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: unable to find LoginModule class: com.sun.security.auth.module.Krb5LoginModule at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:86) at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:71) at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:85) at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:302) ... 19 more Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: com.sun.security.auth.module.Krb5LoginModule Attaching a patch to the defect we have tested to support IBM JDK and Kerberos on 0.8 level of Atlas -- This message was sent by Atlassian JIRA (v7.6.3#76005)