-1

尝试加载包含超过 40000 个条目的地图时,我遇到了 Hazelcast 问题。

如果我将条目数限制为大约 40000,Hazelcast 可以很好地加载地图。更多的结果会导致以下异常被重复抛出。我正在使用 Hazelcast MapLoader。无论结果大小如何,MapLoader.getAllKeys 都会成功执行。每批要加载的对象都会引发异常。
我正在使用带有单个节点的 Hazelcast 版本 3.7.2。非常感谢任何帮助或指导。

09-Dec-2016 12:38:19.885 WARNING [http-nio-8088-exec-3] com.hazelcast.util.FutureUtil.null Exception occurred
 java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrow(InvocationFuture.java:85)
    at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:186)
    at com.hazelcast.util.FutureUtil.executeWithDeadline(FutureUtil.java:326)
    at com.hazelcast.util.FutureUtil.waitWithDeadline(FutureUtil.java:310)
    at com.hazelcast.util.FutureUtil.waitWithDeadline(FutureUtil.java:284)
    at com.hazelcast.map.impl.proxy.MapProxySupport.waitUntilLoaded(MapProxySupport.java:583)
    at com.hazelcast.map.impl.proxy.MapProxyImpl.waitUntilLoaded(MapProxyImpl.java:82)
    at com.hazelcast.map.impl.proxy.MapProxySupport.initializeMapStoreLoad(MapProxySupport.java:225)
    at com.hazelcast.map.impl.proxy.MapProxySupport.initialize(MapProxySupport.java:217)
    at com.hazelcast.map.impl.proxy.MapProxyImpl.initialize(MapProxyImpl.java:82)
    at com.hazelcast.spi.impl.proxyservice.impl.ProxyRegistry.doCreateProxy(ProxyRegistry.java:180)
    at com.hazelcast.spi.impl.proxyservice.impl.ProxyRegistry.createProxy(ProxyRegistry.java:170)
    at com.hazelcast.spi.impl.proxyservice.impl.ProxyRegistry.getOrCreateProxy(ProxyRegistry.java:139)
    at com.hazelcast.spi.impl.proxyservice.impl.ProxyServiceImpl.getDistributedObject(ProxyServiceImpl.java:147)
    at com.hazelcast.instance.HazelcastInstanceImpl.getDistributedObject(HazelcastInstanceImpl.java:372)
    at com.hazelcast.instance.HazelcastInstanceImpl.getMap(HazelcastInstanceImpl.java:178)
    at com.hazelcast.instance.HazelcastInstanceProxy.getMap(HazelcastInstanceProxy.java:92)
    at com.df.repository.hazelcast.MapFactory.getOrCreateMap(DataFabricMapFactory.java:16)
Caused by: java.lang.NullPointerException
    at com.hazelcast.internal.partition.impl.InternalPartitionServiceImpl.getPartitionId(InternalPartitionServiceImpl.java:834)
    at com.hazelcast.map.impl.MapKeyLoaderUtil$2.apply(MapKeyLoaderUtil.java:113)
    at com.hazelcast.map.impl.MapKeyLoaderUtil$2.apply(MapKeyLoaderUtil.java:110)
    at com.hazelcast.util.IterableUtil$2.next(IterableUtil.java:60)
    at com.hazelcast.map.impl.MapKeyLoaderUtil.nextBatch(MapKeyLoaderUtil.java:86)
    at com.hazelcast.map.impl.MapKeyLoaderUtil$1.next(MapKeyLoaderUtil.java:76)
    at com.hazelcast.map.impl.MapKeyLoaderUtil$1.next(MapKeyLoaderUtil.java:65)
    at com.hazelcast.map.impl.MapKeyLoader.sendKeysInBatches(MapKeyLoader.java:309)
    at com.hazelcast.map.impl.MapKeyLoader.access$200(MapKeyLoader.java:72)
    at com.hazelcast.map.impl.MapKeyLoader$1.call(MapKeyLoader.java:192)
    at com.hazelcast.map.impl.MapKeyLoader$1.call(MapKeyLoader.java:189)
    at com.hazelcast.util.executor.CompletableFutureTask.run(CompletableFutureTask.java:67)
    at com.hazelcast.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:212)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
    at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
    at ------ submitted from ------.(Unknown Source)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:111)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrow(InvocationFuture.java:74)
    ... 58 more
4

1 回答 1

0

原来,这 80000 条记录中有一条的 ID 为空。假设该列不为空是我的错。删除不良数据后,一切似乎都运行良好。

于 2016-12-09T19:27:23.497 回答