Ignite 为什么cacheLoadOnlyStoreAdapter在加载期间抛出NPE?

Ignite 为什么cacheLoadOnlyStoreAdapter在加载期间抛出NPE?,ignite,Ignite,我们从2.4.0切换到2.7.0。这可能是什么原因造成的?我不能排除代码中的问题,但我们不在堆栈中 22:39:36.270[mgmt-#66]错误o.a.i.i.p.task.GridTaskWorker-失败 获取来自的结果的远程作业结果策略 ComputeTask.result(..)方法(将使整个任务失败): GridJobResultImpl[job=C2[c=LoadCacheJobV2[keepBinary=false]], sib=GridJobSiblingImpl [sesI

我们从2.4.0切换到2.7.0。这可能是什么原因造成的?我不能排除代码中的问题,但我们不在堆栈中

22:39:36.270[mgmt-#66]错误o.a.i.i.p.task.GridTaskWorker-失败 获取来自的结果的远程作业结果策略 ComputeTask.result(..)方法(将使整个任务失败): GridJobResultImpl[job=C2[c=LoadCacheJobV2[keepBinary=false]], sib=GridJobSiblingImpl [sesId=6461c7cd961-d4d7605d-33c7-4941-84bc-f6eca074593f, jobId=7461c7cd961-d4d7605d-33c7-4941-84bc-f6eca074593f, 节点ID=503c524c-c53a-4f98-aadd-4c95ac2b168b,isJobDone=false], jobCtx=GridJobContextImpl [jobId=7461c7cd961-d4d7605d-33c7-4941-84bc-f6eca074593f, timeoutObj=null,attrs={}],node=TcpDiscoveryNode [id=503c524c-c53a-4f98-aadd-4c95ac2b168b,地址=127.0.0.1, 172.17.0.2],sockAddrs=[/127.0.0.1:47500/ 172.17.0.2:47500],disport=47500,order=1,intOrder=1,lastExchangeTime=1554182314332,loc=false, 版本=2.4.0#20180305-sha1:aa342270,iClient=false],ex=class o、 a.i.IgniteException:null,hasRes=true,isCancelled=false, isOccupied=true]org.apache.ignite.IgniteException:引发远程作业 用户异常(如果需要,重写或实现ComputeTask.result(..)方法 您希望对此异常进行自动故障切换)。 位于org.apache.ignite.compute.ComputeTaskAdapter.result(ComputeTaskAdapter.java:101) 位于org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1047) 位于org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1040) 位于org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6655) 位于org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:1040) 位于org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:858) 位于org.apache.ignite.internal.processors.task.GridTaskProcessor.ProcessJobExecuterResponse(GridTaskProcessor.java:1077) 位于org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1312) 位于org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555) 位于org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183) 位于org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126) 位于org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在java.lang.Thread.run(Thread.java:748)处,由以下原因引起:org.apache.ignite.IgniteException:null 位于org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1858) 位于org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:566) 位于org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6623) 位于org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:560) 位于org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:489) 位于org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 位于org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1123) 位于org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1921) ... 省略了7个公共框架 原因:org.apache.ignite.ignite异常:null 位于org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:980) 位于org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJob.localExecute(GridCacheAdapter.java:5525) 位于org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJobV2.localExecute(GridCacheAdapter.java:5569) 位于org.apache.ignite.internal.processors.cache.GridCacheAdapter$TopologyVersionAwareJob.execute(GridCacheAdapter.java:6184) 位于org.apache.ignite.compute.ComputeJobAdapter.call(ComputeJobAdapter.java:132) 位于org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1855)

。。。省略14个公共框架 原因:org.apache.ignite.IgniteCheckedException:null 位于org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7244) 位于org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.sessionEnd0(GridCacheStoreManagerAdapter.java:943) 位于org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadCache(GridCacheStoreManagerAdapter.java:549) 位于org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.localLoadCache(GridDhtCacheAdapter.java:608) 位于org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.localLoadCache(GridCacheProxyImpl.java:217) 位于org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJob.localExecute(GridCacheAdapter.java:5520)

…由于以下原因而忽略了18个公共帧:java.lang.NullPointerException:null 位于org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter$SessionData.access$900(GridCacheStoreManagerAdapter.java:964) 位于org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.sessionEnd0(GridCacheStoreManagerAdapter.java:937)

…省略了22个公共帧 22:39:36.293[池-3-线程-1] 错误c.b.a.c.c.i.cache.CeresCacheManager-加载缓存ceres-daily-2019-02-27的数据时出现问题。问题:() java.lang.NullPointerException:null 在org.apache.ignite.inter
public class XYZLoader
    extends CacheLoadOnlyStoreAdapter<XYZKey, byte[], XYZRecord>
    implements ComputeJob, Serializable {

    public XYZLoader(...) {

        reconfigureCacheLoadOnlyStoreAdapter(gridNodePhysicalThreadCount, externalParallelism);

    }

    private void reconfigureCacheLoadOnlyStoreAdapter(int gridNodePhysicalThreadCount, int externalParallelism) {
        int physicalThreadCount = ...

        this.setBatchSize(...);
        this.setBatchQueueSize(...);
        this.setThreadsCount(...);
    }

    int[] getLocalPartitions(Ignite ignite) {
        //...
        return ...;
    }

    @Override
    protected Iterator<XYZRecord> inputIterator(@Nullable Object... args) throws CacheLoaderException {
        int[] parts = getLocalPartitions(ignite);
        IgniteCluster cluster = ignite.cluster();
        ClusterNode localNode = cluster.localNode();
        int partitionCount = ignite.affinity(dataloadDescriptor.cacheName).partitions();

        Iterator<XYZRecord> reader = new XYZReader(parts, ...);

        iteratorFinishedFlag = false;

        return new Iterator<XYZRecord>() {
            // wrap inner iterator reader here..
        };
    }

    protected IgniteBiTuple<XYZKey, byte[]> parse(XYZRecord rec, @Nullable Object... args) {
        // parsing foo...
        return record;
    }

    @IgniteInstanceResource
    public void setIgnite(Ignite ignite) {
        this.ignite = ignite;
    }

    @Override // ComputeJob
    public void cancel() {
        throw new RuntimeException("Not implemented");
    }

    @Override // ComputeJob
    public Object execute() throws IgniteException {
        throw new RuntimeException("Not implemented");
    }

    @TaskSessionResource
    public void setTaskSession(ComputeTaskSession taskSes) {
        ComputeTaskSession ses = taskSes;
        logger.info(... ses);
    }
}