[ 
https://issues.apache.org/jira/browse/IGNITE-13135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17132584#comment-17132584
 ] 

Aleksey Plekhanov commented on IGNITE-13135:
--------------------------------------------

[~akalashnikov], [~sergey-chugunov], but what about dynamic caches 
(testClientFindsValueByAffinityKeyDynamicCacheWithoutExtraRequest is failed to)?

For example, I have started server node without user-defined classes. 

I started client node and create cache with indexed types. Right now, binary 
types are registered locally and not proposed to the cluster. After that any 
binary type access from the server lead to error. Here is reproducer for this 
case:
{code:java}
public static void main(String[] args) {
    Ignite ignite = Ignition.start(new 
IgniteConfiguration().setClientMode(true).setDiscoverySpi(new TcpDiscoverySpi()
            .setIpFinder(new 
TcpDiscoveryVmIpFinder().setAddresses(Collections.singleton("localhost")))));

    IgniteCache cache = ignite.getOrCreateCache(new CacheConfiguration<>("test")
            .setIndexedTypes(Integer.class, MyVal.class)
    );

    cache.put(1, new MyVal());

    System.out.println(cache.query(new SqlFieldsQuery("SELECT * FROM 
MyVal")).getAll());
}

public static class MyVal {
    @QuerySqlField
    int val;
}
{code}
 Thow the error:
{noformat}
General error: "class org.apache.ignite.binary.BinaryObjectException: Cannot 
find metadata for object with compact footer (Ignite work directory might have 
been cleared after restart. Make sure that IGNITE_HOME does not point to a temp 
folder or any other folder that is destroyed/cleared on restarts) 
[typeId=-739451784, IGNITE_HOME='null']{noformat}
I think it's better to get original patch, but not fix tests.

> CacheRegisterMetadataLocallyTest.testClientFindsValueByAffinityKeyStaticCacheWithoutExtraRequest
>  failed
> -------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-13135
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13135
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Test failed with error:
> {noformat}
> java.lang.AssertionError: [] 
> Expected :2
> Actual   :0
>     at 
> org.apache.ignite.testframework.junits.JUnitAssertAware.assertEquals(JUnitAssertAware.java:119)
>     at 
> org.apache.ignite.internal.processors.cache.CacheRegisterMetadataLocallyTest.assertCustomMessages(CacheRegisterMetadataLocallyTest.java:230)
>     at 
> org.apache.ignite.internal.processors.cache.CacheRegisterMetadataLocallyTest.testClientFindsValueByAffinityKeyStaticCacheWithoutExtraRequest(CacheRegisterMetadataLocallyTest.java:153){noformat}
> After fix IGNITE-13096
> Also test fails sometimes due to ConcurrentModificationException in 
> CacheRegisterMetadataLocallyTest.assertCommunicationMessages:
> {noformat}
> class org.apache.ignite.IgniteException: null
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1162)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1045)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:755)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:714)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandMessage.toString(GridDhtPartitionDemandMessage.java:387)
>     at 
> org.apache.ignite.internal.processors.cache.CacheRegisterMetadataLocallyTest.lambda$assertCommunicationMessages$1(CacheRegisterMetadataLocallyTest.java:241)
>     at 
> java.base/java.util.concurrent.ConcurrentLinkedQueue.forEachFrom(ConcurrentLinkedQueue.java:1037)
>     at 
> java.base/java.util.concurrent.ConcurrentLinkedQueue.forEach(ConcurrentLinkedQueue.java:1054)
>     at 
> org.apache.ignite.internal.processors.cache.CacheRegisterMetadataLocallyTest.assertCommunicationMessages(CacheRegisterMetadataLocallyTest.java:240)
>     at 
> org.apache.ignite.internal.processors.cache.CacheRegisterMetadataLocallyTest.testClientFindsValueByAffinityKeyStaticCacheWithoutExtraRequest(CacheRegisterMetadataLocallyTest.java:154)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>     at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>     at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>     at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>     at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>     at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2234)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: class org.apache.ignite.IgniteException: null
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1162)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1045)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:831)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtDemandedPartitionsMap.toString(IgniteDhtDemandedPartitionsMap.java:167)
>     at java.base/java.lang.String.valueOf(String.java:2951)
>     at 
> org.apache.ignite.internal.util.GridStringBuilder.a(GridStringBuilder.java:102)
>     at 
> org.apache.ignite.internal.util.tostring.SBLimitedLength.a(SBLimitedLength.java:100)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:900)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1111)
>     ... 19 more
> Caused by: java.util.ConcurrentModificationException
>     at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1493)
>     at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1516)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.addCollection(GridToStringBuilder.java:950)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:896)
>     at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1111)
>     ... 27 more{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to