Hello, I am trying to read some data on my java client nodes that has been
inserted on the server nodes by a python thin client.
The cache is a key-value for types int-HashSet. I can insert the data
flawlessly in python, I can read the data in the java client using a
ScanQuery, using an EntryProcessor also works (well it prints the data on
the server node) but I always get null when doing a get operation on the
client. If I insert the data from the java client, the get returns the
correct data.
I am sure I am missing something here that causes this behaviour and I am
stuck here...
*Python code:*
/ignite_client = Client(timeout=30.0)
ignite_client.connect(hosts_list)
pub_list_cache = ignite_client.get_or_create_cache('pub_list')
for key, pub_list in pub_lists.items():
pub_list_cache.put(key, (CollectionObject.HASH_SET, pub_list))
ignite_client.close()/
*Java code:*
/TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryZookeeperIpFinder ipFinder = new
TcpDiscoveryZookeeperIpFinder();
ipFinder.setZkConnectionString("localhost:12181");
spi.setIpFinder(ipFinder);
IgniteConfiguration cfg = new IgniteConfiguration()
.setDiscoverySpi(spi)
.setPeerClassLoadingEnabled(true);
Ignition.setClientMode(true);
Ignite ignite = Ignition.start(cfg);
IgniteCache<Integer, HashSet<String>> cache = ignite.cache("pub_list");
System.out.println(cache.get(idgroup));
try (QueryCursor<Cache.Entry<Integer, HashSet<String>>> qryCursor =
cache.query(new ScanQuery<>())) {
qryCursor.forEach(entry -> {
System.out.println("Key = " + entry.getKey());
entry.getValue().forEach(System.out::println);
});
}/
As said before, the get operation returns null, the scanquery prints all the
items in the cache. If i do the insert on java and then the get, I also get
the items.
Thanks in advance
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/