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