Hi!

I am not 100% sure but I think it could be related to a mistake by me, in the service init() method I had a reference to another object that returned the ignite instance, but this is not initialized until after the Ignite.start() finish so may not be initialized when services are started from inside start() (native persitence on), I changed that to using @IgniteInstanceResource instead and it looks like it starts ok now.

Mikael

Den 2018-04-02 kl. 14:31, skrev Andrey Mashenkov:
Hi,

Config looks ok.
Looks like some object still can't be unmarshalled due to some reason.
Can you share a reproducer?

On Wed, Mar 28, 2018 at 2:13 PM, Mikael <[email protected] <mailto:[email protected]>> wrote:

    Hi!

    It behaves a bit different if I try to use
    BinaryConfiguration.SetClassNames, I added the following to the
    Ignite configuration, I hope that is the correct way to do it ?

    <beans xmlns="http://www.springframework.org/schema/beans";
    <http://www.springframework.org/schema/beans>
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    <http://www.w3.org/2001/XMLSchema-instance>
           xmlns:util="http://www.springframework.org/schema/util";
    <http://www.springframework.org/schema/util>
           xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    <http://www.springframework.org/schema/beans>
    http://www.springframework.org/schema/beans/spring-beans.xsd
    <http://www.springframework.org/schema/beans/spring-beans.xsd>
    http://www.springframework.org/schema/util
    <http://www.springframework.org/schema/util>
    http://www.springframework.org/schema/util/spring-util.xsd
    <http://www.springframework.org/schema/util/spring-util.xsd>">
        <bean abstract="true" id="ignite.cfg"
    class="org.apache.ignite.configuration.IgniteConfiguration">
            <property name="binaryConfiguration">
              <bean
    class="org.apache.ignite.configuration.BinaryConfiguration">
                <property name="classNames">
                   <list>
                    
    <value>org.usf.gateway.service.RtuServiceWrapper</value>
                   </list>
                </property>
              </bean>
            </property>
            ... the rest of the configuration


    Without the above I got the same as before:

    13:01:03 [srvc-deploy-#50] ERROR: Failed to initialize service
    (service will not be deployed): RTU_1_10
    org.apache.ignite.IgniteCheckedException: Cannot find metadata for
    object with compact footer: -389806882
        at
    org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9908)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.copyAndInject(GridServiceProcessor.java:1422)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.redeploy(GridServiceProcessor.java:1343)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.processAssignment(GridServiceProcessor.java:1932)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.onSystemCacheUpdated(GridServiceProcessor.java:1595)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.access$300(GridServiceProcessor.java:124)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor$ServiceEntriesListener$1.run0(GridServiceProcessor.java:1577)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:2008)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    [?:1.8.0_144]
        at
    
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    [?:1.8.0_144]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
    Caused by: org.apache.ignite.binary.BinaryObjectException: Cannot
    find metadata for object with compact footer: -389806882
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:2008)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:284)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:183)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:162)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9902)
    [ignite-core-2.4.0.jar:2.4.0]
        ... 10 more

    When I added the above to the configuration file I get this instead:

    13:04:28 [srvc-deploy-#50] ERROR: Failed to initialize service
    (service will not be deployed): RTU_1_10
    org.apache.ignite.IgniteCheckedException: Cannot find schema for
    object with compact footer [typeId=-389806882, schemaId=1942057561]
        at
    org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9908)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.copyAndInject(GridServiceProcessor.java:1422)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.redeploy(GridServiceProcessor.java:1343)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.processAssignment(GridServiceProcessor.java:1932)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.onSystemCacheUpdated(GridServiceProcessor.java:1595)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor.access$300(GridServiceProcessor.java:124)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor$ServiceEntriesListener$1.run0(GridServiceProcessor.java:1577)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:2008)
    [ignite-core-2.4.0.jar:2.4.0]
        at
    
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    [?:1.8.0_144]
        at
    
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    [?:1.8.0_144]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
    Caused by: org.apache.ignite.binary.BinaryObjectException: Cannot
    find schema for object with compact footer [typeId=-389806882,
    schemaId=1942057561]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:2020)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:284)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:183)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:162)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
    ~[ignite-core-2.4.0.jar:2.4.0]
        at
    org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9902)
    [ignite-core-2.4.0.jar:2.4.0]
        ... 10 more


    Den 2018-03-27 kl. 14:57, skrev Andrey Mashenkov:
    Hi,

    Yes, Ignite stores configuration on disk if native persistence
    enabled.
    Would you please share a reproducer?


    On Tue, Mar 27, 2018 at 3:04 PM, Mikael
    <[email protected] <mailto:[email protected]>> wrote:

        Ok, I will have a look at it and see what I can figure out,
        it's only a test computer running so it is only a single node.

        One question though, does Ignite save information about the
        services that was running on disk when a node is stopped ? it
        looks like that otherwise it would not know about the
        services that was running before, and does this always happen
        or is it only when native persistence is enabled ?

        There is no IGNITE_HOME path set so it uses the temp\ignite
        directory I assume, this directory had the date of today.

        I deleted it and tried again and had the same thing.

        Mikael


        Den 2018-03-27 kl. 12:43, skrev Andrey Mashenkov:
        Mikael,

        Please, let us know if the issue occurs again and no work
        directories were deleted and no files can be shared between
        nodes.
        We'll investigate this. Any reproducer will be appreciated.

        On Tue, Mar 27, 2018 at 1:40 PM, Andrey Mashenkov
        <[email protected]
        <mailto:[email protected]>> wrote:

            Hi Mikael,

            Please check if ignite work directories were not cleaned
            in between.
            Also check if every node have separate work directory
            and no files can be shared.

            Otherwise, it looks like a race.
            As a workaround you can specify Classes that can be
            serialized (Service classes, Key\Value classes)
            in BinaryConfiguration.setClassNames() to force Ignite
            register classes at startup.



            On Tue, Mar 27, 2018 at 1:25 PM, Mikael
            <[email protected]
            <mailto:[email protected]>> wrote:

                Hi!

                I stopped my application without problems last week,
                today when I started it up (no changes to the code
                or anything) I got the exception below, anyone have
                a clue to what it could be ?

                It's 2.4, I have native persistence on.

                12:13:13 [srvc-deploy-#56] ERROR: Failed to
                initialize service (service will not be deployed):
                RTU_1_10
                org.apache.ignite.IgniteCheckedException: Cannot
                find metadata for object with compact footer: -389806882
                    at
                
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9908)
                [ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor.copyAndInject(GridServiceProcessor.java:1422)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor.redeploy(GridServiceProcessor.java:1343)
                [ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor.processAssignment(GridServiceProcessor.java:1932)
                [ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor.onSystemCacheUpdated(GridServiceProcessor.java:1595)
                [ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor.access$300(GridServiceProcessor.java:124)
                [ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor$ServiceEntriesListener$1.run0(GridServiceProcessor.java:1577)
                [ignite-core-2.4.0.jar:2.4.0]
                    at org.apache.ignite.internal.pro
                
<http://org.apache.ignite.internal.pro>cessors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:2008)
                [ignite-core-2.4.0.jar:2.4.0]
                    at
                
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                [?:1.8.0_144]
                    at
                
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                [?:1.8.0_144]
                    at java.lang.Thread.run(Thread.java:748)
                [?:1.8.0_144]
                Caused by:
                org.apache.ignite.binary.BinaryObjectException:
                Cannot find metadata for object with compact footer:
                -389806882
                    at
                
org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:2008)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:284)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:183)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:162)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
                ~[ignite-core-2.4.0.jar:2.4.0]
                    at
                
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9902)
                [ignite-core-2.4.0.jar:2.4.0]
                    ... 10 more




-- Best regards,
            Andrey V. Mashenkov




-- Best regards,
        Andrey V. Mashenkov




-- Best regards,
    Andrey V. Mashenkov




--
Best regards,
Andrey V. Mashenkov

Reply via email to