I think I came across a bug while working with binary objects in ignite
(version 1.6). The steps are

1. Create a cache with BinaryObject as the value. Add a field and a String
value in it.
2. Destroy the cache using ignite.destroyCache(c)
3. Create the same cache but this time add the same field with a Double
value in it.

Ignite fails with an exception

Exception in thread "main" class
org.apache.ignite.binary.BinaryObjectException: Wrong value has been set
[typeName=BinaryCacheTest_Type, fieldName=F1, fieldType=String,
assignedValueType=double]
        at
org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl.checkMetadata(BinaryObjectBuilderImpl.java:397)
        at
org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl.serializeTo(BinaryObjectBuilderImpl.java:313)
        at
org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl.build(BinaryObjectBuilderImpl.java:180)

The code to reproduce this issue is 

    private void load(Ignite ignite) {
        String cacheName = "BinaryCacheTest";
        CacheConfiguration<String, BinaryObject> cfg =
getCacheConfig(cacheName);
        IgniteCache<String, BinaryObject> igniteCache =
ignite.getOrCreateCache(cfg).withKeepBinary();
        BinaryObjectBuilder builder = ignite.binary().builder(cacheName +
"_Type");
        builder.setField("F1", 0.5d);
        igniteCache.put(UUID.randomUUID().toString(), builder.build());
    }

    private CacheConfiguration<String, BinaryObject> getCacheConfig(String
cacheName) {
        CacheConfiguration<String, BinaryObject> cfg = new
CacheConfiguration<>();
        cfg.setName(cacheName);
        return cfg;
    }



1. I wanted to understand if this is the same bug as noted here -
https://issues.apache.org/jira/browse/IGNITE-2779

2. It seems ignite starts reading the metadata in the background even before
Ignite instance is created. Where does it read the metadata from?

3. Is this metadata cache created only for ignite client nodes?

4. Would this issue be seen only when dealing with binary objects?

Thanks,
Amit.



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Ignite-client-reads-old-metadata-even-after-cache-is-destroyed-and-recreated-tp5800.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to