Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Hi Val, My requirement is something like this: 5 nodes, 5 customers. I will keep data of 1 on each node. Whenever a file in the range 1-1 is coming in, I will process it in node 1, so that the read time is minimal (rather than looking for data on all nodes). I hope you got my requirement. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite RPM Package Installation error: Failed dependencies: java-1.8.0 is needed by apache-ignite-2.4.0-1.noarch
Which Linux do you have? Currently packages are designed to be compatible with CentOS and RHEL. To satisfy dependencies, any rpm package that provides “java-1.8.0” should be installed as well (java-1.8.0-openjdk for instance). On Wed, 13 Jun 2018 at 01:42, bhaskar wrote: > I am trying to Install Ignite using RPG package, downloaded > apache-ignite-2.4.0-1.noarch.rpm from > https://www.apache.org/dist/ignite/rpm. > > Getting Java dependency error but JDK is already instaled, what is missing > here? > > # rpm -Uvh apache-ignite-2.4.0-1.noarch.rpm > warning: apache-ignite-2.4.0-1.noarch.rpm: Header V4 RSA/SHA1 Signature, > key > ID f67fe6f2: NOKEY > error: Failed dependencies: > java-1.8.0 is needed by apache-ignite-2.4.0-1.noarch > # echo $JAVA_HOME > /etc/jdk1.8.0_121 > > Thanks > Bhaskar > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
Ignite RPM Package Installation error: Failed dependencies: java-1.8.0 is needed by apache-ignite-2.4.0-1.noarch
I am trying to Install Ignite using RPG package, downloaded apache-ignite-2.4.0-1.noarch.rpm from https://www.apache.org/dist/ignite/rpm. Getting Java dependency error but JDK is already instaled, what is missing here? # rpm -Uvh apache-ignite-2.4.0-1.noarch.rpm warning: apache-ignite-2.4.0-1.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID f67fe6f2: NOKEY error: Failed dependencies: java-1.8.0 is needed by apache-ignite-2.4.0-1.noarch # echo $JAVA_HOME /etc/jdk1.8.0_121 Thanks Bhaskar -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: And again... Failed to get page IO instance (page content is corrupted)
Hi guys, I got similar errors in 2.4.0 First: org.apache.ignite.IgniteException: Runtime failure on bounds: [lower=null, upper=PendingRow []] --> Caused by: java.lang.IllegalStateException: Failed to get page IO instance (page content is corrupted) Then lots of: org.apache.ignite.IgniteException: Runtime failure on bounds --> Caused by: java.lang.IllegalStateException: Item not found: 3 This was reproduced when I started and stopped server nodes under the load Topology: 2 server and 2 client nodes Java: 1.8.0_162 OS: Windows Server 2012 R2 6.3 amd64 Cache config: Ignite team, can you comment on this please? How critical is the issue? What is the impact? Any workarounds? Fix planned? 2018-06-13 00:22:30.978 [exchange-worker-#42] INFO org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander - Starting rebalancing [mode=ASYNC, fromNode=bdddfe24-aab3-46fa-9452-efe933783adb, partitionsCount=787, topology=AffinityTopologyVersion [topVer=5, minorTopVer=0], updateSeq=12] 2018-06-13 00:22:31.594 [ttl-cleanup-worker-#52] ERROR org.apache.ignite.internal.processors.cache.GridCacheSharedTtlCleanupManager - Runtime error caught during grid runnable execution: GridWorker [name=ttl-cleanup-worker, igniteInstanceName=null, finished=false, hashCode=473353699, interrupted=false, runner=ttl-cleanup-worker-#52] org.apache.ignite.IgniteException: Runtime failure on bounds: [lower=null, upper=PendingRow []] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:963) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:942) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.expire(IgniteCacheOffheapManagerImpl.java:974) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.GridCacheTtlManager.expire(GridCacheTtlManager.java:197) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.GridCacheSharedTtlCleanupManager$CleanupWorker.body(GridCacheSharedTtlCleanupManager.java:129) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) [ignite-core-2.4.0.jar:2.4.0] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162] Caused by: java.lang.IllegalStateException: Failed to get page IO instance (page content is corrupted) at org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forVersion(IOVersions.java:83) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forPage(IOVersions.java:95) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:148) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:102) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.tree.PendingRow.initKey(PendingRow.java:72) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.tree.PendingEntriesTree.getRow(PendingEntriesTree.java:118) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.tree.PendingEntriesTree.getRow(PendingEntriesTree.java:31) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.fillFromBuffer(BPlusTree.java:4614) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.init(BPlusTree.java:4516) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.access$5300(BPlusTree.java:4455) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findLowerUnbounded(BPlusTree.java:919) ~[ignite-core-2.4.0.jar:2.4.0] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:951) ~[ignite-core-2.4.0.jar:2.4.0] ... 6 more 2018-06-13 00:23:35.596 [sys-stripe-6-#7] ERROR org.apache.ignite.internal.processors.cache.GridCacheIoManager - Failed to process message [senderId=1dedb701-ffd1-4937-b202-7326367a92fb, messageType=class o.a.i.i.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest] org.apache.ignite.IgniteException: Runtime failure on bounds: [lower=null, upper=PendingRow []] at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:963)
Re: Baseline topology issue when restarting server nodes one by one
I configured ConsistentId equal to hostname for each node and this issue is not reproduced anymore One more strange behaviour I noticed is that one of client nodes gets disconnected after one of server nodes goes down. I have reconnect logic in place so it comes back later but is such behaviour expected? Not sure whether it is related with consistent IDs but I didn't see it earlier... BTW, after configuring consistent IDs I see them in "control.bat --baseline" output only. Visor output and server logs still show generated IDs That looks confusing... Cluster state: active Current topology version: 7 Baseline nodes: ConsistentID=V-HP-LK-DCN01, STATE=ONLINE ConsistentID=V-HP-LK-DCN02, STATE=ONLINE 9871EAFF(@n0) | Server BBA63A1F(@n2) | Server 1DEDB701(@n1) | Client 5931AF53(@n3) | Client logs\v-hp-lk-dcn01\ignite.log:383:>>> Local node [ID=9871EAFF-73AF-4E2E-99A7-8F5DF58A3C40, order=1, clientMode=false] logs\v-hp-lk-dcn02\ignite.log:274:>>> Local node [ID=BBA63A1F-559E-461C-B7ED-B10CE3DE33CC, order=7, clientMode=false] On Tue, Jun 12, 2018 at 9:48 PM, Olexandr K wrote: > Hi, Dmitry > > server nodes start with ignite-server.xml and client nodes with > ignite-client.xml > server node hosts: v-hp-lk-dcn01, v-hp-lk-dcn02 > > > > > http://www.springframework.org/schema/beans; >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; >xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd;> > > class="org.apache.ignite.configuration.IgniteConfiguration"> > > > /> > > > > > > > > > > > > > value="s-hp-fs01\\dev$\\config\\keystore.jks" > /> > > > factory-method="getDisabledTrustManager" /> > > > > > > > value="S-hp-fs01\\dev$\\config\\log4j2.xml"/> > > > > > > > > value="auth_durable_region"/> > > value="FULL_ASYNC"/> > > > > > > > > > > > > > > > > > > > > > > > > > > value="auth_durable_region"/> > value="true"/> > > /> > > > > > > > > > > > > > > > v-hp-lk-dcn01:47500..47504 > v-hp-lk-dcn02:47500..47504 > > > > > > > > > > > > > > http://www.springframework.org/schema/beans; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd;> > > > > /> > > > > value="s-hp-fs01\\dev$\\config\\keystore.jks" /> > > > factory-method="getDisabledTrustManager" /> > > > > > > > value="S-hp-fs01\\dev$\\config\\ignite-log4j2.xml" > /> > > > > > > > > value="auth_durable_region" /> > > value="FULL_ASYNC" /> > > > > > > > > > > > > > > value="f:\\ignite-wal\\archive" > /> > > > > /> > > > > > > > > value="auth_durable_region" /> > value="true" /> > > >
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Yes, every time topology is changed, assignments will be recalculated and data will be rebalanced. By partitioning mechanisms I meant basically the same that Dmitry was describing before. Ignite automatically distributes cache entries across nodes based on built-in affinity function. This function is pluggable and you are free to create your own, but this task is usually not trivial - I would recommend to do that only if you're absolutely sure that's the only way to go. As a matter of fact, I have never seen a use case where it would be a strong requirement. I also believe that the actual partitioning algorithm (regardless of which one you use) should be abstracted form the application, meaning that the business logic should not depend on it. It sounds like you want to break this abstraction which makes me think that you might go in the wrong direction. But unfortunately I don't think I can help more since you're not ready to disclose details :) -Val -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
The requirement is an actual scenario, mate. I would have explained it if it was not a public forum. Also this is now a personal interest of mine, you have a great product, buddy. What are those "partitioning" mechanisms? -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event
And I took a thread dump by then. I could see about 10 of following WAITING. Is this looks fine ? "sys-stripe-6-#29637%null%" #46762 prio=5 os_prio=0 tid=0x7fa24402b320 nid=0x3900 waiting on condition [0x7fa22d454000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:304) at org.apache.ignite.internal.util.StripedExecutor$StripeConcurrentQueue.take(StripedExecutor.java:526) at org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:422) at java.lang.Thread.run(Thread.java:748) -Original Message- From: HEWA WIDANA GAMAGE, SUBASH [mailto:subash.hewawidanagam...@fmr.com] Sent: Tuesday, June 12, 2018 2:06 PM To: user@ignite.apache.org Subject: RE: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event I have only 3 nodes, in three separate physical boxes. Question is, can there be any possibility for creating such number of sockets on 47500, between two nodes ? I cannot reproduce the issue. Hence trying to find any theoretical possibility. -Original Message- From: dkarachentsev [mailto:dkarachent...@gridgain.com] Sent: Tuesday, June 12, 2018 11:37 AM To: user@ignite.apache.org Subject: RE: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event There is no difference on how do you start/stop your node. Node on start will examine all connections specified in address list: it takes one address and port and tries to connect to it. If not successfull, get another address and port. For instance if you have address 1.2.3.4:47500..47509, node will check 10 addresses. Does this impact you somehow? Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Baseline topology issue when restarting server nodes one by one
Hi, Dmitry server nodes start with ignite-server.xml and client nodes with ignite-client.xml server node hosts: v-hp-lk-dcn01, v-hp-lk-dcn02 http://www.springframework.org/schema/beans; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd;> v-hp-lk-dcn01:47500..47504 v-hp-lk-dcn02:47500..47504 http://www.springframework.org/schema/beans; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd;> v-hp-lk-dcn01:47500..47504 v-hp-lk-dcn02:47500..47504 On Tue, Jun 12, 2018 at 7:03 PM, dkarachentsev wrote: > Hi, > > What IgniteConfiguration do you use? Could you please share it? > > Thanks! > -Dmitry > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Hi the_palakkaran, Where this requirement is coming from? Why won't you just use partitioning mechanisms Ignite provides out of the box? -Val -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Thanks a ton man !! One last doubt. Will this overridden partition method be invoked everytime a new node is added to the cluster? (Since there can be a new partition created at that time). Similarly, when one node in the cluster is down, hence one partition is gone, then also will this be invoked everytime so that rebalancing is done? Would have tried this and checked on my own, but its hard to peek in a node for the cache entries that it has in it. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event
I have only 3 nodes, in three separate physical boxes. Question is, can there be any possibility for creating such number of sockets on 47500, between two nodes ? I cannot reproduce the issue. Hence trying to find any theoretical possibility. -Original Message- From: dkarachentsev [mailto:dkarachent...@gridgain.com] Sent: Tuesday, June 12, 2018 11:37 AM To: user@ignite.apache.org Subject: RE: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event There is no difference on how do you start/stop your node. Node on start will examine all connections specified in address list: it takes one address and port and tries to connect to it. If not successfull, get another address and port. For instance if you have address 1.2.3.4:47500..47509, node will check 10 addresses. Does this impact you somehow? Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Baseline topology issue when restarting server nodes one by one
Hi, What IgniteConfiguration do you use? Could you please share it? Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Transactional cache
Hi, Ignite keeps Tx cached values on-heap. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Transactional cache
Hi, When ignite transaction is started, it keeps the cache updates in temp cache. Does ignite keeps this temp cache in Off heap space? Thanks, Prasad
RE: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event
We are using TcpDiscoveryVmIpFinder with PARTITIONED cache with one backup. But I specifically noticed this behavior ONLY after received a NODE_FAILED event on the node, and then we restart Ignite Process in the same JVM. So is there any known/possible implications of restarting Ignite without killing the JVM ? -Original Message- From: dkarachentsev [mailto:dkarachent...@gridgain.com] Sent: Tuesday, June 12, 2018 4:58 AM To: user@ignite.apache.org Subject: Re: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event Hi, TcpDiscoveryMulticastIpFinder produces such a big number of connections. I'd recommend to switch to TcpDiscoveryVmIpFinder with static set of addresses. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Baseline topology issue when restarting server nodes one by one
Hi Ignite team, I'm faced with baseline topology issue. Here are my testing steps: 1) start 2 server (A, B) and 2 client nodes (C, D) 2) ensure baseline topology consists of 2 server nodes 3) stop server node A 4) start server node A 5) stop server node B ... oops, it cannot be started anymore ERROR: Caused by: org.apache.ignite.spi.IgniteSpiException: Node with set up BaselineTopology is not allowed to join cluster without one: c53de0cb-32de-4d9c-be08-a3da7fc35e6f .. but c53de0cb-32de-4d9c-be08-a3da7fc35e6f is actually node B it looks to be started with different ID and cannot join the cluster Is it possible to set consistentIds to be equals to host names? how to do this? Ignite version: 2.4.0 control.bat --baseline Cluster state: active Current topology version: 10 Baseline nodes: ConsistentID=c53de0cb-32de-4d9c-be08-a3da7fc35e6f, STATE=OFFLINE ConsistentID=f62816f4-2889-4e2e-85d4-515daed9cb4c, STATE=ONLINE
Getting NullPointerException during commit into cassandra, after reconnecting to ignite server
Hi I'm working on an ignite project with cassandra as persistent storage. Initially an ignite client connects to a ignite server. After connecting if ignite server is restarted, the client also reconnects to the server. But after reconnecting during committing data into cassandra I'm running into NullPointerException for some of the runs/attempts randomly. caused by: java.lang.NullPointerException at org.apache.ignite.cache.store.cassandra.persistence.PojoField.getValueFromObject(PojoField.java:167) at org.apache.ignite.cache.store.cassandra.persistence.PersistenceController.bindValues(PersistenceController.java:450) at org.apache.ignite.cache.store.cassandra.persistence.PersistenceController.bindKeyValue(PersistenceController.java:202) at org.apache.ignite.cache.store.cassandra.session.transaction.WriteMutation.bindStatement(WriteMutation.java:58) at org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.execute(CassandraSessionImpl.java:499) I'm observing the issue randomly and after going through the source code there is a suspicion that its a java serialization issue in ignite cassandra module In org.apache.ignite.cache.store.cassandra.persistence.PojoField.java, there is a PojoFieldAccessor instance variable which is transient type, so it will not be part of serialization and if PojoField object is serialized and then deserialized it would have PojoFieldAccessor as null. And in the Exception we are seeing the same, NullPointerException when getValue(..) is called on null PojoFieldAccessor in PojoField.getValueFromObject() method . So when ever PojoField object is serialized and then deserialized we might be observing the issue. Below are steps for reproducing the issue 1. start the ignite server. 2. start the reproducer client and immediately after it starts to sleep, kill and restart the ignite server. we can observe that client reconnects to the server. But during commit we sometimes observe NullPointerException . We can try attempting steps 1 and 2 till we encounter the issue. Following is a sample reproducer: ** DemoProgram * package com.IgniteDemo; import java.util.*; import javax.cache.Cache.Entry; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteException; import org.apache.ignite.Ignition; import org.apache.ignite.cache.query.QueryCursor; import org.apache.ignite.cache.query.SqlFieldsQuery; import org.apache.ignite.cache.query.SqlQuery; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; public class DemoMain { public static void main(String[] args){ String ConfigPath = "default-config.xml"; Ignite ignite = Ignition.start(ConfigPath); //sleep for 30 seconds after ignite client is started and connected to one ignite server. //During this time quickly restart the ignite server to which the client is connecting to. System.out.println("sleeping.."); Thread.sleep(3); IgniteCache cache = ignite.cache("Person"); Transaction tx = ignite.transactions().txStart(TransactionConcurrency.PESSIMISTIC, TransactionIsolation.REPEATABLE_READ, 6, 0); long dob = 77146560L; Person p1 = new Person(1,"yash",22,"124345","addr",new Date(dob)); cache.put(p1.getPK(),p1); System.out.println("cache put successful"); System.out.println("committing.."); tx.commit(); System.out.println("cache size "+ cache.size()); } *** OUTPUT *** [18:13:00] Topology snapshot [ver=2, servers=1, clients=1, CPUs=4, heap=2.8GB] sleeping.. [18:13:04] Failed to connect to any address from IP finder (will retry to join topology every 2 secs): [/127.0.0.1:47500] [18:13:05,619][SEVERE][tcp-client-disco-sock-writer-#2][TcpDiscoverySpi] Failed to send message: TcpDiscoveryClientMetricsUpdateMessage [super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=9374504f361-228d774d-1de9-47ff-9ad7-cb69400bd890, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=true]] java.net.SocketException: Socket is closed at java.net.Socket.getSendBufferSize(Unknown Source) at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.socketStream(TcpDiscoverySpi.java:1358) at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.writeToSocket(TcpDiscoverySpi.java:1470) at org.apache.ignite.spi.discovery.tcp.ClientImpl$SocketWriter.body(ClientImpl.java:1240) at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) [18:13:09] New version is available at ignite.apache.org: 2.4.0 [18:13:10,727][SEVERE][tcp-client-disco-reconnector-#5][TcpDiscoverySpi] Failed to reconnect to cluster (consider increasing 'networkTimeout' configuration
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Thanks a ton again. Still few more doubts : //It's much better if you in AffinityFunction.partition() method will calculate node according to your key. If you have key 1-1 it should go to partitions that belong to a single node. But at the same time method assignPartitions() should assign related partitions to the same node. // 1. AffinityFunction.partition() will calculate the partition where it will be gone into. How to know which node/machine is this partition in? Is there an API for this? 2. // If you have key 1-1 it should go to partitions that belong to a single node // How can I be sure about this? or how can I force this? Since the ids are unique and does not have anything in common. 3. //But at the same time method assignPartitions() should assign related partitions to the same node.// is this used for assigning partitions to nodes? when I checked, this returns something else? And finally and most importantly, this will all work(load,rebalance,failover) if I load data from a single node and other nodes won't have any data loading part. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: create two client instance in one JVM to connect two ignite
got it, thanks -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Cache operations hanging for a minute when one of server nodesgoesdown
Hi Stan, I spent half of a day but was not able to find such balanced configuration. I followed your second advice and everything looks good now "I’d suggest to use an ExecutorService to call put()/putAsync(), getting a cancelable Future from the start. " I'm doing all ignite calls via dedicated thread pool and controlling max call time via future. Calls still hangs for 5-60 seconds after server nodes up/down but this happens in cache-pool and is not affecting whole system. I'm just handling this as cache misses on application side Thanks On Mon, Jun 11, 2018 at 7:27 PM, Stanislav Lukyanov wrote: > When a node joins the cluster needs to perform partition map exchange > process. If this process takes too long, the cluster may become > unresponsive. > > Looks like this is what happened in your case. You can check how long an > exchange took by looking for “Started exchange” and “Finished exchange” in > the logs – I assume it’s around 20 seconds. > > > > Debugging hanged partition map exchange issues may be pretty tricky. > > My best guess so far is that the reduced timeouts you’ve set resulted in > failed network IO (e.g. instead of waiting for a message for 10s and > getting it on the first try, you retry every 3s until a fast enough > delivery happens – which might be the 10th or 20th attempt). > > Try changing timeouts back and see how long your exchanges take on a node > join. Perhaps some value will be low enough to detect node failures and > high enough to allow regular operations to pass. > > If that doesn’t help, please share the full logs from all nodes. > > > > Thanks, > > Stan > > > > *From: *Olexandr K > *Sent: *11 июня 2018 г. 14:24 > *To: *user@ignite.apache.org > *Subject: *Re: Cache operations hanging for a minute when one of server > nodesgoesdown > > > > Hi Stan, > > > > I tried to decrease network/failure timeouts and it worked fine when node > stopped. > > Unfortunately I got lot's of hanged calls when it started again. > > At that time all cache calls got stuck for 25-30 seconds. > > Is it expected? I thought rebalancing should occur in background and node > should join the cluster when it is 100% ready, no? > > See some log extracts below. > > > > > > > > > > > > > > > -- CACHE CALL STARTED: cache.put() > > > > 83837380032 2018-06-11 13:51:54.777 [https-jsse-nio-8080-exec-4] INFO > com.xxx.lk.backend.cache.impl.RefreshTokenCache - Store: > d289a0a3-bca6-49a4-ae9d-9568517d656e > > > > -- MANY WARNINGS BEFORE CALL COMPLETED > > > 2018-06-11 13:51:55.058 [grid-timeout-worker-#4] DEBUG > org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor - > Timeout has occurred [obj=CancelableTask > [id=fe9e57ee361-ba3899f9-a10b-4498-98e6-ed3b65dfc3f8, > endTime=1528714315053, period=3000, cancel=false, task=org.apache.ignite. > internal.processors.query.GridQueryProcessor$2@2649758c], process=true] > 2018-06-11 13:51:55.355 [grid-timeout-worker-#4] DEBUG > org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor - > Timeout has occurred [obj=CancelableTask > [id=ee9e57ee361-ba3899f9-a10b-4498-98e6-ed3b65dfc3f8, > endTime=1528714315351, period=2000, cancel=false, task=org.apache.ignite. > internal.processors.query.h2.IgniteH2Indexing$13@110ac52b], process=true] > 2018-06-11 13:51:56.339 [nio-acceptor-#5] DEBUG org.apache.ignite.spi. > communication.tcp.TcpCommunicationSpi - Balancing data [min0=0, minIdx=0, > max0=-1, maxIdx=-1] > > 2018-06-11 13:51:57.074 [exchange-worker-#18] WARN > org.apache.ignite.internal.diagnostic - Failed to wait for partition map > exchange [topVer=AffinityTopologyVersion [topVer=6, minorTopVer=0], > node=ba482197-64cc-4d84-81f7-2b58f0c66a0c]. Dumping pending objects that > might be the cause: > 2018-06-11 13:51:57.074 [exchange-worker-#18] WARN > org.apache.ignite.internal.diagnostic - Ready affinity version: > AffinityTopologyVersion [topVer=5, minorTopVer=0] > 2018-06-11 13:51:57.074 [exchange-worker-#18] WARN > org.apache.ignite.internal.diagnostic - Last exchange future: > GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent > [evtNode=TcpDiscoveryNode [id=f5fbdfd8-8df1-4222-b4e5-2d12f42dd95f, > addrs=[10.2.0.163, 127.0.0.1, 30.251.106.199], sockAddrs=[v-hp-lk-dcn01. > xxxgroup.tek.loc/10.2.0.163:47500, /127.0.0.1:47500, /30.251.106.199:47500], > discPort=47500, order=6, intOrder=5, lastExchangeTime=1528714313636, > loc=false, ver=2.4.0#20180305-sha1:aa342270, isClient=false], topVer=6, > nodeId8=ba482197, msg=Node joined: TcpDiscoveryNode > [id=f5fbdfd8-8df1-4222-b4e5-2d12f42dd95f, addrs=[10.2.0.163, 127.0.0.1, > 30.251.106.199], sockAddrs=[v-hp-lk-dcn01.xxxgroup.tek.loc/10.2.0.163: > 47500, /127.0.0.1:47500, /30.251.106.199:47500], discPort=47500, order=6, > intOrder=5, lastExchangeTime=1528714313636, loc=false, > ver=2.4.0#20180305-sha1:aa342270, isClient=false], type=NODE_JOINED, > tstamp=1528714314058], crd=TcpDiscoveryNode > [id=34dc1ff0-45ec-4fee-995b-84dde8a451cb, >
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
There are various possible ways, but use one partition per node is definitely a bad idea, because you're loosing scaling possibilities. If you have 5 partitions and 5 nodes, then 6 node will be empty. It's much better if you in AffinityFunction.partition() method will calculate node according to your key. If you have key 1-1 it should go to partitions that belong to a single node. But at the same time method assignPartitions() should assign related partitions to the same node. Or (bad solution, but easier), use 5 partitions, distribute across nodes and put related keys to proper partition. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Actually my requirement is something like the below: I have customers with customer numbers from 1 to 5, I have 5 nodes. I need my first 1 in node1, next 1 in node2 and so on. So I guess I cannot do that here. Again about the below: //AffinityFunction does two things: maps partitions to nodes and keys to partitions. If you override RendezvousAffinityFunction in that way, when partitions 1-4 will go to node 1, you need to make sure that your keys will fall into that partitions. // Does this mean a node can have multiple partitions? How to make it single partition on a single node so that if I have 5 nodes, then there shall be maximum 5 partitions? -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Normally (without @AffinityKeyMapped) Ignite will use CustomerKey hash code (not object hashCode()) to find a partition. Ignite will colsult with AffinityFunction (partition() method) and to what partition put key and with assignPartitions find concrete node that holds that partition. In other hand, if you annotate some field with @AffinityKeyMapped, value from that field would be used for mapping to partition. In your case, I suppose, you need to map a field that is common to your keys, by what you can group into one partition. For example, if you set annotation to customer name will mean that keys with the same customer name will always hit the same partition. AffinityFunction does two things: maps partitions to nodes and keys to partitions. If you override RendezvousAffinityFunction in that way, when partitions 1-4 will go to node 1, you need to make sure that your keys will fall into that partitions. You may start with annotation first (this process named affinity co-location, when some related keys put into same partition), I think that is what you need. Affinity implementation is set in CacheConfiguration.setAffinity(). Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Thanks. I still have few doubts: 1. If I have a customer id, customer number, customer name fields in CustomerKey, but only customer number is unique, I should annotate only customer number with @@AffinityKeyMapped. Is that so? 2. If so, ignite internally decides which node a key with the annotation should always go into, right? To overcome this, are you suggesting Rendezvous Affinity Function? 3. How do I get Rendezvous Affinity Function instance? How do I map it with a node, say N1 in a cluster of 3 nodes N1,N2,N3 ? Sorry to ask for spoon feeding, I am in a hurry to complete this, that is why. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Hi, Make sure that your keys are go to specific partition. Only one node could keep that partition at a time (except backups, of course). To do that, you may use @AffinityKeyMapped annotation [1]. Additionally you can implement your own AffinityFunction that will assign partitions that you need to specific node(s). You may try to extend RendezvousAffinityFunction for that. In this case you may assign number of partitions to proper node that you need. [1] https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/model/EmployeeKey.java#L33 Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite opens/close 5000 sockets in every 5mins after NODE_FAILED event
Hi, TcpDiscoveryMulticastIpFinder produces such a big number of connections. I'd recommend to switch to TcpDiscoveryVmIpFinder with static set of addresses. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
How to use Affinity Function to Map a set of Keys to a particular node in a cluster?
Hi, How can I use Affinity Function to map a set of keys (may be an id range) to a particular node? What I need is that all the time this node will be responsible for loading/handling these set of keys. Also if there is a node failure, this should be distributed to other nodes. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: create two client instance in one JVM to connect two ignite
You need to provide distinct names to the instances when starting them in the same JVM. Set IgniteConfiguration::igniteInstanceName property in both configurations. Stan From: Jeff Jiao Sent: 12 июня 2018 г. 9:58 To: user@ignite.apache.org Subject: Re: create two client instance in one JVM to connect two ignite Hi Shawn, Have you solved this problem? I'm encountering the same problem. how to start two Ignite instances in one JVM, I already have 2 separate Ignite cluster(Server) running. when I start two ignite clients in one JVM, it throws: org.apache.ignite.IgniteException: Default Ignite instance has already been started. at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:966) at org.apache.ignite.Ignition.start(Ignition.java:325) at com.pingan.pilot.ignite.client.AIgniteClient.setIgniteAddressesAndStart(AIgniteClient.java:65) at com.pingan.pilot.ignite.client.AIgniteClient.(AIgniteClient.java:37) at com.pingan.pilot.ignite.client.IgniteExcelRangeClient.(IgniteExcelRangeClient.java:27) 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.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1088) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956) Thank you~ Jeff -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: ignite server cpu is high
These threads are not actually running (i.e. are not consuming CPU) – they are blocked on the socket IO. This SO question explains why they’re RUNNABLE https://stackoverflow.com/questions/20795295/why-jstack-out-says-thread-state-is-runnable-while-socketread. > if disk IO is very slow, it will make CPU busy? Generally, no, not in modern systems. Another SO question explains this https://stackoverflow.com/questions/13596997/why-is-the-cpu-not-needed-to-service-i-o-requests. Stan From: shawn.du Sent: 12 июня 2018 г. 6:11 To: user Subject: Re: ignite server cpu is high Hi, I see most running threads are doing below code: "tcp-disco-sock-reader-#469" #82488 prio=10 os_prio=0 tid=0x7febf8308000 nid=0x3e8f runnable [0x7feb948ef000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) - locked <0x0005cee474e0> (a java.io.BufferedInputStream) at org.apache.ignite.marshaller.jdk.JdkMarshallerInputStreamWrapper.read(JdkMarshallerInputStreamWrapper.java:53) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2657) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2673) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3150) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:859) at java.io.ObjectInputStream.(ObjectInputStream.java:355) at org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.(JdkMarshallerObjectInputStream.java:39) at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:119) at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94) at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9740) at org.apache.ignite.spi.discovery.tcp.ServerImpl$SocketReader.body(ServerImpl.java:5946) at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) Our data into ignite are big(at most several Mega bytes.) binary data like below: class Data { byte[] data; } one question: if disk IO is very slow, it will make CPU busy? Thanks Shawn On 6/12/2018 00:01,Stanislav Lukyanov wrote: Sorry, but there isn’t much else to be said without additional data. If consistent usage of resources on that host is important, I suggest to setup some monitoring so that if it happens again there’ll be at least some place to start. Stan From: shawn.du Sent: 11 июня 2018 г. 16:34 To: user@ignite.apache.org Cc: user@ignite.apache.org Subject: Re: ignite server cpu is high the server is a dedicate ignite server。i am sure it is ignite consume cpu. I can’t get more info now, the cpu issue is gone as now there are very few traffic on our system. For our case,we store data into ignite every 30 seconds. If no query, the cpu should be very low. But yesterday it is a exception. Very strange. shawn.du 邮箱:shawn...@neulion.com.cn Signature is customized by Netease Mail Master On 06/11/2018 17:43, Stanislav Lukyanov wrote: How do you monitor your CPU usage? Do you know which processes consume CPU? Are you sure it is Ignite’s process? Is CPU consumed more in user space or in system space? Can you share the actual stats? >From what I see in the thread dump, there is at least some activity on this >Ignite: sys-stripe-5-#6 thread is processing an update. In any case, that thread is the only one in the JVM that is actually performing some work, so I’d assume that the CPU load comes from other processes. Thanks, Stan From: shawn.du Sent: 11 июня 2018 г. 5:38 To: user Subject: ignite server cpu is high Hi Community, My single-node ignite cluster has started since Apr 23. In past couple weeks, It worked fine. For our case, Ignite server's CPU is very low at most time with exception that there are complex/concurrent queries. event in case of query, ignite server's CPU will be high for a very short while. I think all above is normal behavior. But yesterday, ignite server's CPU keep high for a long time event we don't have query. I use jstack to dump the threads(see the attachment), We don't find any our business code. please help and thanks in advance. We use ignite 2.3.0. java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) Thanks Shawn
Re: "WAL segment tail is reached", Is it a problem ?
Hi! Ok, lets see if this helps, here is a log from when it happens with "debug" enabled, it's just at the end of ignite.log file included and looks like: 09:22:08 [main] INFO : Read checkpoint status [startMarker=c:\slask\usfnew\ignite\persistence\node00-aa432e75-26ac-4af4-b631-d8944f8e155d\cp\1528787179283-4876401a-d2e8-4a90-972e-8e88115ba586-START.bin, endMarker=c:\slask\usfnew\ignite\persistence\node00-aa432e75-26ac-4af4-b631-d8944f8e155d\cp\1528787020090-4ee11808-263a-4955-bbea-2828f7e65af1-END.bin] 09:22:08 [main] INFO : Started page memory [memoryAllocated=100,0 MiB, pages=24808, tableSize=1,9 MiB, checkpointBuffer=100,0 MiB] 09:22:08 [main] INFO : Checking memory state [lastValidPos=FileWALPointer [idx=55, fileOff=17480259, len=75832], lastMarked=FileWALPointer [idx=55, fileOff=61695692, len=342535], lastCheckpointId=4876401a-d2e8-4a90-972e-8e88115ba586] 09:22:08 [main] WARN : Ignite node stopped in the middle of checkpoint. Will restore memory state and finish checkpoint on node start. 09:22:08 [main] DEBUG: Initialized WAL cursor [start=FileWALPointer [idx=55, fileOff=17480259, len=75832], end=null, curWalSegmIdx=54] 09:22:08 [main] DEBUG: Reserved work segment [absIdx=55, pins=1] 09:22:08 [main] DEBUG: Reading next file [absIdx=55, file=c:\slask\usfnew\ignite\wal\node00-aa432e75-26ac-4af4-b631-d8944f8e155d\0005.wal] 09:22:08 [main] WARN : WAL segment tail is reached. [ Expected next state: {Index=55,Offset=62038227}, Actual state : {Index=795584623626172805,Offset=13791} ] The ignite configuration is also included (the caches are created from the application in Java but it's just a number of partitioned caches with backups=0 with native persistence, I am just running this on a single node at the moment, the node was shutdown nice and friendly and it's running in FSYNC mode, it does not happen every time the node is started, maybe every 5 or 6 times or so. Mikael Den 2018-06-11 kl. 17:26, skrev dkarachentsev: Hi Mikael, Please share your Ignite settings and logs. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >>>__ >>> / _/ ___/ |/ / _/_ __/ __/ >>> _/ // (7 7// / / / / _/ >>> /___/\___/_/|_/___/ /_/ /___/ >>> >>> ver. 2.5.0#20180523-sha1:86e110c7 >>> 2018 Copyright(C) Apache Software Foundation >>> >>> Ignite documentation: http://ignite.apache.org 09:22:07 [main] INFO : Config URL: file:/c:/slask/usfnew/ignite_config.xml 09:22:07 [main] INFO : IgniteConfiguration [igniteInstanceName=null, pubPoolSize=8, svcPoolSize=8, callbackPoolSize=8, stripedPoolSize=8, sysPoolSize=8, mgmtPoolSize=4, igfsPoolSize=8, dataStreamerPoolSize=8, utilityCachePoolSize=8, utilityCacheKeepAliveTime=6, p2pPoolSize=2, qryPoolSize=8, igniteHome=null, igniteWorkDir=c:\slask\usfnew\ignite\work, mbeanSrv=com.sun.jmx.mbeanserver.JmxMBeanServer@2cae1042, nodeId=ae6ecbf7-2b3f-4f82-98e2-a91480c88d71, marsh=org.apache.ignite.internal.binary.BinaryMarshaller@de77146, marshLocJobs=false, daemon=false, p2pEnabled=true, netTimeout=5000, sndRetryDelay=1000, sndRetryCnt=3, metricsHistSize=1, metricsUpdateFreq=2000, metricsExpTime=9223372036854775807, discoSpi=TcpDiscoverySpi [addrRslvr=null, sockTimeout=0, ackTimeout=0, marsh=null, reconCnt=10, reconDelay=2000, maxAckTimeout=60, forceSrvMode=false, clientReconnectDisabled=false, internalLsnr=null], segPlc=STOP, segResolveAttempts=2, waitForSegOnStart=true, allResolversPassReq=true, segChkFreq=1, commSpi=TcpCommunicationSpi [connectGate=null, connPlc=null, enableForcibleNodeKill=false, enableTroubleshootingLog=false, srvLsnr=org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2@50ec4bfc, locAddr=null, locHost=null, locPort=47100, locPortRange=100, shmemPort=-1, directBuf=true, directSndBuf=false, idleConnTimeout=60, connTimeout=5000, maxConnTimeout=60, reconCnt=10, sockSndBuf=32768, sockRcvBuf=32768, msgQueueLimit=0, slowClientQueueLimit=0, nioSrvr=null, shmemSrv=null, usePairedConnections=false, connectionsPerNode=1, tcpNoDelay=true, filterReachableAddresses=false, ackSndThreshold=32, unackedMsgsBufSize=0, sockWriteTimeout=2000, lsnr=null, boundTcpPort=-1, boundTcpShmemPort=-1, selectorsCnt=4, selectorSpins=0, addrRslvr=null, ctxInitLatch=java.util.concurrent.CountDownLatch@8b13d91[Count = 1], stopping=false, metricsLsnr=org.apache.ignite.spi.communication.tcp.TcpCommunicationMetricsListener@2589d787], evtSpi=org.apache.ignite.spi.eventstorage.NoopEventStorageSpi@1788cb61, colSpi=NoopCollisionSpi [], deploySpi=LocalDeploymentSpi [lsnr=null], indexingSpi=org.apache.ignite.spi.indexing.noop.NoopIndexingSpi@7558633, addrRslvr=null, clientMode=false, rebalanceThreadPoolSize=1, txCfg=org.apache.ignite.configuration.TransactionConfiguration@5657967b, cacheSanityCheckEnabled=true, discoStartupDelay=6, deployMode=SHARED, p2pMissedCacheSize=100, locHost=null, timeSrvPortBase=31100,
Re: create two client instance in one JVM to connect two ignite
Hi Shawn, Have you solved this problem? I'm encountering the same problem. how to start two Ignite instances in one JVM, I already have 2 separate Ignite cluster(Server) running. when I start two ignite clients in one JVM, it throws: org.apache.ignite.IgniteException: Default Ignite instance has already been started. at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:966) at org.apache.ignite.Ignition.start(Ignition.java:325) at com.pingan.pilot.ignite.client.AIgniteClient.setIgniteAddressesAndStart(AIgniteClient.java:65) at com.pingan.pilot.ignite.client.AIgniteClient.(AIgniteClient.java:37) at com.pingan.pilot.ignite.client.IgniteExcelRangeClient.(IgniteExcelRangeClient.java:27) 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.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1088) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956) Thank you~ Jeff -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/