Search code examples
c#ignite

IgniteException: Failed to start processor: GridProcessorAdapter


Using Apache Ignite.Net 2.3.0

Deploying the application on a test server - Windows 2016

Ignite server does not start whith .NET logs errors:

2018-01-31 14:37:32.7464|WARN|This operating system has been tested less rigorously: Windows Server 2016 10.0 amd64. Our team will appreciate the feedback if you experience any problems running ignite in this environment. 
2018-01-31 14:37:33.2150|WARN|Checkpoints are disabled (to enable configure any GridCheckpointSpi implementation) 
2018-01-31 14:37:33.2643|WARN|Collision resolution is disabled (all jobs will be activated upon arrival). 
2018-01-31 14:37:34.0801|WARN|Marshaller is automatically set to o.a.i.i.binary.BinaryMarshaller (other nodes must have the same marshaller type). 
2018-01-31 14:37:34.1706|ERROR|Exception during start processors, node will be stopped and close connections 
2018-01-31 14:37:34.1706|ERROR|Got exception while starting (will rollback startup routine). 
2018-01-31 14:37:34.1706|WARN|Attempt to stop starting grid. This operation cannot be guaranteed to be successful. 
2018-01-31 14:37:34.5644|ERROR|Server start fail 
2018-01-31 14:37:45.2964|ERROR|Message: Server node failed

And internal JAVA logs errors:

Message: Failed to start processor: GridProcessorAdapter []
StackTrace:    at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* target, Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* errMsgChars, Int32 errMsgCharsLen, SByte* stackTraceChars, Int32 stackTraceCharsLen, Void* errData, Int32 errDataLen)
   at Apache.Ignite.Core.Impl.Unmanaged.IgniteJniNativeMethods.IgnitionStart(Void* ctx, SByte* cfgPath, SByte* gridName, Int32 factoryId, Int64 dataPtr)
   at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.IgnitionStart(UnmanagedContext ctx, String cfgPath, String gridName, Boolean clientMode, Boolean userLogger)
   at Apache.Ignite.Core.Ignition.Start(IgniteConfiguration cfg)
   at Core.IgniteServer.Run() in ...
Inner exception: 
Message: class org.apache.ignite.IgniteException: Failed to start processor: GridProcessorAdapter []
    at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:966)
    at org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:53)
    at org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:75)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to start processor: GridProcessorAdapter []
    at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1873)
    at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:969)
    at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1909)
    at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1652)
    at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1080)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:578)
    at org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:48)
    ... 1 more
Caused by: class org.apache.ignite.IgniteCheckedException: Reading marshaller mapping from file -1726098484.classname1 failed.
    at org.apache.ignite.internal.MarshallerMappingFileStore.restoreMappings(MarshallerMappingFileStore.java:176)
    at org.apache.ignite.internal.MarshallerContextImpl.onMarshallerProcessorStarted(MarshallerContextImpl.java:511)
    at org.apache.ignite.internal.processors.marshaller.GridMarshallerMappingProcessor.start(GridMarshallerMappingProcessor.java:114)
    at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1870)
    ... 7 more
Caused by: java.io.FileNotFoundException: C:\Windows\TEMP\ignite\work\marshaller\-1726098484.classname1 (Access is denied)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at org.apache.ignite.internal.MarshallerMappingFileStore.restoreMappings(MarshallerMappingFileStore.java:168)
    ... 10 more

I suspect that the server is running (or runned before) one more different Ignite service, so I added discovery settings (as described here):

DiscoverySpi = new TcpDiscoverySpi
{
    LocalPort = _config.Value.Ignite.LocalPort,
    LocalPortRange = _config.Value.Ignite.PortRange,
    IpFinder = new TcpDiscoveryStaticIpFinder
    {
        Endpoints = new []{ $"127.0.0.1:{_config.Value.Ignite.LocalPort}..{_config.Value.Ignite.LocalPort + _config.Value.Ignite.PortRange}" }
    }
},
CommunicationSpi = new TcpCommunicationSpi
{
    LocalPort = _config.Value.Ignite.LocalPort - 400
}

LocalPort and PortRange values readed from app config. Tried with different settings for ports, the errors is the same

Checked for this file - C:\Windows\TEMP\ignite\work\marshaller-1726098484.classname1 It exists, but contains class and namespace from different project.

Do i need to provide additional settings for internal objects settings? Or some more configurations?


Solution

  • Looks like there is Ignite work directory conflict with another node.

    Try setting IgniteConfiguration.WorkDirectory property explicitly to some directory that is known to be empty and used exclusively by that node.