[
https://issues.apache.org/jira/browse/HDFS-10793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15436131#comment-15436131
]
Manoj Govindassamy commented on HDFS-10793:
-------------------------------------------
Here is a test showing the problem.
-- Set the config key "dfs.namenode.audit.loggers" to a class implementing
HdfsAuditLogger the older way. That is, class implementing the method with *no*
CallerContext arg.
-- Run a client which runs setTimes() operation on the cluster filesystem
-- Client operation fails as the custom AuditLogger is not binary compatible
with the new one
{noformat}
252 2016-08-24 18:27:30,010 [IPC Server handler 0 on 63080] WARN ipc.Server
(Server.java:logException(2494)) - IPC Server handler 0 on 63080, call
org.apache.hadoop.hdfs.protocol.ClientProtocol.setTimes from 127.0.0.1:63086
Call#5 Retry#0
253 java.lang.AbstractMethodError:
org.apache.hadoop.hdfs.server.namenode.HdfsAuditLogger.logAuditEvent(ZLjava/lang/String;Ljava/net/InetAddress;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/hadoop/fs/FileStatus;Lorg/apache/hadoop/ipc/CallerContext;Lorg/apache/hadoop/security/UserGroupInformation;Lorg/apache/hadoop/hdfs/security/token/delegation/DelegationTokenSecretManager;)V
254 at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.logAuditEvent(FSNamesystem.java:362)
255 at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.logAuditEvent(FSNamesystem.java:340)
256 at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setTimes(FSNamesystem.java:1913)
257 at
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setTimes(NameNodeRpcServer.java:1344)
258 at
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setTimes(ClientNamenodeProtocolServerSideTranslatorPB.java:948)
259 at
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
260 at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:663)
261 at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989)
262 at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2423)
263 at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2419)
264 at java.security.AccessController.doPrivileged(Native Method)
265 at javax.security.auth.Subject.doAs(Subject.java:422)
266 at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1790)
267 at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2419)
{noformat}
> Fix HdfsAuditLogger binary incompatibility introduced by HDFS-9184
> ------------------------------------------------------------------
>
> Key: HDFS-10793
> URL: https://issues.apache.org/jira/browse/HDFS-10793
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.8.0
> Reporter: Andrew Wang
> Assignee: Manoj Govindassamy
> Priority: Blocker
>
> HDFS-9184 added a new parameter to an existing method signature in
> HdfsAuditLogger, which is a Public/Evolving class. This breaks binary
> compatibility with implementing subclasses.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]