hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-15752) ClassNotFoundException is encountered when custom WAL codec is not found in WALPlayer job
Date Mon, 02 May 2016 23:04:13 GMT

     [ https://issues.apache.org/jira/browse/HBASE-15752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ted Yu updated HBASE-15752:
---------------------------
    Attachment:     (was: 15752.v1.patch)

> ClassNotFoundException is encountered when custom WAL codec is not found in WALPlayer
job
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-15752
>                 URL: https://issues.apache.org/jira/browse/HBASE-15752
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>         Attachments: 15752.v1.patch
>
>
> [~cartershanklin] reported the following when he tried out back / restore feature in
a Phoenix enabled deployment:
> {code}
> 2016-05-02 18:57:58,578 FATAL [IPC Server handler 2 on 38194] org.apache.hadoop.mapred.TaskAttemptListenerImpl:
Task: attempt_1462215011294_0001_m_000000_0 - exited : java.io. IOException: Cannot get log
reader
>   at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:344)
>   at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:266)
>   at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:254)
>   at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:403)
>   at org.apache.hadoop.hbase.mapreduce.WALInputFormat$WALRecordReader.initialize(WALInputFormat.java:152)
>   at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:548)
>   at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:786)
>   at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
>   at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at javax.security.auth.Subject.doAs(Subject.java:422)
>   at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1708)
>   at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
> Caused by: java.lang.UnsupportedOperationException: Unable to find org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
>   at org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.java:36)
>   at org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.create(WALCellCodec.java:103)
>   at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.getCodec(ProtobufLogReader.java:282)
>   at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initAfterCompression(ProtobufLogReader.java:292)
>   at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.init(ReaderBase.java:82)
>   at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.init(ProtobufLogReader.java:149)
>   at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:301)
>   ... 12 more
> Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
>   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:264)
> {code}
> This was due to the IndexedWALEditCodec (specified thru hbase.regionserver.wal.codec)
used by Phoenix being absent in hadoop classpath.
> WALPlayer should handle this situation better by adding the jar for IndexedWALEditCodec
class to mapreduce job dependency.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message