You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a question while using gridgain 8.8.9. I have CityKey and City objects,when i specified the CityKey.COUNTRYCODE as a affinity key, The Expiry Policy didn't work. I put one thousand pieces of data to the cache,the key is CityKey object and the value is City object ,and the expiry time is one minute.one minute later,only two pieces of data were removed, then i used cache -scan command in visor ,all the data were removed ,but if i used cache command , the data would always exist. IF I removed the @AffinityKeyMapped annotation on CityKey.COUNTRYCODE,the expiry policy could work. I did the same test with gridgain 8.8.18,and the expiry policy worked all the time. So I wonder to know if this is a bug in gridgain 8.8.9, If it’s not a bug, what’s the reason and how to solve it.
CityKey
import org.apache.ignite.cache.affinity.AffinityKeyMapped;
public class CityKey {
/** */
private int ID;
/** */
@AffinityKeyMapped
private String COUNTRYCODE;
public CityKey(int ID, String COUNTRYCODE) {
this.ID = ID;
this.COUNTRYCODE = COUNTRYCODE;
}
public CityKey() {
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
@Override
public String toString() {
return "CityKey{" +
"ID=" + ID +
", COUNTRYCODE='" + COUNTRYCODE + '\'' +
'}';
}
public String getCOUNTRYCODE() {
return COUNTRYCODE;
}
public void setCOUNTRYCODE(String COUNTRYCODE) {
this.COUNTRYCODE = COUNTRYCODE;
}
public void assssssss(String sssss){
System.out.println(sssss);
}
}
City
public class City {
private String NAME;
private String DISTRICT;
private int POPULATION;
public City(String NAME, String DISTRICT, int POPULATION) {
this.NAME = NAME;
this.DISTRICT = DISTRICT;
this.POPULATION = POPULATION;
}
public String getNAME() {
return NAME;
}
public void setNAME(String NAME) {
this.NAME = NAME;
}
public String getDISTRICT() {
return DISTRICT;
}
public void setDISTRICT(String DISTRICT) {
this.DISTRICT = DISTRICT;
}
public int getPOPULATION() {
return POPULATION;
}
public void setPOPULATION(int POPULATION) {
this.POPULATION = POPULATION;
}
@Override
public String toString() {
return "City{" +
"NAME='" + NAME + '\'' +
", DISTRICT='" + DISTRICT + '\'' +
", POPULATION=" + POPULATION +
'}';
}
}
GridGainTest
public class GridGainTest {
public static void main(String[] args) throws Exception {
ClientConfiguration clientConfiguration = new ClientConfiguration().setAddresses("127.0.0.1:10800");
IgniteClient client = Ignition.startClient(clientConfiguration);
// client.destroyCache("testcity");
ClientCacheConfiguration cacheConfiguration = new ClientCacheConfiguration().setName("testcity");
cacheConfiguration.setExpiryPolicy(new CreatedExpiryPolicy(new Duration(TimeUnit.MINUTES, 1)));
ClientCache<CityKey, City> city = client.getOrCreateCache(cacheConfiguration);
for (int i = 1000000; i < 1001000; ++i) {
City value = new City("henan", "a place", 1000000);
CityKey key = new CityKey(i, "hn" + i);
city.put(key, value);
System.out.println(i);
}
client.close();
}
}
I have a question while using gridgain 8.8.9. I have CityKey and City objects,when i specified the CityKey.COUNTRYCODE as a affinity key, The Expiry Policy didn't work. I put one thousand pieces of data to the cache,the key is CityKey object and the value is City object ,and the expiry time is one minute.one minute later,only two pieces of data were removed, then i used cache -scan command in visor ,all the data were removed ,but if i used cache command , the data would always exist. IF I removed the @AffinityKeyMapped annotation on CityKey.COUNTRYCODE,the expiry policy could work. I did the same test with gridgain 8.8.18,and the expiry policy worked all the time. So I wonder to know if this is a bug in gridgain 8.8.9, If it’s not a bug, what’s the reason and how to solve it.
CityKey
City
GridGainTest
Here is the gridgain visor output.
The text was updated successfully, but these errors were encountered: