Re: remote ignite server and L4(for loadbalacing) with java thin client

2020-04-06 Thread Alex Plehanov
Hello,

AFAIK apache webserver load balancer it's a balancer only for HTTP
requests. Ignite thin client protocol it's not a HTTP based protocol.
Moreover, it's async (you can send several requests on the same channel
before receiving the first response) and it's stateful (for example, if you
start query on one node you can't get the next page for this query on
another node). Webserver load balancer can't be used here.

Ignite thin client on startup select's random server to connect from
available addresses. So, there is already some kind of load balancer on
per-client level (but not per-request).
Also, the "partition awareness" feature (disabled by default) allows to
connect to several nodes at the same time and send some types of requests
to the affinity node.


пн, 6 апр. 2020 г. в 03:33, kay :

> Hi,
>
> I'm using Apache Webserver for loadbalancer.
>
> I got this access log at binding port.
>
>
>
>
> - myIp(xx.xx.xx.xxx) [06/Apr/2020:09:00:50 +0900] 13000 "-" 408 - 12 0 - -
>
>
>
>
> I think it was a timeout.
>
> Here is my httpd.conf set.
>
>
>
>
> 
>  BalancerMember "http://IP:PORT"; loadfactor=1 hcpasses=3
> hcfails=3
> hcmethod=GET  hcinterval=5
>  BalancerMember "http://IP:PORT"; loadfactor=1 hcpasses=3
> hcfails=3
> hcmethod=GET  hcinterval=5
>  ProxySet  lbmethod=byrequests
>  
>
> 
>  ProxyRequestsOff
> ProxyPreserveHost   On
>
>   ProxyPass   "/"  "balancer://cache-cluster/"
>  ProxyPassReverse"/"  "balancer://cache-cluster/"
>  
>
>
>
>
>
>
>
> and this is a stacktrace for connection
>
> Exception in thread "main"
> org.apache.ignite.client.ClientConnectionException: Ignite cluster is
> unavailable [sock=Socket[addr=intdev01/IP,port=13000,localport=50216]]
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel.handleIOError(TcpClientChannel.java:499)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel.handleIOError(TcpClientChannel.java:491)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel.access$100(TcpClientChannel.java:92)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel$ByteCountingDataInput.read(TcpClientChannel.java:542)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel$ByteCountingDataInput.readInt(TcpClientChannel.java:572)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel.handshakeRes(TcpClientChannel.java:428)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel.handshake(TcpClientChannel.java:401)
>   at
>
> org.apache.ignite.internal.client.thin.TcpClientChannel.(TcpClientChannel.java:153)
>   at
>
> org.apache.ignite.internal.client.thin.ReliableChannel$ClientChannelHolder.getOrCreateChannel(ReliableChannel.java:450)
>   at
>
> org.apache.ignite.internal.client.thin.ReliableChannel$ClientChannelHolder.getOrCreateChannel(ReliableChannel.java:439)
>   at
>
> org.apache.ignite.internal.client.thin.ReliableChannel$ClientChannelHolder.access$100(ReliableChannel.java:395)
>   at
>
> org.apache.ignite.internal.client.thin.ReliableChannel.(ReliableChannel.java:120)
>   at
>
> org.apache.ignite.internal.client.thin.TcpIgniteClient.(TcpIgniteClient.java:99)
>   at
>
> org.apache.ignite.internal.client.thin.TcpIgniteClient.(TcpIgniteClient.java:81)
>   at
>
> org.apache.ignite.internal.client.thin.TcpIgniteClient.start(TcpIgniteClient.java:208)
>   at org.apache.ignite.Ignition.startClient(Ignition.java:581)
>  at sfmi.framework.nexus.app.Application.main(Application.java:51)
>
>
>
>
>
>
>
> Is is right to use loadbalancer to access Ignite server??
>
>
>
>
> Thank you
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


Re: REST API Configuration for Ignite.net

2020-04-06 Thread Pavel Tupitsyn
I've prepared a working example here:
https://github.com/ptupitsyn/ignite-net-examples/tree/master/REST-API-config

1. To enable Ignite REST API, we have to add ignite-rest-http module to the
classpath (IgniteConfiguration.JvmClasspath)
This exposes the API on port 8080

2. To tweak REST API config, we have to set jettyPath property in Spring
XML, then configure jetty in another XML file:
https://github.com/ptupitsyn/ignite-net-examples/blob/master/REST-API-config/ignite-spring-config.xml
https://github.com/ptupitsyn/ignite-net-examples/blob/master/REST-API-config/jetty-config.xml
https://apacheignite.readme.io/docs/rest-api



On Sun, Apr 5, 2020 at 1:30 AM JP  wrote:

> Hi,
>Thanks for the tips.. in spring config XML, what's kind of configuration
> need to add for rest http module..
>  What's the property name in config XML ?so that I can mention the path of
> rest http module...
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


CPP: Query timeout

2020-04-06 Thread nidhinms
I tried to execute an INSERT query to my ignite cluster. It was working fine.
After they update the ignite server instance with some new jars the query is
not returning. Can some one guide me to rectify this issue.

1. Does peerLoadingEnabled=true has omething to do with this issue. Or does
peerClassLoading work with CPP and Java ignite mixed setup.
2. Can I set timeout in my query with CPP.
3. Where I can find info about why a query is getting stalled.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Docker configuration filepath

2020-04-06 Thread bribridnl
Ok, that was the issue here. I'm getting started with Docker so I do not
fully understand it yet ! Thank you for your help !



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Run apache ignite container on Rpi

2020-04-06 Thread bribridnl
Hello everybody, 
did someone ever tried to run apache ignite docker on a raspberry pi ? 
I installed docker on my raspberry pi model B following this tutorial :
https://phoenixnap.com/kb/docker-on-raspberry-pi 
And i encountered no issue on running hello-world.
Now my problem is that when I try to run apacheignite/ignite docker
container (see official documentation
https://apacheignite.readme.io/docs/docker-deployment). I have this error
which I really don't understand :

standard_init_linux.go:211: exec user process caused "exec format error"

So I tried to run ignite through the binary files on my raspberry pi and it
worked perfectly. 
I'm really confused why it's not working..



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Run apache ignite container on Rpi

2020-04-06 Thread Stephen Darlington
The Docker image is based on an x86-64 CPU architecture Linux distribution, 
while the Raspberry Pi is ARM. So your ARM CPU is being asked to run code 
that’s in the wrong format (x86-64). You could build your own Docker image with 
minimal changes.

Regards,
Stephen

> On 6 Apr 2020, at 15:39, bribridnl  wrote:
> 
> Hello everybody, 
> did someone ever tried to run apache ignite docker on a raspberry pi ? 
> I installed docker on my raspberry pi model B following this tutorial :
> https://phoenixnap.com/kb/docker-on-raspberry-pi 
> And i encountered no issue on running hello-world.
> Now my problem is that when I try to run apacheignite/ignite docker
> container (see official documentation
> https://apacheignite.readme.io/docs/docker-deployment). I have this error
> which I really don't understand :
> 
> standard_init_linux.go:211: exec user process caused "exec format error"
> 
> So I tried to run ignite through the binary files on my raspberry pi and it
> worked perfectly. 
> I'm really confused why it's not working..
> 
> 
> 
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/




PluginProvider method contracts

2020-04-06 Thread VeenaMithare
Hi , 
I am having a look at the plugin provider to write a plugin. I am confused
between these two methods : 

 T plugin();


@Nullable
 T createComponent(PluginContext var1, Class var2);

1. What is the difference between the class returned by each of the method ?
Are they both supposed to return an implementation of the plugin. 

2. If the answer to the above is yes, why do we need two of these methods ?

regards,
Veena.

 



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Service Grid Requests

2020-04-06 Thread narges saleh
Hi All,

I understand that the ignite services are stateful. That being said, do I
need to synchronize the objects in my services or ignite queues the
requests to the same service, assuming that my services are deployed either
as node signleton or based on some affinity key?

thanks.


Re: PluginProvider method contracts

2020-04-06 Thread akorensh
Hi,
  See https://apacheignite.readme.io/docs/plugins for information on
plugins.
  Sample Implementaiton:
https://github.com/apache/ignite/blob/ignite-2.5/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/plugins/TestCompatibilityPluginProvider.java

Another test implementation:
https://github.com/apache/ignite/blob/master/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/memtracker/PageMemoryTrackerPluginProvider.java

  the plugin() method returns an instance of this plugin. 

  the createComponent API is called internally by Ignite to create
components inside your plugin.

  for example to create a security related component:
   if (cls.equals(GridSecurityProcessor.class)) {
return new MySecurityProcessor(...);
}
  
Thanks, Alex



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Service Grid Requests

2020-04-06 Thread akorensh
Hi,

If you structure your code such that each request is accessing a global
resource that needs to be protected

i.e. your service has a get(..) method which accesses a regular HashMap,
then yes that HashMap needs to be protected.

If you structured your service to use concurrent structures -- Ignite Maps,
or concurrent HashMaps then you are ok.

See this example:https://apacheignite.readme.io/docs/service-example
Here all data is stored in Ignite Cache and therefore threadsafe.
(If you were to replace the IgntieCache with a HashMap then the code in
get/set would need to use locks/synchronized sections)

Thanks, Alex



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


C++ ODBC Example Question

2020-04-06 Thread Anthony
Hello,

For the following example, instead of storing the "Person" using ODBC, is
it possible to build the "Person" in c++  and store to in the server?

I still want to use ODBC to retrieve the data.

https://github.com/apache/ignite/blob/56975c266e7019f307bb9da42333a6db4e47365e/modules/platforms/cpp/examples/odbc-example/src/odbc_example.cpp


Thanks,

Anthony


Ignite 2.8 Webinar, April 8th - What's New in the Release

2020-04-06 Thread Denis Magda
Fellow Igniters,

There are so many changes that contributed to version 2.8, then even I, an
old-timer who is with the community for a while, underestimated how
startling this version turned out to be. Just finished my slides for the
webinar coming this Wednesday [1] and still finishing some code samples.

We're going to scratch the surface in some places and dig deeper in others.
That's a session for Ignite application developers and architects by
another application developer who is familiar with Ignite very well ;) Hope
Ignite contributors/committers who contributed most of the features join me
that day to see how this format goes and then we can schedule a series of
virtual meetups with live discussions and deep-dives.

[1] https://bit.ly/2XiW4zF

-
Denis


Re: remote ignite server and L4(for loadbalacing) with java thin client

2020-04-06 Thread kay
Ah.. Thank you so much!!
I will not use Apache for loadbalancer..



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Unable to perform handshake within timeout..

2020-04-06 Thread kay
I have two nodes at remote server..
I found a log  

[WARN] [grid-timeout-worker-#39][ClientListenerNioListener] Unable to
perform handshake within timeout

Why this logs appear??
and How can i fix it??



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Versions of windows supported and meaning of log error message - This operating system has been tested less rigorously

2020-04-06 Thread Rohan Kurian
Hi Pavel,
Thanks for your reply. It does make things clear for us.

One request, please accomodate if possible. You mentioned that this message
"This operating system has been tested less rigorously" is old and
misleading.

Can this be removed in a future release? Also we would like to know when it
is removed.

Thanks,
Rohan

On Tue, Mar 24, 2020 at 10:36 PM Pavel Tupitsyn 
wrote:

> This message is old and misleading, sorry.
>
> - Yes, we test on Windows as well as on Linux
> - Windows 10 is actually the most tested Windows version, I believe - all
> Windows TeamCity agents are at version 10
>
> > Can we go ahead with using ignite on windows?
> Yes!
>
>
> On Tue, Mar 24, 2020 at 8:00 PM rohankur  wrote:
>
>> We are introducing ignite in a product and expect it to used by customers
>> who
>> will have Windows systems primarily.
>> I see in this link
>> https://apacheignite.readme.io/docs/getting-started
>> the following list of OS
>> Linux (any flavor),
>> Mac OSX (10.6 and up)
>> Windows (XP and up),
>> Windows Server (2008 and up)
>> Oracle Solaris
>>
>> However, when I start ignite on windows servers I see the following log
>> message
>> *This operating system has been tested less rigorously: Windows 10 10.0
>> amd64*. Our team will appreciate the feedback if you experience any
>> problems
>> running ignite in this environment.
>>
>> WARN  org.apache.ignite.internal.GridDiagnostic - *This operating system
>> has
>> been tested less rigorously: Windows Server 2008 6.0 amd64.*
>>
>> Is there a subset of windows OS versions that have not been tested
>> rigorously? Broadly speaking - What is the difference between rigorous and
>> less rigorous testing?
>> Can we go ahead with using ignite on windows?
>>
>> Thanks,
>> Rohan
>>
>>
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>