[
https://issues.apache.org/jira/browse/PHOENIX-2629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15116563#comment-15116563
]
Andrew Purtell commented on PHOENIX-2629:
-----------------------------------------
bq. What's the expected b/w compat code path for this change, Enis?
Phoenix is not using coprocessor APIs here but instead extending a
LimitedPrivate HBase class in the WAL package and using some of its internals.
We've had problems with overloading internals for indexing in other contexts.
Best to not, I'd say. The WAL package has exposure to HDFS level issues. In
this case, the change in HBase is a fix for a data loss problem when running
HBase on Hadoop 2.6+ with encryption turned on. HBase has already released with
the changes in place but perhaps [~enis] would be open to a petition to restore
compatibility. (Releases made in the interim like 0.98.16, 0.98.16.1, and
0.98.17 would remain problematic.)
> NoClassDef error for BaseDecoder$PBIS on log replay
> ---------------------------------------------------
>
> Key: PHOENIX-2629
> URL: https://issues.apache.org/jira/browse/PHOENIX-2629
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.7.0
> Reporter: Mujtaba Chohan
>
> HBase version 0.98.13 with Phoenix 4.7.0-RC0
> {code}
> executor.EventHandler - Caught throwable while processing event RS_LOG_REPLAY
> java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/codec/BaseDecoder$PBIS
> at
> org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec.getDecoder(IndexedWALEditCodec.java:63)
> at
> org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initAfterCompression(ProtobufLogReader.java:254)
> at
> org.apache.hadoop.hbase.regionserver.wal.ReaderBase.init(ReaderBase.java:86)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLogFactory.createReader(HLogFactory.java:129)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLogFactory.createReader(HLogFactory.java:91)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.getReader(HLogSplitter.java:668)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.getReader(HLogSplitter.java:577)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.splitLogFile(HLogSplitter.java:282)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.splitLogFile(HLogSplitter.java:225)
> at
> org.apache.hadoop.hbase.regionserver.SplitLogWorker$1.exec(SplitLogWorker.java:143)
> at
> org.apache.hadoop.hbase.regionserver.handler.HLogSplitterHandler.process(HLogSplitterHandler.java:82)
> at
> org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.codec.BaseDecoder$PBIS
> 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)
> ... 15 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)