Thanks,

So the way I understand it, thick client will use the affinitly key to send
data to the right node, and hence will split the traiffic between all the
nodes, the thin client will just send the data to one node, and that node
will be responsible to send it to the actual node that owns the 'shard'?

I keep getting the following error when using the Spark driver, the driver
keeps writing, but very slowly. Any idea what is causing the error, or how
to fix it?

Cheers,
Eugene

"

[15:04:58,030][SEVERE][data-streamer-stripe-10-#43%Server%][DataStreamProcessor]
Failed to respond to node [nodeId=78af5d88-cbfa-4529-aaee-ff4982985cdf,
res=DataStreamerResponse [reqId=192, forceLocDep=true]]

class org.apache.ignite.IgniteCheckedException: Failed to send message
(node may have left the grid or TCP connection cannot be established due to
firewall issues) [node=ZookeeperClusterNode
[id=78af5d88-cbfa-4529-aaee-ff4982985cdf, addrs=[127.0.0.1], order=377,
loc=false, client=true], topic=T1 [topic=TOPIC_DATASTREAM,
id=b8d675c6561-78af5d88-cbfa-4529-aaee-ff4982985cdf],
msg=DataStreamerResponse [reqId=192, forceLocDep=true], policy=9]

        at
org.apache.ignite.internal.managers.communication.GridIoManager.send(GridIoManager.java:1651)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.sendToCustomTopic(GridIoManager.java:1703)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.sendToCustomTopic(GridIoManager.java:1673)

        at
org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.sendResponse(DataStreamProcessor.java:440)

        at
org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.localUpdate(DataStreamProcessor.java:402)

        at
org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.processRequest(DataStreamProcessor.java:305)

        at
org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.access$000(DataStreamProcessor.java:60)

        at
org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$1.onMessage(DataStreamProcessor.java:90)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)

        at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)

        at
org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:511)

        at java.lang.Thread.run(Thread.java:748)

Caused by: class org.apache.ignite.spi.IgniteSpiException: Failed to send
message to remote node: ZookeeperClusterNode
[id=78af5d88-cbfa-4529-aaee-ff4982985cdf, addrs=[127.0.0.1], order=377,
loc=false, client=true]

        at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage0(TcpCommunicationSpi.java:2718)

        at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage(TcpCommunicationSpi.java:2651)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.send(GridIoManager.java:1643)

        ... 13 more

Caused by: class org.apache.ignite.IgniteCheckedException: Failed to
connect to node (is node still alive?). Make sure that each ComputeTask and
cache Transaction has a timeout set in order to prevent parties from
waiting forever in case of network issues
[nodeId=78af5d88-cbfa-4529-aaee-ff4982985cdf, addrs=[/127.0.0.1:47101]]

        at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.createTcpClient(TcpCommunicationSpi.java:3422)

        at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.createNioClient(TcpCommunicationSpi.java:2958)

        at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.reserveClient(TcpCommunicationSpi.java:2841)

        at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage0(TcpCommunicationSpi.java:2692)

        ... 15 more

        Suppressed: class org.apache.ignite.IgniteCheckedException: Failed
to connect to address [addr=/127.0.0.1:47101, err=Connection refused]

                at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.createTcpClient(TcpCommunicationSpi.java:3425)

                ... 18 more

        Caused by: java.net.ConnectException: Connection refused

                at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

                at
sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

                at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:111)

                at
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.createTcpClient(TcpCommunicationSpi.java:3262)

                ... 18 more

"

On Tue, Aug 14, 2018 at 4:39 PM, akurbanov <antkr....@gmail.com> wrote:

> Hi,
>
> Spark integration was implemented before java thin client was released and
> thick client performs better than thin one in general. Is your question
> related to existence of benchmarks for thin vs thick clients in Spark
> integration or just a comparison of these two options?
>
> Thin clients' functionality is limited compared to thick client, also it
> generally should be a bit slower as it is communicates not with whole
> cluster, but only with a single node and is not partition-aware. This
> introduces additional network costs which may affect performance compared
> to
> thick client in the simplest and ideal conditions where network transfer is
> a major part of workload.
>
> However this performance decrease may be completely irrelevant depending on
> use case and workload, so you should always measure peformance and do
> benchmarks for a specific use case and make a decision which option suits
> your needs more.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to