phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-3698) Missing no-args constructor on IndexedWALEditCodec
Date Wed, 01 Mar 2017 04:41:45 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15889491#comment-15889491
] 

Hudson commented on PHOENIX-3698:
---------------------------------

FAILURE: Integrated in Jenkins build Phoenix-master #1570 (See [https://builds.apache.org/job/Phoenix-master/1570/])
PHOENIX-3698 No-args constructor for IndexedWALEditCodec (elserj: rev 6d36fa7ca70200568e285aa513f0a577eaade060)
* (add) phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/IndexedWALEditCodecTest.java
* (edit) phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/IndexedWALEditCodec.java


> Missing no-args constructor on IndexedWALEditCodec
> --------------------------------------------------
>
>                 Key: PHOENIX-3698
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3698
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Romil Choksi
>            Assignee: Josh Elser
>             Fix For: 4.9.1, 4.10.0
>
>         Attachments: PHOENIX-3698.001.patch
>
>
> From a deploy at $dayjob, I'm seeing what I'm think is a pretty glaring omission in the
WAL splitting path with the IndexedWALEditCodec. "Pretty glaring" to the degree that I think
I might just be missing something...
> {noformat}
> 2017-02-23 09:05:05,652 ERROR [RS_LOG_REPLAY_OPS-10.0.0.13:16020-0-Writer-1] wal.WALSplitter:
Exiting thread
> java.io.IOException: java.lang.reflect.InvocationTargetException
> 	at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
> 	at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:430)
> 	at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:423)
> 	at org.apache.hadoop.hbase.client.ConnectionManager.getConnectionInternal(ConnectionManager.java:301)
> 	at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:116)
> 	at org.apache.hadoop.hbase.wal.WALSplitter$LogReplayOutputSink.getConnectionByTableName(WALSplitter.java:2145)
> 	at org.apache.hadoop.hbase.wal.WALSplitter$LogReplayOutputSink.groupEditsByServer(WALSplitter.java:1750)
> 	at org.apache.hadoop.hbase.wal.WALSplitter$LogReplayOutputSink.append(WALSplitter.java:1690)
> 	at org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.writeBuffer(WALSplitter.java:1104)
> 	at org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.doRun(WALSplitter.java:1096)
> 	at org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.run(WALSplitter.java:1066)
> Caused by: java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
> 	... 10 more
> Caused by: java.lang.UnsupportedOperationException: Constructor threw an exception for
org.apache.hadoop.hbase.ipc.RpcClientImpl
> 	at org.apache.hadoop.hbase.util.ReflectionUtils.instantiate(ReflectionUtils.java:54)
> 	at org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.java:34)
> 	at org.apache.hadoop.hbase.ipc.RpcClientFactory.createClient(RpcClientFactory.java:64)
> 	at org.apache.hadoop.hbase.ipc.RpcClientFactory.createClient(RpcClientFactory.java:48)
> 	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:647)
> 	... 15 more
> Caused by: java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at org.apache.hadoop.hbase.util.ReflectionUtils.instantiate(ReflectionUtils.java:46)
> 	... 19 more
> Caused by: java.lang.RuntimeException: Failed getting codec org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
> 	at org.apache.hadoop.hbase.ipc.AbstractRpcClient.getCodec(AbstractRpcClient.java:138)
> 	at org.apache.hadoop.hbase.ipc.AbstractRpcClient.<init>(AbstractRpcClient.java:95)
> 	at org.apache.hadoop.hbase.ipc.RpcClientImpl.<init>(RpcClientImpl.java:1082)
> 	at org.apache.hadoop.hbase.ipc.RpcClientImpl.<init>(RpcClientImpl.java:1108)
> 	... 24 more
> Caused by: java.lang.InstantiationException: org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
> 	at java.lang.Class.newInstance(Class.java:427)
> 	at org.apache.hadoop.hbase.ipc.AbstractRpcClient.getCodec(AbstractRpcClient.java:136)
> 	... 27 more
> Caused by: java.lang.NoSuchMethodException: org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec.<init>()
> 	at java.lang.Class.getConstructor0(Class.java:3082)
> 	at java.lang.Class.newInstance(Class.java:412)
> 	... 28 more
> {noformat}
> Essentially, our {{IndexedWALEditCodec}} has the potential to be constructed in two different
code paths: As a {{Codec}} and as a {{WALCellCodec}}.
> The latter is what we have accounted for, the {{Configuration}} and {{CompressionContext}}
constructor. The former is the one we don't account for, missing a no-args constructor.
> {{WALSplitter}} will set the value for a custom WAL codec as the client RPC codec in
the configuration when it's creating a Connection.
> https://github.com/apache/hbase/blob/rel/1.2.4/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java#L184-L186
> This caused a cascading failure across all of the RegionServers.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message