Ignite Visor cache command freezes, when client node connects.

2019-01-10 Thread javadevmtl
Hi, using 2.7.3

I start my client as...

TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
ipFinder.setAddresses(addresses.getList());
spi.setIpFinder(ipFinder);

igniteConfig.setDiscoverySpi(spi);

igniteConfig.setClientMode(true);

I then also create a cache dynamically as...

CacheConfiguration cacheCfg = new CacheConfiguration("DJTAZZ");

cacheCfg.setCacheMode(CacheMode.REPLICATED);
this.cache =
igniteClient.getIgniteInstance().getOrCreateCache(cacheCfg);

In ignitegridvisor.sh when I run the "cache" command it seems to freeze
until I disconnect my application.




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


Re: Extra console output from logs.

2019-01-10 Thread javadevmtl
Nobody has experienced this? I'm not trying to disable logs. I'm just getting
double the output...



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


Re: Extra console output from logs.

2019-01-09 Thread javadevmtl
More precisely this is what we see...

This line is good:
{"appTimestamp":"2019-01-09T18:29:34.298+00:00","threadName":"vert.x-worker-thread-0","level":"INFO","loggerName":"org.apache.ignite.internal.IgniteKernal%xx-dev","message":"\n\n>>>
   
__    \n>>>   /  _/ ___/ |/ /  _/_  __/ __/  \n>>> 
_/ // (7 7// /  / / / _/\n>>> /___/\\___/_/|_/___/ /_/ /___/   \n>>>
\n>>> ver. 2.7.0#20181130-sha1:256ae401\n>>> 2018 Copyright(C) Apache
Software Foundation\n>>> \n>>> Ignite documentation:
http://ignite.apache.org\n"}

The below shouldn't print:
[13:29:34]__   
[13:29:34]   /  _/ ___/ |/ /  _/_  __/ __/ 
[13:29:34]  _/ // (7 7// /  / / / _/   
[13:29:34] /___/\___/_/|_/___/ /_/ /___/  
[13:29:34] 
[13:29:34] ver. 2.7.0#20181130-sha1:256ae401
[13:29:34] 2018 Copyright(C) Apache Software Foundation
[13:29:34] 
[13:29:34] Ignite documentation: http://ignite.apache.org
[13:29:34] 
[13:29:34] Quiet mode.
[13:29:34]   ^-- Logging by 'Slf4jLogger
[impl=Logger[o.a.i.i.IgniteKernal%xx-dev], quiet=true]'
[13:29:34]   ^-- To see **FULL** console log here add -DIGNITE_QUIET=false
or "-v" to ignite.{sh|bat}
[13:29:34] 



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


Extra console output from logs.

2019-01-09 Thread javadevmtl
Hi using 2.3.7 and Slf4J and a Json encoder so all our logs can print as
Json.

We setup the logger as follows...

IgniteLogger log = new Slf4jLogger();
igniteConfig.setGridLogger(log);


But we have noticed that there is duplicate output from Ignite to the
console in the desired Json and plain console output.

I remember reading somewhere there a bug related to this?





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


Single or multiple instances of Ignite and IgniteCache

2019-01-08 Thread javadevmtl
I understand that Ignite and IgniteCache are thread safe...

When I create my instance of Ignite is it better to instantiate multiple
instances of both Ignite and IgniteCache or is it better to build them
through a singleton?

So far it doesn't seem to matter and it's easier to Ingnition.getOrStart()
then to try to synchronize the creation of the grid instance. Also as an
additional note Ignite is started as client only node...



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


Re: Ignite in container enviroments?

2018-12-20 Thread javadevmtl
Ok I think I have possible solution... Based on:
https://docs.mesosphere.com/1.11/networking/DNS/

The container IP is available at:
.marathon.containerip.dcos.thisdcos.directory also
according to the docs this will return the proper I.P if in container or
bridge mode. Currently I only have working with container dc/os overlay.

So if we enable Static TCP/IP discovery and set the env var:
IGNITE_TCP_DISCOVERY_ADDRESSES to
.marathon.containerip.dcos.thisdcos.directory where
 is the name we chose for application then this works.

In fact I can now scale up and down easily.



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


Re: Ignite in container enviroments?

2018-12-20 Thread javadevmtl
Maybe allow amore general SPI that scans I.Ps based on wildcard. For example:
9.x.x.*?



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


Re: Ignite in container enviroments?

2018-12-20 Thread javadevmtl
Hi, on that note I will try the mesos framework. And a native IPFinder DC/OS
would be appreciated (not swarm).

>From what I see some Hazelcast folks have done something similar...

This uses marathon: https://github.com/phaneesh/hazelcast-marathon-discovery
This seems to just use the container I.Ps as is:
https://github.com/unterstein/dcos-hazelcast 



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


Ignite in container enviroments?

2018-12-19 Thread javadevmtl
Hi, from what I have tried and read it seems that you need host network for
docker to run Ignite and overlay networks cause issues...

I'm using DC/OS and I can technically maybe try the mesos deployment, but
not sure how new or old that framework is.

#1 the docs indicate to use:
libs\optional\ignite-mesos\ignite-mesos--jar-with-dependencies.jar
which doesn't exist in the downloaded zip of 2.7.0
#2 How do i know if it will workd with DC/OS 1.11

The next attempt that I got working is to use the Docker with DC/OS overlay
network. This works by using the TCP discovery and setting 9.x.x.x addresses
from DC/OS, the thing is with this you don't know which of the 9.x.x.x
address the container will get assigned and I don't think we want to go put
the full list of 9.x.x.x address just on the chance that the nodes will
eventually ping the right addresses.

The other option is to try to use a DC/OS load balanced VIP, but the address
returned by the VIP is not the one the container see which is in the 9.x.x.x
raange... 




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


Re: SQL Performance indexing performance on-heap vs off-heap

2016-06-21 Thread javadevmtl
Just curious. What's the status of this has it been reproduced?



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p5778.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Getting IllegalStateException: Cache has been closed or destroyed: cache

2015-10-16 Thread javadevmtl
Humm not sure... it seems consistent to one node. if I can figure it out I'll
post more info.



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Getting-IllegalStateException-Cache-has-been-closed-or-destroyed-cache-tp1631p1637.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Single key with multiple values or multi map?

2015-10-16 Thread javadevmtl
Ok thanks



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Single-key-with-multiple-values-or-multi-map-tp1618p1629.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Getting IllegalStateException: Cache has been closed or destroyed: cache

2015-10-16 Thread javadevmtl
Using 1.4.0, I have 4 nodes all running with -Xmx100g and it deems one node
keeps going down with

I have 32,000,000 total records in the cache not including the downed node.

SEVERE: Unhandled exception
java.lang.IllegalStateException: Cache has been closed or destroyed: cache
at
org.apache.ignite.internal.processors.cache.GridCacheGateway.enter(GridCacheGateway.java:161)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.onEnter(IgniteCacheProxy.java:1826)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.size(IgniteCacheProxy.java:753)
at
com.xxx.service.MyExtPrimService.lambda$start$6(MyExtPrimService.java:101)
at
com.xxx.service.MyExtPrimService$$Lambda$41/1511442228.handle(Unknown
Source)
at
io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle(VertxImpl.java:711)
at
io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle(VertxImpl.java:682)
at
io.vertx.core.impl.ContextImpl.lambda$wrapTask$15(ContextImpl.java:314)
at io.vertx.core.impl.ContextImpl$$Lambda$4/1615056168.run(Unknown
Source)
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
at java.lang.Thread.run(Thread.java:745)




--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Getting-IllegalStateException-Cache-has-been-closed-or-destroyed-cache-tp1631.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Single key with multiple values or multi map?

2015-10-15 Thread javadevmtl
Hi is there a way yo implement single key with multiple values?

Thanks



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Single-key-with-multiple-values-or-multi-map-tp1618.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Btw anyone heard of CQ engine?

2015-09-17 Thread javadevmtl
What I like about cq is the various index types it supports.

Cqengine hash index  is O(1) is the H2 hash index the same? And will ignite
eventually enable it?



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Btw-anyone-heard-of-CQ-engine-tp1421p1441.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Btw anyone heard of CQ engine?

2015-09-17 Thread javadevmtl
Ok cool. I think if we have the options as users to pick the type of index
per field it would be great. I think equality index is great for analytics
purposes. In fact I'm trying to push ignite with 9 union queries with
equality to search over millions of records if not billions.

In my particular case the data doesn't change, but I need real fast lookup
in the few milliseconds range.
So I insert the object to the cache and then query the cache, but the object
doesn't change.





--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Btw-anyone-heard-of-CQ-engine-tp1421p1445.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Can't seem to connect grid visor

2015-09-17 Thread javadevmtl
I mean I can't connect visor to the grid lol



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Can-t-seem-to-connect-grid-visor-tp1442p1448.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Is it me or primitives as properties are alot faster?

2015-09-16 Thread javadevmtl
Ok so here is more details...

Running 1.3.3 on single node single server with 32 cores

I had a MyModel as...



Switched to...



1- My SQL queries # of operations jumped from 18,000/sec to 54,000/sec.
2- Total cache size for 15 Million records went from 20GB on-heap usage to
just about 6.5GB on-heap usage.

Also if you business case allows it. Make sure you convert your models'
Strings properties into 64-bit long hash codes as much as possible
especially for indexes. I.e:
myModel.setMyField1(some64bitHashingFunction("This string value will be
stored as a 64 bit long"));
In my case I can do this because I don't care of the actual value, just
using the indexes to count stuff.









--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Is-it-me-or-primitives-as-properties-are-alot-faster-tp1404p1408.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-16 Thread javadevmtl
I think I know what it is...

I was using object types instead of primitive types. I switched all possible
properties of my model from Object types to primitives and off-heap seems to
be performing as you said about 20% slower then on heap, but there no
performance decrease so far...

Let me know if you guys find the same



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1409.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-16 Thread javadevmtl
Actually might be wrong primitives might not help...



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1411.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-16 Thread javadevmtl
Sergy, point taken, but what i'm trying to point out is the following...

In on-heap mode I can easily insert and query 0-15,000,000 without any
performance loss. And if anything even more then 15 million entries in the
cache. 

The off-heap cache though instantly within a few thousand entries it's
performance starts to degrade. 

Also for on-heap the query latency time stays consistent. So 1 entry or 15
million entries the query takes about the same time. This is not true for
the off-heap it slowly degrades.

To be clear we are talking about SQL queries and indexes.

I posted my analysis in the threads above + the github code to reproduce it.
I'm willing to even do a join.me to show you. I can reproduce it 100% of the
time.

Thanks







--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1419.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-16 Thread javadevmtl
Sorry Dimitry, switching to primitives definitely helped me save on heap
usage, but not performance. The issue I reported with off-heap is still
true, it's alot slower then on-heap and gets slower over time as the cache
grows...



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1416.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-15 Thread javadevmtl
Only 1 node and 1 physical machine so there's no network



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1394.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-11 Thread javadevmtl
Also I would like to mention this is tested on a single node with 32 cores.



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1365.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: SQL Performance indexing performance on-heap vs off-heap

2015-09-11 Thread javadevmtl
Ok I think I have managed to reproduce the issue.

Here is the github code: https://github.com/javadevmtl/ignite-for-github

The code is simple it launches a FixedThreadPool each worker executes a put
and SQL query.
The app can be launched in on-heap or off-heap mode

The average time is calculated by: total time of execution / number of
executions.

on-heap
1 Million Entries: Avg 128128 nanos
2 Million Entries: Avg 141960 nanos
3 Million Entries: Avg 149321 nanos
4 Million Entries: Avg 167495 nanos

off-heap
1 Million Entries: Avg 333946 nanos
2 Million Entries: Avg 433551 nanos
3 Million Entries: Avg 453551 nanos
4 Million Entries: Avg 546028 nanos

As you can see on-heap is allot faster and far more stable in latency time.
Off-heap seems to get slower and slower with the cache growing.

The app is run as: java -jar -Xmx16g -XX:+UseG1GC -jar
ignite-for-github-1.0-fat.jar on-heap 8 400 1000 130

Only the off-heap/on-heap flag and the number of entries are changed between
runs...





--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SQL-Performance-indexing-performance-on-heap-vs-off-heap-tp1352p1364.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Is invokeAll() considered a batch operation?

2015-09-01 Thread javadevmtl
Hi Yakov...

Each physical server node is 32 cores. When I deploy my vertx.io application
I tell it to create 32 instances of consumer.handler

Vertx.io is much like node.js reactor pattern. Each request is put into an
event loop and each instance of consume.handler will take 1 event from the
loop and process it. Vertx underneath handles all the dirty work.

So everything that runs inside consume would be as if it was 1 single
thread. Though of course ignite will work in it's on thread pool, that
doesn't change.

As far as the keys goes it's arbitrary data so it's not attached to an
identifier.

Here are some questions I try to answer

Given the person "John Smith" how many unique phone numbers does he have.
Given the phone number "555-555-" how many unique persons are associated
to it.

The other way I was trying to this was using a a data model where each data
is serialized, but secondary indexes where proving slow.










--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Is-invokeAll-considered-a-batch-operation-tp1220p1247.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Is invokeAll() considered a batch operation?

2015-09-01 Thread javadevmtl
Sorry for the confusion...

So...

- Just to be clear running 1.3.0 on 2 nodes with total of 64 cores and 256GB
of RAM
- Cache is configured as off-heap partitioned no backups with 96GB and each
node is started as -Xmx4g 
- Each app is a web server that receives json request that parses the json
and inserts the json properties as different keys (27 total).
- Requests are load balanced to both nodes.

All times quoted below includes full business logic and network time. The
json payload sent always contains the 27 properties. Only the app is
recompiled to either invokeAll() for 1 key 3 keys, 9 keys etc...

Also time remains constant from 0 records inserted all the way up to
millions (so at least this is good thing) which also means java is
sufficiently warmed up with millions of calls.

01 keys: 2ms
03 keys: 4ms
09 keys: 9ms
18 keys: 16ms
27 keys: 25ms

I was maybe hopping slightly better latency... Here is the code maybe you
have suggestions on improvements?

http://pastebin.com/pR36DwdG









--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Is-invokeAll-considered-a-batch-operation-tp1220p1238.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Query performance

2015-08-28 Thread javadevmtl
Cool I let you know about performance.



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Re-Query-performance-tp1009p1192.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Query performance

2015-08-27 Thread javadevmtl
So 2 different web requests will 
put new objects in and then run the same queries, but each web request needs
to have it's own responses back.



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Re-Query-performance-tp1009p1161.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Re: Query performance

2015-08-27 Thread javadevmtl
Anyways I think I will go down the key/value route it's so much faster.


1- In the query approach I was able to do atomic operations since each
request yielded a new entry in the cache and I never had to update. But
queries for now seem a bit slow.
2- Using key/value approach speed of put is alot faster but now I have to
worry about possibly updating same key multiple times. But entry processor
seems to do what I need.



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Re-Query-performance-tp1009p1168.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.