ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ght230 <ght...@163.com>
Subject How to remove large amount of data from cache
Date Wed, 11 Jan 2017 07:02:51 GMT
I want to remove the old data from cache once a day, the amout of data is
abount 5 millions.
My main remove processes as below: 	
    	
        SqlFieldsQuery Sql = new SqlFieldsQuery(
        		  "select id, name from Table2 where data = xxxx");

        cursor = Cache.query(Sql);

		Set<Table2Key> Keys = new HashSet<>();
		Table2Key Key = new Table2Key();
		
        for (List<?> row : cursor)
    	{
			Key.setid(Long.valueOf((String) row.get(0)));
			Key.setname((String) row.get(1));
			Keys.add(Key);
    	}
		
	    for (Table2Key Key1 : Keys) {
	    	Cache.remove(Key1);
	    }
		
But about 10 minutes after the start of data removing, the Ignite cluster
will be jammed. 
I can see 
"[SEVERE][tcp-client-disco-sock-writer-#2%null%][TcpDiscoverySpi] Failed to
send message: null
java.io.IOException: Failed to get acknowledge for message:
TcpDiscoveryClientHeartbeatMessage [super=TcpDiscoveryAbstractMessage" from
log.
And I can not connect to the cluster by "ignitevisorcmd".
If the amount of data is relatively small, the above method is OK.



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/How-to-remove-large-amount-of-data-from-cache-tp10024.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Mime
View raw message