Unicast Problems (no handler found for action [discovery/zen/unicast])

I'm trying to get the cluster working on EC2 (without the cloud
plugin).

  1. I start server A
  2. I put the elastic ip of server A in server B's config file (in the
    unicast options)

discovery.zen.ping.multicast:
enabled: false

discovery.zen.ping.unicast:
hosts: ["ec2-xxx-xx-xx-xxx.compute-1.amazonaws.com:9300"]

  1. I start server B
  2. server B tries to connect to server A and disaplys a a null pointer
    exception:

[02:30:49,691][WARN ][discovery.zen.ping.unicast] [Mad Thinker] Failed
to send ping to [[#zen_unicast_1#][inet[ec2-xxx-xx-xx-
xxx.compute-1.amazonaws.com/10.xxx.xxx.xxx:9301]]]
org.elasticsearch.transport.RemoteTransportException: [Sergei
Kravinoff][inet[/10.xxx.xxx.xxx:9301]][discovery/zen/unicast]
Caused by: java.lang.NullPointerException
at
org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(MessageChannelHandler.java:
169)
at
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:
80)
at
org.elasticsearch.util.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:
80)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:
545)
at org.elasticsearch.util.netty.channel.DefaultChannelPipeline
$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:
754)
at
org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels.java:
302)
at
org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:
317)
at
org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:
299)
at
org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:
216)
at
org.elasticsearch.util.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:
80)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:
545)
at org.elasticsearch.util.netty.channel.DefaultChannelPipeline
$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:
754)
at
org.elasticsearch.transport.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:
51)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:
545)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:
540)
at
org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels.java:
274)
at
org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels.java:
261)
at
org.elasticsearch.util.netty.channel.socket.nio.NioWorker.read(NioWorker.java:
340)
at
org.elasticsearch.util.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:
272)
at
org.elasticsearch.util.netty.channel.socket.nio.NioWorker.run(NioWorker.java:
192)
at
org.elasticsearch.util.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:
108)
at
org.elasticsearch.util.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:
46)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Server A displays:
[02:30:46,813][WARN ][transport.netty ] [Sergei Kravinoff] No
handler found for action [discovery/zen/unicast]
[02:30:46,936][WARN ][transport.netty ] [Sergei Kravinoff]
Message not fully read for [0] and handler null, resetting

Is there anything I'm missing?

Thanks,
Marc

In the initial config, the port is the same as in the error messages
(3001)

On May 26, 4:32 am, Marc Seeger m...@marc-seeger.de wrote:

I'm trying to get the cluster working on EC2 (without the cloud
plugin).

  1. I start server A
  2. I put the elastic ip of server A in server B's config file (in the
    unicast options)

discovery.zen.ping.multicast:
enabled: false

discovery.zen.ping.unicast:
hosts: ["ec2-xxx-xx-xx-xxx.compute-1.amazonaws.com:9300"]

  1. I start server B
  2. server B tries to connect to server A and disaplys a a null pointer
    exception:

[02:30:49,691][WARN ][discovery.zen.ping.unicast] [Mad Thinker] Failed
to send ping to [[#zen_unicast_1#][inet[ec2-xxx-xx-xx-
xxx.compute-1.amazonaws.com/10.xxx.xxx.xxx:9301]]]
org.elasticsearch.transport.RemoteTransportException: [Sergei
Kravinoff][inet[/10.xxx.xxx.xxx:9301]][discovery/zen/unicast]
Caused by: java.lang.NullPointerException
at
org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(Messa geChannelHandler.java:
169)
at
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(Mes sageChannelHandler.java:
80)
at
org.elasticsearch.util.netty.channel.SimpleChannelUpstreamHandler.handleUps tream(SimpleChannelUpstreamHandler.java:
80)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De faultChannelPipeline.java:
545)
at org.elasticsearch.util.netty.channel.DefaultChannelPipeline
$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:
754)
at
org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels. java:
302)
at
org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.unfoldAndFire MessageReceived(FrameDecoder.java:
317)
at
org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.callDecode(Fr ameDecoder.java:
299)
at
org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.messageReceiv ed(FrameDecoder.java:
216)
at
org.elasticsearch.util.netty.channel.SimpleChannelUpstreamHandler.handleUps tream(SimpleChannelUpstreamHandler.java:
80)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De faultChannelPipeline.java:
545)
at org.elasticsearch.util.netty.channel.DefaultChannelPipeline
$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:
754)
at
org.elasticsearch.transport.netty.OpenChannelsHandler.handleUpstream(OpenCh annelsHandler.java:
51)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De faultChannelPipeline.java:
545)
at
org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De faultChannelPipeline.java:
540)
at
org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels. java:
274)
at
org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels. java:
261)
at
org.elasticsearch.util.netty.channel.socket.nio.NioWorker.read(NioWorker.ja va:
340)
at
org.elasticsearch.util.netty.channel.socket.nio.NioWorker.processSelectedKe ys(NioWorker.java:
272)
at
org.elasticsearch.util.netty.channel.socket.nio.NioWorker.run(NioWorker.jav a:
192)
at
org.elasticsearch.util.netty.util.ThreadRenamingRunnable.run(ThreadRenaming Runnable.java:
108)
at
org.elasticsearch.util.netty.util.internal.IoWorkerRunnable.run(IoWorkerRun nable.java:
46)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Server A displays:
[02:30:46,813][WARN ][transport.netty ] [Sergei Kravinoff] No
handler found for action [discovery/zen/unicast]
[02:30:46,936][WARN ][transport.netty ] [Sergei Kravinoff]
Message not fully read for [0] and handler null, resetting

Is there anything I'm missing?

Thanks,
Marc

I have fixed the NPE, but the problem is still there. You need to configure
a list of hosts on both nodes (it can be a static list that includes both
nodes elastic ips, thats fine). The unicast ping is not started when there
is no list of hosts.

On Wed, May 26, 2010 at 5:33 AM, Marc Seeger mail@marc-seeger.de wrote:

In the initial config, the port is the same as in the error messages
(3001)

On May 26, 4:32 am, Marc Seeger m...@marc-seeger.de wrote:

I'm trying to get the cluster working on EC2 (without the cloud
plugin).

  1. I start server A
  2. I put the elastic ip of server A in server B's config file (in the
    unicast options)

discovery.zen.ping.multicast:
enabled: false

discovery.zen.ping.unicast:
hosts: ["ec2-xxx-xx-xx-xxx.compute-1.amazonaws.com:9300"]

  1. I start server B
  2. server B tries to connect to server A and disaplys a a null pointer
    exception:

[02:30:49,691][WARN ][discovery.zen.ping.unicast] [Mad Thinker] Failed
to send ping to [[#zen_unicast_1#][inet[ec2-xxx-xx-xx-
xxx.compute-1.amazonaws.com/10.xxx.xxx.xxx:9301]]]
org.elasticsearch.transport.RemoteTransportException: [Sergei
Kravinoff][inet[/10.xxx.xxx.xxx:9301]][discovery/zen/unicast]
Caused by: java.lang.NullPointerException
at

org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(Messa
geChannelHandler.java:

  1. at

org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(Mes
sageChannelHandler.java:

  1. at
    

org.elasticsearch.util.netty.channel.SimpleChannelUpstreamHandler.handleUps
tream(SimpleChannelUpstreamHandler.java:

  1. at
    

org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De
faultChannelPipeline.java:

  1. at org.elasticsearch.util.netty.channel.DefaultChannelPipeline
    $DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:
  2. at

org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels.
java:

  1. at

org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.unfoldAndFire
MessageReceived(FrameDecoder.java:

  1. at

org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.callDecode(Fr
ameDecoder.java:

  1. at

org.elasticsearch.util.netty.handler.codec.frame.FrameDecoder.messageReceiv
ed(FrameDecoder.java:

  1. at

org.elasticsearch.util.netty.channel.SimpleChannelUpstreamHandler.handleUps
tream(SimpleChannelUpstreamHandler.java:

  1. at
    

org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De
faultChannelPipeline.java:

  1. at org.elasticsearch.util.netty.channel.DefaultChannelPipeline
    $DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:
  2. at

org.elasticsearch.transport.netty.OpenChannelsHandler.handleUpstream(OpenCh
annelsHandler.java:

  1. at
    

org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De
faultChannelPipeline.java:

  1. at

org.elasticsearch.util.netty.channel.DefaultChannelPipeline.sendUpstream(De
faultChannelPipeline.java:

  1. at

org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels.
java:

  1. at

org.elasticsearch.util.netty.channel.Channels.fireMessageReceived(Channels.
java:

  1. at

org.elasticsearch.util.netty.channel.socket.nio.NioWorker.read(NioWorker.ja
va:

  1. at

org.elasticsearch.util.netty.channel.socket.nio.NioWorker.processSelectedKe
ys(NioWorker.java:

  1. at

org.elasticsearch.util.netty.channel.socket.nio.NioWorker.run(NioWorker.jav
a:

  1. at

org.elasticsearch.util.netty.util.ThreadRenamingRunnable.run(ThreadRenaming
Runnable.java:

  1. at

org.elasticsearch.util.netty.util.internal.IoWorkerRunnable.run(IoWorkerRun
nable.java:

  1. at java.util.concurrent.ThreadPoolExecutor
    

$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Server A displays:
[02:30:46,813][WARN ][transport.netty ] [Sergei Kravinoff] No
handler found for action [discovery/zen/unicast]
[02:30:46,936][WARN ][transport.netty ] [Sergei Kravinoff]
Message not fully read for [0] and handler null, resetting

Is there anything I'm missing?

Thanks,
Marc